Property
public abstract class Property
extends Object
java.lang.Object | |
↳ | android.util.Property<T, V> |
A property is an abstraction that can be used to represent a set(java.lang.Object, java.lang.Object)
or get(java.lang.Object)
methods can be implemented in terms of the private fields of the host object, or via "setter" and "getter" methods or by some other mechanism, as appropriate.
Summary
Public constructors | |
---|---|
Property(Class<V> type, String name) A constructor that takes an identifying name and |
Public methods | |
---|---|
abstract V | get(T object) Returns the current value that this property represents on the given |
String | getName() Returns the name for this property. |
Class<V> | getType() Returns the type for this property. |
boolean | isReadOnly() Returns true if the |
static <T, V> Property<T, V> | of(Class<T> hostType, Class<V> valueType, String name) This factory method creates and returns a Property given the
If either of the get/is method alternatives is found on the class, but an appropriate |
void | set(T object, V value) Sets the value on |
Inherited methods | |
---|---|
Public constructors
Property
public Property (Class<V> type, String name)
A constructor that takes an identifying name and type
for the property.
Parameters | |
---|---|
type | Class |
name | String |
Public methods
get
public abstract V get (T object)
Returns the current value that this property represents on the given object
.
Parameters | |
---|---|
object | T |
Returns | |
---|---|
V |
getName
public String getName ()
Returns the name for this property.
Returns | |
---|---|
String |
getType
public Class<V> getType ()
Returns the type for this property.
Returns | |
---|---|
Class<V> |
isReadOnly
public boolean isReadOnly ()
Returns true if the set(java.lang.Object, java.lang.Object)
method does not set the value on the target object (in which case the set()
method should throw a NoSuchPropertyException
exception). This may happen if the Property wraps functionality that allows querying the underlying value but not setting it. For example, the of(java.lang.Class, java.lang.Class, java.lang.String)
factory method may return a Property with name "foo" for an object that has only a getFoo()
or isFoo()
method, but no matching setFoo()
method.
Returns | |
---|---|
boolean |
of
public static Property<T, V> of (Class<T> hostType, Class<V> valueType, String name)
This factory method creates and returns a Property given the class
and name
parameters, where the "name"
parameter represents either:
- a public
getName()
method on the class which takes no arguments, plus an optional publicsetName()
method which takes a value of the same type returned bygetName()
- a public
isName()
method on the class which takes no arguments, plus an optional publicsetName()
method which takes a value of the same type returned byisName()
- a public
name
field on the class
If either of the get/is method alternatives is found on the class, but an appropriate setName()
method is not found, the Property
will be readOnly
. Calling the set(java.lang.Object, java.lang.Object)
method on such a property is allowed, but will have no effect.
If neither the methods nor the field are found on the class a NoSuchPropertyException
exception will be thrown.
Parameters | |
---|---|
hostType | Class |
valueType | Class |
name | String |
Returns | |
---|---|
Property<T, V> |
set
public void set (T object, V value)
Sets the value on object
which this property represents. If the method is unable to set the value on the target object it will throw an UnsupportedOperationException
exception.
Parameters | |
---|---|
object | T |
value | V |