Class MasterObjectProviderImpl

    • Method Detail

      • provide

        public <T> T provide(Class<T> objectType,
                             AnnotationProvider annotationProvider,
                             ObjectLocator locator,
                             boolean required)
        Description copied from interface: MasterObjectProvider
        Provides an object based on an expression. The process of providing objects occurs within a particular context, which will typically be a service builder method, service contributor method, or service decorator method. The locator parameter provides access to the services visible to that context. When the value is required and no ObjectProvider provided a non-null value, then ObjectLocator.getService(Class, Class[]) is invoked (with no marker annotations), to provide a uniquely matching service, or throw a failure exception if no single service can be found.
        Specified by:
        provide in interface MasterObjectProvider
        Parameters:
        objectType - the expected object type
        annotationProvider - provides access to annotations (typically, the field or parameter to which an injection-related annotation is attached); annotations on the field or parameter may also be used when resolving the desired object
        locator - locator for the context in which the provider is being used
        required - if true (normal case) a value must be provided; if false then it is allowed for no ObjectProvider to provide a value, and this method may return null to indicate the failure
        Returns:
        the requested object, or null if this object provider can not supply an object