|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcom.itmill.toolkit.data.util.MethodProperty
public class MethodProperty
Proxy class for creating Properties from pairs of getter and setter methods of a Bean property. An instance of this class can be thought as having been attached to a field of an object. Accessing the object through the Property interface directly manipulates the underlying field.
It's assumed that the return value returned by the getter method is assignable to the type of the property, and the setter method parameter is assignable to that value.
A valid getter method must always be available, but instance of this class
can be constructed with a null setter method in which case the
resulting MethodProperty is read-only.
| Nested Class Summary | |
|---|---|
class |
MethodProperty.MethodException
Exception object that signals that there were problems
calling or finding the specified getter or setter methods of the
property. |
| Nested classes/interfaces inherited from interface com.itmill.toolkit.data.Property |
|---|
Property.ConversionException, Property.Editor, Property.ReadOnlyException, Property.ReadOnlyStatusChangeListener, Property.ReadOnlyStatusChangeNotifier, Property.ValueChangeEvent, Property.ValueChangeListener, Property.ValueChangeNotifier, Property.Viewer |
| Constructor Summary | |
|---|---|
MethodProperty(Class type,
Object instance,
Method getMethod,
Method setMethod)
Creates a new instance of MethodProperty with the getter
and setter methods. |
|
MethodProperty(Class type,
Object instance,
Method getMethod,
Method setMethod,
Object[] getArgs,
Object[] setArgs,
int setArgumentIndex)
Creates a new instance of MethodProperty from the getter
and setter methods, and argument lists. |
|
MethodProperty(Class type,
Object instance,
String getMethodName,
String setMethodName)
Creates a new instance of MethodProperty from named getter
and setter methods. |
|
MethodProperty(Class type,
Object instance,
String getMethodName,
String setMethodName,
Object[] getArgs,
Object[] setArgs,
int setArgumentIndex)
Creates a new instance of MethodProperty from named getter
and setter methods and argument lists. |
|
MethodProperty(Object instance,
String beanPropertyName)
Creates a new instance of MethodProperty from a named bean
property. |
|
| Method Summary | |
|---|---|
void |
addListener(Property.ReadOnlyStatusChangeListener listener)
Registers a new read-only status change listener for this Property. |
Class |
getType()
Returns the type of the Property. |
Object |
getValue()
Gets the value stored in the Property. |
boolean |
isReadOnly()
Tests if the object is in read-only mode. |
void |
removeListener(Property.ReadOnlyStatusChangeListener listener)
Removes a previously registered read-only status change listener. |
void |
setArguments(Object[] getArgs,
Object[] setArgs,
int setArgumentIndex)
Sets the setter method and getter method argument lists. |
void |
setReadOnly(boolean newStatus)
Sets the Property's read-only mode to the specified status. |
void |
setValue(Object newValue)
Sets the value of the property. |
String |
toString()
Returns the value of the MethodProperty in human readable
textual format. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Constructor Detail |
|---|
public MethodProperty(Object instance,
String beanPropertyName)
Creates a new instance of MethodProperty from a named bean
property. This constructor takes an object and the name of a bean
property and initializes itself with the accessor methods for the
property.
The getter method of a MethodProperty instantiated with
this constructor will be called with no arguments, and the setter method
with only the new value as the sole argument.
If the setter method is unavailable, the resulting
MethodProperty will be read-only, otherwise it will be
read-write.
Method names are constucted from the bean property by adding get/is/are/set prefix and capitalising the first character in the name of the given bean property.
instance - the object that includes the property.beanPropertyName - the name of the property to bind to.
public MethodProperty(Class type,
Object instance,
String getMethodName,
String setMethodName)
Creates a new instance of MethodProperty from named getter
and setter methods. The getter method of a MethodProperty
instantiated with this constructor will be called with no arguments, and
the setter method with only the new value as the sole argument.
If the setter method is null, the resulting
MethodProperty will be read-only, otherwise it will be
read-write.
type - the type of the property.instance - the object that includes the property.getMethodName - the name of the getter method.setMethodName - the name of the setter method.
public MethodProperty(Class type,
Object instance,
Method getMethod,
Method setMethod)
Creates a new instance of MethodProperty with the getter
and setter methods. The getter method of a MethodProperty
instantiated with this constructor will be called with no arguments, and
the setter method with only the new value as the sole argument.
If the setter method is null, the resulting
MethodProperty will be read-only, otherwise it will be
read-write.
type - the type of the property.instance - the object that includes the property.getMethod - the getter method.setMethod - the setter method.
public MethodProperty(Class type,
Object instance,
String getMethodName,
String setMethodName,
Object[] getArgs,
Object[] setArgs,
int setArgumentIndex)
Creates a new instance of MethodProperty from named getter
and setter methods and argument lists. The getter method of a
MethodProperty instantiated with this constructor will be
called with the getArgs as arguments. The setArgs will be used as the
arguments for the setter method, though the argument indexed by the
setArgumentIndex will be replaced with the argument passed to the
setValue(Object newValue) method.
For example, if the setArgs contains A,
B and C, and setArgumentIndex =
1,
the call methodProperty.setValue(X) would result in the
setter method to be called with the parameter set of
{A, X, C}
type - the type of the property.instance - the object that includes the property.getMethodName - the name of the getter method.setMethodName - the name of the setter method.getArgs - the fixed argument list to be passed to the getter method.setArgs - the fixed argument list to be passed to the setter method.setArgumentIndex - the index of the argument in setArgs to be
replaced with newValue when
setValue(Object newValue) is called.
public MethodProperty(Class type,
Object instance,
Method getMethod,
Method setMethod,
Object[] getArgs,
Object[] setArgs,
int setArgumentIndex)
Creates a new instance of MethodProperty from the getter
and setter methods, and argument lists.
This constructor behaves exactly like
MethodProperty(Class type, Object instance, String getMethodName,
String setMethodName, Object [] getArgs, Object [] setArgs, int
setArgumentIndex) except that instead of names of the getter and setter
methods this constructor is given the actual methods themselves.
type - the type of the property.instance - the object that includes the property.getMethod - the getter method.setMethod - the setter method.getArgs - the fixed argument list to be passed to the getter method.setArgs - the fixed argument list to be passed to the setter method.setArgumentIndex - the index of the argument in setArgs to be
replaced with newValue when
setValue(Object newValue) is called.| Method Detail |
|---|
public final Class getType()
getValue and
setValue must be compatible with this type: one must be
able to safely cast the value returned from getValue to
the given type and pass any variable assignable to this type as an
argument to setValue.
getType in interface Propertypublic boolean isReadOnly()
setValue will throw ReadOnlyException and
will not modify the value of the Property.
isReadOnly in interface Propertytrue if the object is in read-only mode,
false if it's notpublic Object getValue()
getValue in interface Propertypublic String toString()
MethodProperty in human readable
textual format. The return value should be assignable to the
setValue method if the Property is not in read-only mode.
toString in interface PropertytoString in class Object
public void setArguments(Object[] getArgs,
Object[] setArgs,
int setArgumentIndex)
Sets the setter method and getter method argument lists.
getArgs - the fixed argument list to be passed to the getter method.setArgs - the fixed argument list to be passed to the setter method.setArgumentIndex - the index of the argument in setArgs to be
replaced with newValue when
setValue(Object newValue) is called.
public void setValue(Object newValue)
throws Property.ReadOnlyException,
Property.ConversionException
Strings if either String is directly
assignable to property type, or the type class contains a string
constructor.
setValue in interface PropertynewValue - the New value of the property.
Property.ReadOnlyException - if the object is in
read-only mode.
Property.ConversionException - if newValue
can't be converted into the Property's native type directly
or through String.
Property.ReadOnlyException - if the object is in read-only mode
Property.ConversionException - if newValue can't be converted into the Property's native
type directly or through StringinvokeSetMethod(Object)public void setReadOnly(boolean newStatus)
setReadOnly in interface PropertynewStatus - the new read-only status of the Property.public void addListener(Property.ReadOnlyStatusChangeListener listener)
listener - the new Listener to be registered.public void removeListener(Property.ReadOnlyStatusChangeListener listener)
listener - the listener to be removed.
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||