Class DictionaryObjectAttributeValueReader
java.lang.Object
org.kuali.rice.krad.datadictionary.validation.BaseAttributeValueReader
org.kuali.rice.krad.datadictionary.validation.DictionaryObjectAttributeValueReader
- All Implemented Interfaces:
AttributeValueReader
This class allows a dictionary object to expose information about its fields / attributes, including the values of
those fields, with some guidance from the DataDictionaryEntry object.
- Author:
- Kuali Rice Team (rice.collab@kuali.org)
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected org.springframework.beans.BeanWrapperprotected DataDictionaryEntryprotected ObjectFields inherited from class org.kuali.rice.krad.datadictionary.validation.BaseAttributeValueReader
attributeName, entryName -
Constructor Summary
ConstructorsConstructorDescriptionDictionaryObjectAttributeValueReader(Object object, String entryName, DataDictionaryEntry entry) DictionaryObjectAttributeValueReader(Object object, String entryName, DataDictionaryEntry entry, String attributePath) -
Method Summary
Modifier and TypeMethodDescriptionclone()overridesObject.clone()getDefinition(String attrName) provides access to the constrainable attribute definition of a specific attribute namegets a list of all constrainable dictionary metadata definitions for attributes or fields encapsulated by this objectgetEntry()gets the dictionary metadata associated with an object (its "entry" in the dictionary)looks up a label for a specific attribute namegets the underlying object itself (not the field/attribute value, but the object)getPath()gets the path, which is a string representation of specifically which attribute (at some depth) is being accessedClass<?> gets the type of the attribute specified - A Java class<X> XgetValue()looks up the attribute value that is currently being processed<X> Xlooks up any attribute value by name for the object being processedbooleanbooleanbooleanIndicates whether the configured attribute name is readable for the objectMethods inherited from class org.kuali.rice.krad.datadictionary.validation.BaseAttributeValueReader
getAttributeName, getCleanSearchableValues, getEntryName, setAttributeName
-
Field Details
-
object
-
entry
-
beanWrapper
protected org.springframework.beans.BeanWrapper beanWrapper
-
-
Constructor Details
-
DictionaryObjectAttributeValueReader
public DictionaryObjectAttributeValueReader(Object object, String entryName, DataDictionaryEntry entry) -
DictionaryObjectAttributeValueReader
public DictionaryObjectAttributeValueReader(Object object, String entryName, DataDictionaryEntry entry, String attributePath)
-
-
Method Details
-
getDefinition
Description copied from interface:AttributeValueReaderprovides access to the constrainable attribute definition of a specific attribute nameIf the value of the metadata associated with the object field does not implement constrainable, or if no metadata is associated with this object field, then null should be returned.
- Parameters:
attrName- - the name of the attribute/field whose metadata is being requested- Returns:
- dictionary metadata object implementing some constrainable capability
-
getDefinitions
Description copied from interface:AttributeValueReadergets a list of all constrainable dictionary metadata definitions for attributes or fields encapsulated by this object- Returns:
- a list of constrainable definitions
-
getEntry
Description copied from interface:AttributeValueReadergets the dictionary metadata associated with an object (its "entry" in the dictionary)It can also be constrainable, in which case the object value itself can be validated against one or more constraints. If the specific entry for the dictionary object encapsulated by this reader is not constrainable, or if no entry exists for this dictionary object, or no dictionary object is being encapsulted, then null should be returned.
- Returns:
- the constrainable dictionary entry metadata for this object, or null
-
getLabel
Description copied from interface:AttributeValueReaderlooks up a label for a specific attribute name- Parameters:
attrName- - the name of attribute- Returns:
- some descriptive label that can be exposed to the end user for error messages
-
getObject
Description copied from interface:AttributeValueReadergets the underlying object itself (not the field/attribute value, but the object)- Returns:
- the object that is being encapsulated by this reader, or null if no object is being encapsulated
-
getPath
Description copied from interface:AttributeValueReadergets the path, which is a string representation of specifically which attribute (at some depth) is being accessedFor example, on a person object there might be the following field path: joe.home.mailingAddress.state
- Returns:
- the string representation of the attribute identifier currently being processed
-
getType
Description copied from interface:AttributeValueReadergets the type of the attribute specified - A Java class- Parameters:
attrName- - the name of attribute- Returns:
- the type of the attribute referenced by the passed name, or null if no attribute exists of that name
-
isReadable
public boolean isReadable()Description copied from interface:AttributeValueReaderIndicates whether the configured attribute name is readable for the object- Returns:
- boolean if attribute is readable, false if not
-
getValue
Description copied from interface:AttributeValueReaderlooks up the attribute value that is currently being processed- Type Parameters:
X- - the type of the attribute- Returns:
- the attribute's value if found, null if not
- Throws:
AttributeValidationException
-
getValue
Description copied from interface:AttributeValueReaderlooks up any attribute value by name for the object being processed- Type Parameters:
X- - the type of the attribute- Parameters:
attrName- - the name of attribute whose value is looked up- Returns:
- - the attribute's value if found, null if not
- Throws:
AttributeValidationException
-
isParentAttributeNull
public boolean isParentAttributeNull()- Returns:
- false if parent attribute exists and is not null, otherwise returns true.
-
isNestedAttribute
public boolean isNestedAttribute() -
clone
Description copied from interface:AttributeValueReaderoverridesObject.clone()- Specified by:
clonein interfaceAttributeValueReader- Specified by:
clonein classBaseAttributeValueReader- Returns:
- a cloned
AttributeValueReader
-