Class TypeInfoBase

java.lang.Object
gw.lang.reflect.TypeInfoBase
All Implemented Interfaces:
IAnnotatedFeatureInfo, IFeatureInfo, ITypeInfo
Direct Known Subclasses:
DefaultArrayTypeInfo, FeatureManagerTypeInfoBase

public abstract class TypeInfoBase extends Object implements ITypeInfo
  • Constructor Details

    • TypeInfoBase

      public TypeInfoBase()
  • Method Details

    • getMethod

      public 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
      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.
    • getCallableMethod

      public IMethodInfo getCallableMethod(CharSequence method, 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
      Parameters:
      method - 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.
    • getConstructor

      public 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
      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.
    • 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
      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.
    • getEvents

      public List<? extends IEventInfo> getEvents()
      Specified by:
      getEvents in interface ITypeInfo
      Returns:
      An unmodifiable random access list of IEventInfo instances. The list is sorted ascending by name. Returns an empty list if ther are no events.
    • getEvent

      public IEventInfo getEvent(CharSequence event)
      Description copied from interface: ITypeInfo
      Get an event mapped to the specified name.
      Specified by:
      getEvent in interface ITypeInfo
      Parameters:
      event - The event name.
      Returns:
      An IEventInfo corresponding to the event name.
    • getAnnotations

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

      public List<IAnnotationInfo> getAnnotationsOfType(IType type)
      Specified by:
      getAnnotationsOfType in interface IAnnotatedFeatureInfo
      Returns:
      A list of AnnotationInfo objects having the specified type.
    • getAnnotation

      public IAnnotationInfo getAnnotation(IType type)
      Specified by:
      getAnnotation in interface IAnnotatedFeatureInfo
      Returns:
      An AnnotationInfo object having the specified type, or null if no such AnnotationInfo exists.
    • hasAnnotation

      public boolean hasAnnotation(IType type)
      Specified by:
      hasAnnotation in interface IAnnotatedFeatureInfo
      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
    • hasDeclaredAnnotation

      public boolean hasDeclaredAnnotation(IType type)
      Specified by:
      hasDeclaredAnnotation in interface IAnnotatedFeatureInfo
      Parameters:
      type - The type of the annotation to test for existence.
      Returns:
      true If this feature has a declared annotation of the given type, false otherwise
    • isDeprecated

      public boolean isDeprecated()
      Specified by:
      isDeprecated in interface IAnnotatedFeatureInfo
      Returns:
      True if this feature is deprecated.
    • getDeprecatedReason

      public String getDeprecatedReason()
      Specified by:
      getDeprecatedReason in interface IAnnotatedFeatureInfo
      Returns:
      The deprecation message, or null if the feature is not deprecated.
    • isDefaultImpl

      public boolean isDefaultImpl()
      Specified by:
      isDefaultImpl in interface IAnnotatedFeatureInfo
      Returns:
      True if this feature is the default implementation e.g., default interface method
    • getContainer

      public IFeatureInfo getContainer()
      Description copied from interface: IFeatureInfo
      Get this feature's containing feature. May be null.
      Specified by:
      getContainer in interface IFeatureInfo
    • getName

      public String getName()
      Description copied from interface: IFeatureInfo
      Gets the programmatic name or identifier of this feature. Note this name should follow Java identifier naming conventions (alpha-num and underscores, but can't start with a digit).
      Specified by:
      getName in interface IFeatureInfo
    • getDisplayName

      public String getDisplayName()
      Description copied from interface: IFeatureInfo
      Gets the display name of this feature. There is no guarantee this display name is localized.
      Specified by:
      getDisplayName in interface IFeatureInfo
    • getDescription

      public String getDescription()
      Description copied from interface: IFeatureInfo
      A full description of this feature.
      Specified by:
      getDescription in interface IFeatureInfo