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 |