Class DelegatedInjectionValueParamProvider

  • All Implemented Interfaces:
    ValueParamProvider

    @Singleton
    class DelegatedInjectionValueParamProvider
    extends java.lang.Object
    implements ValueParamProvider
    Value factory provider that delegates the injection target lookup to the underlying injection provider.
    • Constructor Detail

      • DelegatedInjectionValueParamProvider

        public DelegatedInjectionValueParamProvider​(LazyValue<ContextInjectionResolver> resolver,
                                                    java.util.function.Function<Binding,​ForeignDescriptor> foreignDescriptorFactory)
        Injection constructor.
        Parameters:
        resolver - context injection resolver.
        foreignDescriptorFactory - function that is able to create a new foreign descriptor.
    • Method Detail

      • getValueProvider

        public java.util.function.Function<ContainerRequest,​?> getValueProvider​(Parameter parameter)
        Description copied from interface: ValueParamProvider
        Get an injected value provider for the parameter. May return null in case the parameter is not supported by the value provider.
        Specified by:
        getValueProvider in interface ValueParamProvider
        Parameters:
        parameter - parameter requesting the value provider instance.
        Returns:
        injected parameter value provider. Returns null if parameter is not supported.
      • getInjectee

        private Injectee getInjectee​(Parameter parameter)
        Creates a new object Injectee corresponding to the injecting point. The injectee contains basic information about the injection point types and ForeignDescriptor of the underlying DI provider to make delegated injection resolver as simple as possible.
        Parameters:
        parameter - jersey-like parameter corresponding to one resource-method's parameter.
        Returns:
        injectee instance as a source of the information about the injecting point.
      • createDescriptor

        private ForeignDescriptor createDescriptor​(java.lang.Class<?> clazz)
        Method is able to create form incoming class and jersey descriptor a ForeignDescriptor which is provided by underlying DI provider.
        Parameters:
        clazz - class from which jersey-like descriptor is created.
        Returns:
        foreign descriptor of the underlying DI provider.