Class FactoryDescriptorsImpl

  • All Implemented Interfaces:
    FactoryDescriptors

    public class FactoryDescriptorsImpl
    extends Object
    implements FactoryDescriptors
    This is an implementation of FactoryDescriptors that can be used by hk2 uses when creating descriptors that describe a Factory
    Author:
    jwells
    • Constructor Detail

      • FactoryDescriptorsImpl

        public FactoryDescriptorsImpl​(Descriptor asService,
                                      Descriptor asProvideMethod)
        This creates a descriptor pair describing a Factory and the associated Factory.provide() method
        Parameters:
        asService - A description of the factory itself as an hk2 service. May not be null. Must have DescriptorType of DescriptorType.CLASS. One of the contracts must be Factory
        asProvideMethod - A description of the provide method of the factory. Must have DescriptorType of DescriptorType.PROVIDE_METHOD. May not be null
        Throws:
        IllegalArgumentException - if the descriptors are not of the proper type
    • Method Detail

      • getFactoryAsAService

        public Descriptor getFactoryAsAService()
        Description copied from interface: FactoryDescriptors
        This returns the factory as a service itself. The advertised contracts must contain the implementation class of the factory and the Factory. The descriptor type must be DescriptorType.CLASS since this descriptor is describing the factory itself.
        Specified by:
        getFactoryAsAService in interface FactoryDescriptors
        Returns:
        The factory as a service itself
      • getFactoryAsAFactory

        public Descriptor getFactoryAsAFactory()
        Description copied from interface: FactoryDescriptors
        This returns the factory as a factory for some other type. The implementation class should contain the implementation class of the factory service. If the implementation class returned from this does not match the implementation class returned from getFactoryAsAService an error will occur. The contracts, name and qualifiers should represent the type returned from the provide method of the factory. The descriptor type must be DescriptorType.PROVIDE_METHOD since this descriptor is describing the factory as a factory, not as a service.
        Specified by:
        getFactoryAsAFactory in interface FactoryDescriptors
        Returns:
        The factory descriptor as a factory
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object