Class FeatureManagerTypeInfoBase<T extends CharSequence>

java.lang.Object
gw.lang.reflect.TypeInfoBase
gw.lang.reflect.FeatureManagerTypeInfoBase<T>
All Implemented Interfaces:
IAnnotatedFeatureInfo, IFeatureInfo, IRelativeTypeInfo, ITypeInfo

public abstract class FeatureManagerTypeInfoBase<T extends CharSequence> extends TypeInfoBase implements IRelativeTypeInfo
  • Field Details

  • Constructor Details

    • FeatureManagerTypeInfoBase

      protected FeatureManagerTypeInfoBase(IType ownersType)
  • Method Details

    • getOwnersType

      public final IType getOwnersType()
      Description copied from interface: IFeatureInfo
      Get this feature's owner's type. If this feature has no owner, this is the type of the feature itself. Typically, the only kind of feature w/o an owner is an ITypeInfo, so properties, methods, params, etc. s/b considered owned. Hence, ultimately an ITypeInfo's type will be the owner's type for any given feature.
      Specified by:
      getOwnersType in interface IFeatureInfo
    • getAccessibilityForType

      public final IRelativeTypeInfo.Accessibility getAccessibilityForType(IType whosaskin)
      Specified by:
      getAccessibilityForType in interface IRelativeTypeInfo
    • getProperties

      public final List<? extends IPropertyInfo> getProperties()
      Specified by:
      getProperties in interface ITypeInfo
      Returns:
      An unmodifiable random access list of IPropertyInfo instances. The list is sorted ascending by name. Returns an empty list if there are no properties.
    • getProperties

      public final List<IPropertyInfo> getProperties(IType whosAskin)
      Specified by:
      getProperties in interface IRelativeTypeInfo
    • getProperty

      public final IPropertyInfo getProperty(CharSequence propName)
      Description copied from interface: ITypeInfo
      Get a property mapped to the specified name.
      Specified by:
      getProperty in interface ITypeInfo
      Parameters:
      propName - The property name.
      Returns:
      An IPropertyInfo corresponding to the property name.
    • getProperty

      public final IPropertyInfo getProperty(IType whosAskin, CharSequence propName)
      Specified by:
      getProperty in interface IRelativeTypeInfo
    • getMethods

      public final MethodList getMethods()
      Specified by:
      getMethods in interface ITypeInfo
      Returns:
      An unmodifiable random access list of IMethodInfo instances. The list is sorted ascending by name. Returns an empty list if there are no methods.
    • getMethods

      public final MethodList getMethods(IType whosAskin)
      Specified by:
      getMethods in interface IRelativeTypeInfo
    • getConstructors

      public final List<? extends IConstructorInfo> getConstructors()
      Specified by:
      getConstructors in interface ITypeInfo
      Returns:
      An unmodifiable random access list of IConstructorInfo instances. The list is sorted ascending by name. Returns an empty list if there are no constructors.
    • getConstructors

      public final List<? extends IConstructorInfo> getConstructors(IType whosAskin)
      Specified by:
      getConstructors in interface IRelativeTypeInfo
    • getMethod

      public final IMethodInfo getMethod(CharSequence methodName, IType... params)
      Description copied from interface: ITypeInfo
      Returns a IMethodInfo matching the specified name and parameter types or null if no match is found.

      Note params must exactly match those of the target method in number, order, and type. If null, params is treated as an empty array.

      Specified by:
      getMethod in interface ITypeInfo
      Overrides:
      getMethod in class TypeInfoBase
      Parameters:
      methodName - The name of the method to find.
      params - Represents the exact number, order, and type of parameters in the method. A null value here is treated as an empty array.
      Returns:
      A IMethodInfo matching the name and parameter types.
    • getMethod

      public final IMethodInfo getMethod(IType whosaskin, CharSequence methodName, IType... params)
      Specified by:
      getMethod in interface IRelativeTypeInfo
    • getConstructor

      public final IConstructorInfo getConstructor(IType... params)
      Description copied from interface: ITypeInfo
      Returns a IConstructorInfo that has parameter types that produce the best match.

      If there is a tie with method names then this will throw an illegal argument exception.

      Specified by:
      getConstructor in interface ITypeInfo
      Overrides:
      getConstructor in class TypeInfoBase
      Parameters:
      params - Represents the exact number, order, and type of parameters in the constructor. A null value here is treated as an empty array.
      Returns:
      A IConstructorInfo matching the parameter types.
    • getConstructor

      public final IConstructorInfo getConstructor(IType whosAskin, IType[] params)
      Specified by:
      getConstructor in interface IRelativeTypeInfo
    • getDeclaredAnnotations

      public final List<IAnnotationInfo> getDeclaredAnnotations()
      Specified by:
      getDeclaredAnnotations in interface IAnnotatedFeatureInfo
      Returns:
      A map of AnnotationInfo objects by type representing all the annotations associated with this feature, or an empty map if there are no annotations.
    • hasAnnotation

      public final boolean hasAnnotation(IType type)
      Specified by:
      hasAnnotation in interface IAnnotatedFeatureInfo
      Overrides:
      hasAnnotation in class TypeInfoBase
      Parameters:
      type - The type of the annotation to test for existence.
      Returns:
      true If this feature has an annotation with of the given type, false otherwise
    • getDeclaredProperties

      public abstract List<? extends IPropertyInfo> getDeclaredProperties()
      Description copied from interface: IRelativeTypeInfo
      Returns a list of IPropertyInfo objects reflecting all the properties declared by the class or interface represented by this IType object. This includes public, protected, internal access, and private properties, but excludes inherited properties. The elements in the list are ordered by declaration order in the file. This method returns an empty list if the type does not contain any properties
      Specified by:
      getDeclaredProperties in interface IRelativeTypeInfo
      Returns:
      the list of IPropertyInfo objects representing all the declared properties of this class
    • getDeclaredMethods

      public abstract List<? extends IMethodInfo> getDeclaredMethods()
      Description copied from interface: IRelativeTypeInfo
      Returns a list of IMethodInfo objects reflecting all the methods declared by the class or interface represented by this IType object. This includes public, protected, internal access, and private methods, but excludes inherited methods. The elements in the list are ordered by declaration order in the file. This method returns an empty list if the type does not contain any methods
      Specified by:
      getDeclaredMethods in interface IRelativeTypeInfo
      Returns:
      the list of IMethodInfo objects representing all the declared methods of this class
    • getDeclaredConstructors

      public abstract List<? extends IConstructorInfo> getDeclaredConstructors()
      Description copied from interface: IRelativeTypeInfo
      Returns a list of IConstructorInfo objects reflecting all the constructors declared by the class represented by this IType object. This includes public, protected, internal access, and private constructors. Interfaces and arrays always return an empty list. The elements in the list are ordered by declaration order in the file. This method returns an empty list if the type does not contain any methods
      Specified by:
      getDeclaredConstructors in interface IRelativeTypeInfo
      Returns:
      the list of IConstructorInfo objects representing all the declared methods of this class
    • getCompilingClass

      public final IType getCompilingClass()
    • getCallableMethod

      public IMethodInfo getCallableMethod(CharSequence strMethod, IType... params)
      Description copied from interface: ITypeInfo
      Returns a IMethodInfo matching the specified name and has parameter types that produce the best match.

      If there is a tie with method names then this will throw an illegal argument exception.

      Specified by:
      getCallableMethod in interface ITypeInfo
      Overrides:
      getCallableMethod in class TypeInfoBase
      Parameters:
      strMethod - The name of the method to find.
      params - Represents the exact number, order, and type of parameters in the method. A null value here is treated as an empty array.
      Returns:
      A IMethodInfo matching the name and parameter types.
    • getCallableConstructor

      public IConstructorInfo getCallableConstructor(IType... params)
      Description copied from interface: ITypeInfo
      Returns a IConstructorInfo matching the specified parameter types or null if no match is found.
      Specified by:
      getCallableConstructor in interface ITypeInfo
      Overrides:
      getCallableConstructor in class TypeInfoBase
      Parameters:
      params - Represents the exact number, order, and type of parameters in the constructor. A null value here is treated as an empty array.
      Returns:
      A IConstructorInfo matching the parameter types.