public class ViewModelUtils extends Object
View
The view provides a special map named 'abstractTypeClasses' that indicates concrete classes that should be used in place of abstract property types that are encountered on the object graph. This classes takes into account that map while dealing with properties. e.g. suppose we have propertyPath 'document.name' on the form, with the type of the document property set to the interface Document. Using class introspection we would get back the interface type for document and this would not be able to get the property type for name. Using the view map, we can replace document with a concrete class and then use it to get the name property
Constructor and Description |
---|
ViewModelUtils() |
Modifier and Type | Method and Description |
---|---|
static Class<?> |
getObjectClassForMetadata(View view,
Object model,
String propertyPath) |
static Class<?> |
getParentObjectClassForMetadata(View view,
DataField field) |
static Class<?> |
getParentObjectClassForMetadata(View view,
Object model,
DataField field) |
static Object |
getParentObjectForMetadata(View view,
Object model,
DataField field) |
static String |
getParentObjectPath(DataField field) |
static Class<?> |
getPropertyTypeByClassAndView(View view,
String propertyPath)
Determines the associated type for the property within the View context
|
static String |
getStringValFromPVs(org.springframework.beans.PropertyValues propertyValues,
String propertyName)
Helper method for getting the string value of a property from a
PropertyValues |
public ViewModelUtils()
public static Class<?> getPropertyTypeByClassAndView(View view, String propertyPath)
Property path is full path to property from the View Form class. The abstract type classes map configured on the View will be consulted for any entries that match the property path. If the property path given contains a partial match to an abstract class (somewhere on path is an abstract class), the property type will be retrieved based on the given concrete class to use and the part of the path remaining. If no matching entry is found, standard reflection is used to get the type
view
- - view instance providing the context (abstract map)propertyPath
- - full path to property to retrieve type for (relative to the form class)View.getAbstractTypeClasses()
public static String getParentObjectPath(DataField field)
public static Class<?> getParentObjectClassForMetadata(View view, DataField field)
public static Class<?> getParentObjectClassForMetadata(View view, Object model, DataField field)
public static Class<?> getObjectClassForMetadata(View view, Object model, String propertyPath)
public static Object getParentObjectForMetadata(View view, Object model, DataField field)
public static String getStringValFromPVs(org.springframework.beans.PropertyValues propertyValues, String propertyName)
PropertyValues
propertyValues
- - property values instance to pull frompropertyName
- - name of property whose value should be retrievedCopyright © 2005-2012 The Kuali Foundation. All Rights Reserved.