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
namefield 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 |