Package gw.lang.reflect
Class BeanInfoUtil
- java.lang.Object
-
- gw.lang.reflect.BeanInfoUtil
-
public class BeanInfoUtil extends Object
-
-
Field Summary
Fields Modifier and Type Field Description protected static Class[]EMPTY_CLASS_ARRAYTo save allocations.protected static String[]EMPTY_STRING_ARRAYstatic StringSCRIPT_VISIBILITY_MODIFIERSA FeatureDescriptor value indicating its visibility to Gosu
-
Constructor Summary
Constructors Constructor Description BeanInfoUtil()
-
Method Summary
All Methods Static Methods Concrete Methods Deprecated Methods Modifier and Type Method Description protected static MethodDescriptor_buildMethodDescriptor(Class actionClass, String methodName, String[] parameterNames, Class[] parameterTypes, Class[] actualParameterTypes)Builds a method descriptor with no explicit visibility.protected static TypedPropertyDescriptor_buildPropertyDescriptor(String propertyName, Class beanClass, String getterName, String setterName)Builds a property descriptor with no explicit visibility.static MethodDescriptorbuildHiddenMethodDescriptor(Class actionClass, String methodName, String[] parameterNames, Class[] parameterTypes)Completely hides a method from scripting.static MethodDescriptorbuildMethodDescriptor(Class actionClass, String methodName, String[] parameterNames, Class[] parameterTypes)Deprecated.To properly expose a method for scripting call buildScriptableMethodDescriptor() or a derivative of that.static MethodDescriptorbuildScriptableDeprecatedMethodDescriptor(Class actionClass, String methodName, String[] parameterNames, Class[] parameterTypes)Builds a deprecated method descriptor that is exposed for scripting everywhere.static MethodDescriptorbuildScriptableMethodDescriptor(Class actionClass, String methodName, String[] parameterNames, Class[] parameterTypes)Builds a method descriptor that is exposed for scripting everywhere.static MethodDescriptorbuildScriptableMethodDescriptorNoArgs(Class actionClass, String methodName)Builds a no-arg method descriptor that is exposed for scripting everywhere.static TypedPropertyDescriptorbuildScriptablePropertyDescriptor(String propertyName, Class beanClass, String getterName, String setterName)Builds a scriptable property descriptor with the given information.static IScriptabilityModifiergetVisibilityModifier(FeatureDescriptor descriptor)static booleanisDeprecated(FeatureDescriptor descriptor)static booleanisScriptable(FeatureDescriptor descriptor)static booleanisVisible(FeatureDescriptor descriptor, IScriptabilityModifier constraint)Determine if the descriptor is visible given a visibility constraint.static FeatureDescriptormakeScriptable(FeatureDescriptor descriptor)Expose the method/property descriptor for scripting.static FeatureDescriptormakeScriptableDeprecated(FeatureDescriptor descriptor)Expose the method/property descriptor for scripting, but mark it deprecated.static voidsetVisibilityModifier(FeatureDescriptor descriptor, IScriptabilityModifier modifier)
-
-
-
Field Detail
-
SCRIPT_VISIBILITY_MODIFIERS
public static final String SCRIPT_VISIBILITY_MODIFIERS
A FeatureDescriptor value indicating its visibility to Gosu- See Also:
- Constant Field Values
-
EMPTY_CLASS_ARRAY
protected static final Class[] EMPTY_CLASS_ARRAY
To save allocations.
-
EMPTY_STRING_ARRAY
protected static final String[] EMPTY_STRING_ARRAY
-
-
Method Detail
-
buildScriptableMethodDescriptorNoArgs
public static MethodDescriptor buildScriptableMethodDescriptorNoArgs(Class actionClass, String methodName)
Builds a no-arg method descriptor that is exposed for scripting everywhere.
-
buildScriptableMethodDescriptor
public static MethodDescriptor buildScriptableMethodDescriptor(Class actionClass, String methodName, String[] parameterNames, Class[] parameterTypes)
Builds a method descriptor that is exposed for scripting everywhere.
-
buildScriptableDeprecatedMethodDescriptor
public static MethodDescriptor buildScriptableDeprecatedMethodDescriptor(Class actionClass, String methodName, String[] parameterNames, Class[] parameterTypes)
Builds a deprecated method descriptor that is exposed for scripting everywhere.
-
buildHiddenMethodDescriptor
public static MethodDescriptor buildHiddenMethodDescriptor(Class actionClass, String methodName, String[] parameterNames, Class[] parameterTypes)
Completely hides a method from scripting.
-
buildMethodDescriptor
public static MethodDescriptor buildMethodDescriptor(Class actionClass, String methodName, String[] parameterNames, Class[] parameterTypes)
Deprecated.To properly expose a method for scripting call buildScriptableMethodDescriptor() or a derivative of that.
-
buildScriptablePropertyDescriptor
public static TypedPropertyDescriptor buildScriptablePropertyDescriptor(String propertyName, Class beanClass, String getterName, String setterName)
Builds a scriptable property descriptor with the given information.- Parameters:
propertyName- name of the propertybeanClass- class of the bean on which the property is foundgetterName- name of the getter method, or null if write-onlypropertyName- name of the setter method, or null if read-only
-
makeScriptable
public static FeatureDescriptor makeScriptable(FeatureDescriptor descriptor)
Expose the method/property descriptor for scripting.- Parameters:
descriptor- A method or property descriptor.- Returns:
- The same descriptor.
-
makeScriptableDeprecated
public static FeatureDescriptor makeScriptableDeprecated(FeatureDescriptor descriptor)
Expose the method/property descriptor for scripting, but mark it deprecated.- Parameters:
descriptor- A method or property descriptor.- Returns:
- The same descriptor.
-
isScriptable
public static boolean isScriptable(FeatureDescriptor descriptor)
- Returns:
- True if the descriptor is exposed for scripting.
-
isDeprecated
public static boolean isDeprecated(FeatureDescriptor descriptor)
- Returns:
- True if the descriptor is deprecated.
-
isVisible
public static boolean isVisible(FeatureDescriptor descriptor, IScriptabilityModifier constraint)
Determine if the descriptor is visible given a visibility constraint.
-
getVisibilityModifier
public static IScriptabilityModifier getVisibilityModifier(FeatureDescriptor descriptor)
- Parameters:
descriptor- A method or property descriptor.- Returns:
- The descriptor's associated visibility modifier.
-
setVisibilityModifier
public static void setVisibilityModifier(FeatureDescriptor descriptor, IScriptabilityModifier modifier)
- Parameters:
descriptor- A method or property descriptor.modifier- The descriptor's associated visibility modifier.
-
_buildMethodDescriptor
protected static MethodDescriptor _buildMethodDescriptor(Class actionClass, String methodName, String[] parameterNames, Class[] parameterTypes, Class[] actualParameterTypes)
Builds a method descriptor with no explicit visibility.
-
_buildPropertyDescriptor
protected static TypedPropertyDescriptor _buildPropertyDescriptor(String propertyName, Class beanClass, String getterName, String setterName)
Builds a property descriptor with no explicit visibility.
-
-