Package gw.lang.reflect
Class FunctionTypeInfo
- java.lang.Object
-
- gw.lang.reflect.BaseFeatureInfo
-
- gw.lang.reflect.FunctionTypeInfo
-
- All Implemented Interfaces:
IAnnotatedFeatureInfo
,IAttributedFeatureInfo
,IFeatureInfo
,ITypeInfo
public class FunctionTypeInfo extends BaseFeatureInfo implements ITypeInfo
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface gw.lang.reflect.IAnnotatedFeatureInfo
IAnnotatedFeatureInfo.IAnnotationInfoHelper
-
Nested classes/interfaces inherited from interface gw.lang.reflect.IAttributedFeatureInfo
IAttributedFeatureInfo.MODIFIER
-
Nested classes/interfaces inherited from interface gw.lang.reflect.ITypeInfo
ITypeInfo.FIND
-
-
Field Summary
-
Fields inherited from interface gw.lang.reflect.IAnnotatedFeatureInfo
ANNOTATION_HELPER
-
Fields inherited from interface gw.lang.reflect.ITypeInfo
TYPEINFO_EXT
-
-
Constructor Summary
Constructors Constructor Description FunctionTypeInfo(IFunctionType functionType)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description IConstructorInfo
getCallableConstructor(IType... params)
Returns a IConstructorInfo matching the specified parameter types or null if no match is found.IMethodInfo
getCallableMethod(CharSequence strMethod, IType... params)
Returns a IMethodInfo matching the specified name and has parameter types that produce the best match.IConstructorInfo
getConstructor(IType... params)
Returns a IConstructorInfo that has parameter types that produce the best match.List<IConstructorInfo>
getConstructors()
List<IAnnotationInfo>
getDeclaredAnnotations()
String
getDescription()
A full description of this feature.String
getDisplayName()
Gets the display name of this feature.IEventInfo
getEvent(CharSequence strEvent)
Get an event mapped to the specified name.List<IEventInfo>
getEvents()
IMethodInfo
getMethod(CharSequence methodName, IType... params)
Returns a IMethodInfo matching the specified name and parameter types or null if no match is found.MethodList
getMethods()
String
getName()
Gets the programmatic name or identifier of this feature.List<? extends IPropertyInfo>
getProperties()
IPropertyInfo
getProperty(CharSequence property)
Get a property mapped to the specified name.String
getShortDescription()
boolean
isStatic()
True if this feature is static, meaning the feature is not specific to a particular instance of the feature's containing type.-
Methods inherited from class gw.lang.reflect.BaseFeatureInfo
getAnnotation, getAnnotations, getAnnotationsOfType, getContainer, getDeprecatedReason, getOwnersType, getParamTypes, getSuperAnnotatedElements, hasAnnotation, hasDeclaredAnnotation, isAbstract, isDefaultImpl, isDeprecated, isFinal, isHidden, isInternal, isInternalAPI, isPrivate, isProtected, isPublic, isReified, isScriptable, isVisible, toString
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface gw.lang.reflect.IAnnotatedFeatureInfo
getAnnotation, getAnnotations, getAnnotationsOfType, getDeprecatedReason, hasAnnotation, hasDeclaredAnnotation, isDefaultImpl, isDeprecated
-
Methods inherited from interface gw.lang.reflect.IFeatureInfo
getContainer, getLocationInfo, getOwnersType
-
-
-
-
Constructor Detail
-
FunctionTypeInfo
public FunctionTypeInfo(IFunctionType functionType)
-
-
Method Detail
-
getProperties
public List<? extends IPropertyInfo> getProperties()
- Specified by:
getProperties
in interfaceITypeInfo
- 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.
-
getProperty
public IPropertyInfo getProperty(CharSequence property)
Description copied from interface:ITypeInfo
Get a property mapped to the specified name.- Specified by:
getProperty
in interfaceITypeInfo
- Parameters:
property
- The property name.- Returns:
- An IPropertyInfo corresponding to the property name.
-
getMethods
public MethodList getMethods()
- Specified by:
getMethods
in interfaceITypeInfo
- 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.
-
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. Noteparams
must exactly match those of the target method in number, order, and type. If null,params
is treated as an empty array.
-
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 interfaceIFeatureInfo
-
getDeclaredAnnotations
public List<IAnnotationInfo> getDeclaredAnnotations()
- Specified by:
getDeclaredAnnotations
in interfaceIAnnotatedFeatureInfo
- 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.
-
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 interfaceIFeatureInfo
- Overrides:
getDisplayName
in classBaseFeatureInfo
-
getShortDescription
public String getShortDescription()
-
getDescription
public String getDescription()
Description copied from interface:IFeatureInfo
A full description of this feature.- Specified by:
getDescription
in interfaceIFeatureInfo
- Overrides:
getDescription
in classBaseFeatureInfo
-
isStatic
public boolean isStatic()
Description copied from interface:IAttributedFeatureInfo
True if this feature is static, meaning the feature is not specific to a particular instance of the feature's containing type.- Specified by:
isStatic
in interfaceIAttributedFeatureInfo
-
getConstructors
public List<IConstructorInfo> getConstructors()
- Specified by:
getConstructors
in interfaceITypeInfo
- 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.
-
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 interfaceITypeInfo
- 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.
-
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 interfaceITypeInfo
- 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 interfaceITypeInfo
- 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<IEventInfo> getEvents()
-
getEvent
public IEventInfo getEvent(CharSequence strEvent)
Description copied from interface:ITypeInfo
Get an event mapped to the specified name.
-
-