Class InjecteeImpl

  • All Implemented Interfaces:
    Injectee

    public class InjecteeImpl
    extends Object
    implements Injectee
    This is a writeable version of the Injectee interface. Using this implementation may make your code more portable, as new methods added to the interface will be reflected in this class.
    Author:
    jwells
    • Constructor Detail

      • InjecteeImpl

        public InjecteeImpl()
        None of the fields of the returned object will be set
      • InjecteeImpl

        public InjecteeImpl​(Type requiredType)
        Only the requiredType field will be set
        Parameters:
        requiredType - The possibly null required type
      • InjecteeImpl

        public InjecteeImpl​(Injectee copyMe)
        This is the copy constructor, which will copy all the values from the incoming Injectee
        Parameters:
        copyMe - The non-null Injectee to copy the values from
    • Method Detail

      • getRequiredType

        public Type getRequiredType()
        Description copied from interface: Injectee
        This is the required type of the injectee. The object that is injected into this point must be type-safe with regards to this type
        Specified by:
        getRequiredType in interface Injectee
        Returns:
        The type that this injectee is expecting. Any object injected into this injection point must be type-safe with regards to this type
      • setRequiredType

        public void setRequiredType​(Type requiredType)
        Sets the required type of this Injectee
        Parameters:
        requiredType - The required type of this injectee
      • getRequiredQualifiers

        public Set<Annotation> getRequiredQualifiers()
        Description copied from interface: Injectee
        This is the set of required qualifiers for this injectee. All of these qualifiers must be present on the implementation class of the object that is injected into this injectee. Note that the fields of the annotation must also match
        Specified by:
        getRequiredQualifiers in interface Injectee
        Returns:
        Will not return null, but may return an empty set. The set of all qualifiers that must match.
      • setRequiredQualifiers

        public void setRequiredQualifiers​(Set<Annotation> requiredQualifiers)
        Sets the required qualifiers for this Injectee
        Parameters:
        requiredQualifiers - The non-null set of required qualifiers
      • getPosition

        public int getPosition()
        Description copied from interface: Injectee
        If this Injectee is a constructor or method parameter, this will return the index of the parameter. If this Injectee is a field, this will return -1
        Specified by:
        getPosition in interface Injectee
        Returns:
        the position of the parameter, or -1 if this is a field
      • setPosition

        public void setPosition​(int position)
        Sets the position of this Injectee. The position represents the index of the parameter, or -1 if this Injectee is describing a field.
        Parameters:
        position - The index position of the parameter, or -1 if descrbing a field
      • getInjecteeClass

        public Class<?> getInjecteeClass()
        Description copied from interface: Injectee
        Returns the parent class for this injectee. This is the class of the object that will be injected into. This field may return null if this is from a service lookup
        Specified by:
        getInjecteeClass in interface Injectee
        Returns:
        The class of the object that will be injected into
      • getParent

        public AnnotatedElement getParent()
        Description copied from interface: Injectee
        If this Injectee is in a constructor this will return the constructor being injected into. If this Injectee is in a method this will return the method being injected into. If this injectee represents a field, this will return the field being injected into. This injectee may be neither in which case this will return null
        Specified by:
        getParent in interface Injectee
        Returns:
        The parent of the injectee, which may be null
      • setParent

        public void setParent​(AnnotatedElement parent)
        This setter sets both the parent and the injecteeClass fields.
        Parameters:
        parent - The parent (Field, Constructor or Method) which is the parent of this Injectee
      • isOptional

        public boolean isOptional()
        Description copied from interface: Injectee
        This method returns true if this injection point is annotated with VOptional. In this case if there is no definition for the injection point in the system it is allowable for the system to merely return null
        Specified by:
        isOptional in interface Injectee
        Returns:
        true if the injection point is annotated with VOptional, false otherwise
      • setOptional

        public void setOptional​(boolean optional)
        Sets whether or not this Injectee should be considered optional
        Parameters:
        optional - true if this injectee is optional, false if required
      • isSelf

        public boolean isSelf()
        Description copied from interface: Injectee
        This method returns true if this injection point is annotated with VSelf. In this case the required type must have a raw class of ActiveDescriptor, isOptional must be false and the set of required qualifiers must be empty
        Specified by:
        isSelf in interface Injectee
        Returns:
        true if the injection point is annotated with VSelf, false otherwise
      • setSelf

        public void setSelf​(boolean self)
        Sets whether or not this is a self-referencing injectee
        Parameters:
        self - true if this is a self-referencing Injectee, and false otherwise
      • getUnqualified

        public Unqualified getUnqualified()
        Description copied from interface: Injectee
        This method returns the Unqualified annotation if it is present on the injection point. This can be used to determine what qualifiers should NOT be given to the injection point.
        Specified by:
        getUnqualified in interface Injectee
        Returns:
        The Unqualified annotation on the injection point, or null if there is no Unqualified annotation on the injection point
      • setUnqualified

        public void setUnqualified​(Unqualified unqualified)
        Sets the unqualified annotation to be associated with this injectee
        Parameters:
        unqualified - The unqualified annotation to be associated with this injectee
      • getInjecteeDescriptor

        public ActiveDescriptor<?> getInjecteeDescriptor()
        Description copied from interface: Injectee
        This returns the ActiveDescriptor of the injectee if it is known
        Specified by:
        getInjecteeDescriptor in interface Injectee
        Returns:
        The ActiveDescriptor of the injectee, or null if the parent is not known
      • setInjecteeDescriptor

        public void setInjecteeDescriptor​(ActiveDescriptor<?> injecteeDescriptor)
        Sets the descriptor to be associated with this injectee
        Parameters:
        injecteeDescriptor - The injectee to be associated with this injectee