Class AbstractBinder

    • Field Detail

      • internalBindings

        private java.util.List<Binding> internalBindings
      • configured

        private boolean configured
    • Constructor Detail

      • AbstractBinder

        public AbstractBinder()
    • Method Detail

      • configure

        protected abstract void configure()
        Implement to provide binding definitions using the exposed binding methods.
      • setInjectionManager

        void setInjectionManager​(InjectionManager injectionManager)
        Sets InjectionManager to be able to create instance providers using the injection manager. InjectionManager should be called before the invocation of configure(), otherwise immediate invocation Provider.get() returns
        Parameters:
        injectionManager - injection manager to create a provider.
      • createManagedInstanceProvider

        protected final <T> javax.inject.Provider<T> createManagedInstanceProvider​(java.lang.Class<T> clazz)
        Creates a new instance of Provider which is able to retrieve a managed instance registered in InjectionManager. If InjectionManager is null at the time of calling Provider.get() then IllegalStateException is thrown.
        Type Parameters:
        T - type of the managed instance returned using provider.
        Parameters:
        clazz - class of managed instance.
        Returns:
        provider with instance of managed instance.
      • bind

        public <T> ClassBinding<T> bind​(java.lang.Class<T> serviceType)
        Start building a new class-based service binding.

        Does NOT bind the service type itself as a contract type.

        Type Parameters:
        T - service type.
        Parameters:
        serviceType - service class.
        Returns:
        initialized binding builder.
      • bind

        public Binding bind​(Binding binding)
        Binds the provided binding and return the same instance.
        Parameters:
        binding - binding.
        Returns:
        the same provided binding.
      • bindAsContract

        public <T> ClassBinding<T> bindAsContract​(java.lang.Class<T> serviceType)
        Start building a new class-based service binding.

        Binds the service type itself as a contract type.

        Type Parameters:
        T - service type.
        Parameters:
        serviceType - service class.
        Returns:
        initialized binding builder.
      • bindAsContract

        public <T> ClassBinding<T> bindAsContract​(javax.ws.rs.core.GenericType<T> serviceType)
        Start building a new generic type-based service binding.

        Binds the generic service type itself as a contract type.

        Type Parameters:
        T - service type.
        Parameters:
        serviceType - generic service type information.
        Returns:
        initialized binding builder.
      • bindAsContract

        public ClassBinding<java.lang.Object> bindAsContract​(java.lang.reflect.Type serviceType)
        Start building a new generic type-based service binding.

        Binds the generic service type itself as a contract type.

        Parameters:
        serviceType - generic service type information.
        Returns:
        initialized binding builder.
      • bind

        public <T> InstanceBinding<T> bind​(T service)
        Start building a new instance-based service binding. The binding is naturally considered to be a singleton-scoped.

        Does NOT bind the service type itself as a contract type.

        Type Parameters:
        T - service type.
        Parameters:
        service - service instance.
        Returns:
        initialized binding builder.
      • bindFactory

        public <T> SupplierClassBinding<T> bindFactory​(java.lang.Class<? extends java.util.function.Supplier<T>> supplierType,
                                                       java.lang.Class<? extends java.lang.annotation.Annotation> supplierScope)
        Start building a new supplier class-based service binding.
        Type Parameters:
        T - service type.
        Parameters:
        supplierType - service supplier class.
        supplierScope - factory scope.
        Returns:
        initialized binding builder.
      • bindFactory

        public <T> SupplierClassBinding<T> bindFactory​(java.lang.Class<? extends java.util.function.Supplier<T>> supplierType)
        Start building a new supplier class-based service binding.

        The supplier itself is bound in a per-lookup scope.

        Type Parameters:
        T - service type.
        Parameters:
        supplierType - service supplier class.
        Returns:
        initialized binding builder.
      • bindFactory

        public <T> SupplierInstanceBinding<T> bindFactory​(java.util.function.Supplier<T> factory)
        Start building a new supplier instance-based service binding.
        Type Parameters:
        T - service type.
        Parameters:
        factory - service instance.
        Returns:
        initialized binding builder.
      • bind

        public <T extends InjectionResolverInjectionResolverBinding<T> bind​(T resolver)
        Start building a new injection resolver binding. The injection resolver is naturally considered to be a singleton-scoped.

        There is no need to provide any additional information. Other method on Binding will be ignored.

        Type Parameters:
        T - type of the injection resolver.
        Parameters:
        resolver - injection resolver instance.
        Returns:
        initialized binding builder.
      • install

        public final void install​(AbstractBinder... binders)
        Adds all binding definitions from the binders to the binding configuration.
        Parameters:
        binders - binders whose binding definitions should be configured.
      • getBindings

        public java.util.Collection<Binding> getBindings()
        Description copied from interface: Binder
        Gets a collection of descriptors registered in this jersey binder.
        Specified by:
        getBindings in interface Binder
        Returns:
        collection of descriptors.
      • invokeConfigure

        private void invokeConfigure()