It seems that the propertyType parameter of the 
ObjectProvider.provideObject(..):
 
    /**
     * Invoked by the translator to provide the value.
     * @param contributingModule the module which contributed to the locator
     * @param propertyType the expected type of property
     * @param locator a string that should be meaningful to this provider. It 
is the suffix of
     * the original input value provided to the translator, after the selector 
prefix
     * (used to choose a provider) was stripped.
     * @param location the location of the input value (from which the locator 
was extracted). Used
     * for error reporting, or to set the location of created objects.
     */
    public Object provideObject(
        Module contributingModule,
        Class propertyType,           <-------- here
        String locator,
        Location location);

always is Object.class. I thought that this parameter represents the expected 
type, which is
the one given within the constructor or setter signature. I just tested it with 
constructors injection!
The ServiceImplementationFactory.createCoreServiceImplementation(..) does 
provide the
expected type.
 
UseCase:
I am writing an object provider which itself asks another registry (not 
Hivemind) for a service. And
this requires its type because it creates a dynamic proxy which requires the 
expected type.
 
Can you please verify this!
 
Stefan
email: [EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to