Package org.apache.tapestry5.plastic
Class PlasticUtils
- java.lang.Object
- 
- org.apache.tapestry5.plastic.PlasticUtils
 
- 
 public class PlasticUtils extends java.lang.Object Utilities for user code making use of Plastic.
- 
- 
Nested Class SummaryNested Classes Modifier and Type Class Description static classPlasticUtils.FieldInfoClass used to represent a field name and its type for implementFieldValueProvider(PlasticClass, Set).
 - 
Field SummaryFields Modifier and Type Field Description static java.lang.reflect.MethodTO_STRINGThetoString()method inherited from Object.static MethodDescriptionTO_STRING_DESCRIPTIONThe MethodDescription version oftoString().
 - 
Constructor SummaryConstructors Constructor Description PlasticUtils()
 - 
Method SummaryAll Methods Static Methods Concrete Methods Modifier and Type Method Description static java.lang.StringgetEnclosingClassName(java.lang.String className)If the given class is an inner class, returns the enclosing class.static java.lang.reflect.MethodgetMethod(java.lang.Class declaringClass, java.lang.String name, java.lang.Class... parameterTypes)Convenience for getting a method from a class.static MethodDescriptiongetMethodDescription(java.lang.Class declaringClass, java.lang.String name, java.lang.Class... parameterTypes)UsesgetMethod(Class, String, Class...)and wraps the result as aMethodDescription.static voidimplementFieldValueProvider(PlasticClass plasticClass, java.util.Set<PlasticUtils.FieldInfo> fieldInfos)Transforms this PlasticClass so it implements FieldValueProvider for the given set of field names.static voidimplementPropertyValueProvider(PlasticClass plasticClass, java.util.Set<PlasticUtils.FieldInfo> fieldInfos)Transforms this PlasticClass so it implements PropertyValueProvider for the given set of field names.static booleanisPrimitive(java.lang.String typeName)Determines if the provided type name is a primitive type.static java.lang.StringnextUID()Returns a string that can be used as part of a Java identifier and is unique for this JVM.static PlasticUtils.FieldInfotoFieldInfo(PlasticField field)Utility method for creating PlasticUtils.FieldInfo instances.static java.lang.StringtoTypeName(java.lang.Class type)Converts a type (including array and primitive types) to their type name (the way they are represented in Java source files).static java.lang.String[]toTypeNames(java.lang.Class[] types)Converts a number of types (usually, arguments to a method or constructor) into their type names.static java.lang.ClasstoWrapperType(java.lang.Class type)Gets the wrapper type for a given type (if primitive)
 
- 
- 
- 
Field Detail- 
TO_STRINGpublic static final java.lang.reflect.Method TO_STRING ThetoString()method inherited from Object.
 - 
TO_STRING_DESCRIPTIONpublic static final MethodDescription TO_STRING_DESCRIPTION The MethodDescription version oftoString().
 
- 
 - 
Constructor Detail- 
PlasticUtilspublic PlasticUtils() 
 
- 
 - 
Method Detail- 
nextUIDpublic static java.lang.String nextUID() Returns a string that can be used as part of a Java identifier and is unique for this JVM. Currently returns a hexadecimal string and initialized by System.nanoTime() (but both those details may change in the future). Note that the returned value may start with a numeric digit, so it should be used as a suffix, not prefix of a Java identifier.- Returns:
- unique id that can be used as part of a Java identifier
 
 - 
toTypeNamepublic static java.lang.String toTypeName(java.lang.Class type) Converts a type (including array and primitive types) to their type name (the way they are represented in Java source files).
 - 
toTypeNamespublic static java.lang.String[] toTypeNames(java.lang.Class[] types) Converts a number of types (usually, arguments to a method or constructor) into their type names.
 - 
toWrapperTypepublic static java.lang.Class toWrapperType(java.lang.Class type) Gets the wrapper type for a given type (if primitive)- Parameters:
- type- type to look up
- Returns:
- the input type for non-primitive type, or corresponding wrapper type (Boolean.class for boolean.class, etc.)
 
 - 
getMethodpublic static java.lang.reflect.Method getMethod(java.lang.Class declaringClass, java.lang.String name, java.lang.Class... parameterTypes) Convenience for getting a method from a class.- Parameters:
- declaringClass- containing class
- name- name of method
- parameterTypes- types of parameters
- Returns:
- the Method
- Throws:
- java.lang.RuntimeException- if any error (such as method not found)
 
 - 
getMethodDescriptionpublic static MethodDescription getMethodDescription(java.lang.Class declaringClass, java.lang.String name, java.lang.Class... parameterTypes) UsesgetMethod(Class, String, Class...)and wraps the result as aMethodDescription.- Parameters:
- declaringClass- containing class
- name- name of method
- parameterTypes- types of parameters
- Returns:
- description for method
- Throws:
- java.lang.RuntimeException- if any error (such as method not found)
 
 - 
isPrimitivepublic static boolean isPrimitive(java.lang.String typeName) Determines if the provided type name is a primitive type.- Parameters:
- typeName- Java type name, such as "boolean" or "java.lang.String"
- Returns:
- true if primitive
 
 - 
getEnclosingClassNamepublic static java.lang.String getEnclosingClassName(java.lang.String className) If the given class is an inner class, returns the enclosing class. Otherwise, returns the class name unchanged.
 - 
toFieldInfopublic static PlasticUtils.FieldInfo toFieldInfo(PlasticField field) Utility method for creating PlasticUtils.FieldInfo instances.- Parameters:
- field- a PlasticField.
- Returns:
- a corresponding PlasticUtils.FieldInfo.
- Since:
- 5.8.4
 
 - 
implementFieldValueProviderpublic static void implementFieldValueProvider(PlasticClass plasticClass, java.util.Set<PlasticUtils.FieldInfo> fieldInfos) Transforms this PlasticClass so it implements FieldValueProvider for the given set of field names. Notice attempts to read a superclass' private field will result in an IllegalAccessError.- Parameters:
- plasticClass- a PlasticClass instance.
- fieldInfos- a Set of Strings containing the field names.
- Since:
- 5.8.4
 
 - 
implementPropertyValueProviderpublic static void implementPropertyValueProvider(PlasticClass plasticClass, java.util.Set<PlasticUtils.FieldInfo> fieldInfos) Transforms this PlasticClass so it implements PropertyValueProvider for the given set of field names. The implementation will use the fields' corresponding getters instead of direct fields access.- Parameters:
- plasticClass- a PlasticClass instance.
- fieldInfos- a Set of Strings containing the filed (i.e. property) names.
- Since:
- 5.8.4
 
 
- 
 
-