| java.lang.Object es.udc.mypersonalizer.kernel.model.properties.AbstractProperty es.udc.mypersonalizer.kernel.model.properties.SimpleProperty
SimpleProperty | public class SimpleProperty extends AbstractProperty implements Property(Code) | | A standard leaf implementation of the Property interface.
This class stores internally the values of a property as an
Object[] , and makes use of JavaBeans property editors to do
the conversion from string values to object values and viceversa. So,
if a simple property represents an array of objects of class "C",
a JavaBeans property editor (see
PropertyEditor ) for
such a class must be registered in
PropertyEditorManager .
To make life easier, when the Java type of the object values is a
wrapper version of a primitive type (example: Integer ,
Float , and so on), the implementation will look for a
JavaBean Property editor corresponding to the primitive type (example:
int , float , and so on) instead of the wrapper
type. So, for example, if the type of the object values is
java.lang.Integer , the implementation will try to find a
a propety editor for "int", and not for "java.lang.Integer". This is done
so because JSDK provides default JavaBeans property editors for Java
primitive types, but not for their wrapper counterparts. Note also,
that JSDK also provides property editors for some other very used classes
(example: java.lang.String ), as documented in
java.beans.PropertyEditorManager . Summing up, in most cases,
the programmer will not have to provide any JavaBeans property editor.
NOTE: the objects passed to this class in the Object[]
must provide a suitable implementation of hashCode() and
equals(Object) . This is mandatory in order to handle property
comparisons properly. Two simple properties are equal if their simple names
and their Object[] are equal.
author: Fernando Bellas See Also: java.beans.PropertyEditor See Also: java.beans.PropertyEditorManager since: 1.0 |
Constructor Summary | |
public | SimpleProperty(String simpleName, Object[] values) Creates an instance of SimpleProperty from its name
and its initial values. | public | SimpleProperty(String simpleName, String[] valuesAsString, Class valueClass) Creates an instance of SimpleProperty from its name,
its initial values as strings and the type of the values. |
SimpleProperty | public SimpleProperty(String simpleName, Object[] values) throws PropertyEditorNotFoundException(Code) | | Creates an instance of SimpleProperty from its name
and its initial values. It is possible to pass an array of 0 elements
for the initial values (for example: new Integer[0] ).
Parameters: simpleName - the simple name Parameters: values - the object values throws: PropertyEditorNotFoundException - if there is no JavaBeansproperty editor for the type of the values registered in java.beans.PropertyEditorManager |
SimpleProperty | public SimpleProperty(String simpleName, String[] valuesAsString, Class valueClass) throws PropertyEditorNotFoundException, IllegalStringValuesException(Code) | | Creates an instance of SimpleProperty from its name,
its initial values as strings and the type of the values. It is
possible to pass an array of 0 elements for the initial values
(new String[0] is legal). The type of the values can not
be a primitive type (int , float , and son on).
Parameters: simpleName - the simple name Parameters: valuesAsString - the values of the property as an array ofString Parameters: valueClass - the type of the objects in valuesAsString throws: PropertyEditorNotFoundException - if there is no JavaBeansproperty editor for the type of the values registered in java.beans.PropertyEditorManager throws: IllegalStringValuesException - if one or more strings in valuesAsString are illegal throws: IllegalArgumentException - if valueClass isa primitive type (int , float , and so on) |
equals | public boolean equals(Object object)(Code) | | Returns if an instance of this class is equals to the one passed as a
parameter. This method returns true if the property values for both
properties are equal. The order of the property values must also be
the same. Returns false otherwise.
Parameters: object - the instance to be compared to. true if this instance and the one passed as a parameter areequal, false otherwise. |
getValuesAsObject | public Object[] getValuesAsObject()(Code) | | Supported. The implementation returns the values of the property as an
array of Object , with the appropriate run-time type. So,
the following line is legal:
Integer[] values = (Integer[]) property.getValuesAsObject();
where property encapsulates an array of
Integer as its values.
|
getValuesAsString | public String[] getValuesAsString()(Code) | | Supported.
|
hashCode | public int hashCode()(Code) | | Returns the hash code of an instance of this class. The resulting
hash code is the sum of property values hash codes.
the hash code |
setValuesAsObject | public void setValuesAsObject(Object[] values)(Code) | | Supported. The run-time type of the values should be the same as that
of the values currently stored (otherwise, it throws
java.lang.IllegalArgumentException ). It is possible to
pass an array of 0 elements
(for example: setValuesAsObject(new Integer[0]) ).
|
|
|