org.apache.commons.beanutils

Class DynaProperty

public class DynaProperty extends Object implements Serializable

The metadata describing an individual property of a DynaBean.

The meta contains an optional content type property (DynaProperty) for use by mapped and iterated properties. A mapped or iterated property may choose to indicate the type it expects. The DynaBean implementation may choose to enforce this type on its entries. Alternatively, an implementatin may choose to ignore this property. All keys for maps must be of type String so no meta data is needed for map keys.

Version: $Revision: 926529 $ $Date: 2010-03-23 11:44:24 +0000 (Tue, 23 Mar 2010) $

Author: Craig R. McClanahan

Field Summary
protected ClasscontentType
The (optional) type of content elements for indexed DynaProperty
protected Stringname
Property name
protected Classtype
Property type
Constructor Summary
DynaProperty(String name)
Construct a property that accepts any data type.
DynaProperty(String name, Class type)
Construct a property of the specified data type.
DynaProperty(String name, Class type, Class contentType)
Construct an indexed or mapped DynaProperty that supports (pseudo)-introspection of the content type.
Method Summary
booleanequals(Object obj)
Checks this instance against the specified Object for equality.
ClassgetContentType()
Gets the (optional) type of the indexed content for DynaProperty's that support this feature.
StringgetName()
Get the name of this property.
ClassgetType()

Gets the Java class representing the data type of the underlying property values.

There are issues with serializing primitive class types on certain JVM versions (including java 1.3).

inthashCode()
booleanisIndexed()
Does this property represent an indexed value (ie an array or List)?
booleanisMapped()
Does this property represent a mapped value (ie a Map)?
StringtoString()
Return a String representation of this Object.

Field Detail

contentType

protected transient Class contentType
The (optional) type of content elements for indexed DynaProperty

name

protected String name
Property name

type

protected transient Class type
Property type

Constructor Detail

DynaProperty

public DynaProperty(String name)
Construct a property that accepts any data type.

Parameters: name Name of the property being described

DynaProperty

public DynaProperty(String name, Class type)
Construct a property of the specified data type.

Parameters: name Name of the property being described type Java class representing the property data type

DynaProperty

public DynaProperty(String name, Class type, Class contentType)
Construct an indexed or mapped DynaProperty that supports (pseudo)-introspection of the content type.

Parameters: name Name of the property being described type Java class representing the property data type contentType Class that all indexed or mapped elements are instances of

Method Detail

equals

public boolean equals(Object obj)
Checks this instance against the specified Object for equality. Overrides the default refererence test for equality provided by java.lang.Object#equals(Object)

Parameters: obj The object to compare to

Returns: true if object is a dyna property with the same name type and content type, otherwise false

Since: 1.8.0

getContentType

public Class getContentType()
Gets the (optional) type of the indexed content for DynaProperty's that support this feature.

There are issues with serializing primitive class types on certain JVM versions (including java 1.3). Therefore, this field must not be serialized using the standard methods.

Returns: the Class for the content type if this is an indexed DynaProperty and this feature is supported. Otherwise null.

getName

public String getName()
Get the name of this property.

Returns: the name of the property

getType

public Class getType()

Gets the Java class representing the data type of the underlying property values.

There are issues with serializing primitive class types on certain JVM versions (including java 1.3). Therefore, this field must not be serialized using the standard methods.

Please leave this field as transient

Returns: the property type

hashCode

public int hashCode()

Returns: the hashcode for this dyna property

Since: 1.8.0

See Also: java.lang.Object#hashCode

isIndexed

public boolean isIndexed()
Does this property represent an indexed value (ie an array or List)?

Returns: true if the property is indexed (i.e. is a List or array), otherwise false

isMapped

public boolean isMapped()
Does this property represent a mapped value (ie a Map)?

Returns: true if the property is a Map otherwise false

toString

public String toString()
Return a String representation of this Object.

Returns: a String representation of the dyna property

Copyright © 2000-2010 Apache Software Foundation. All Rights Reserved.