Property
abstract class Property<T : Any!, V : Any!>
kotlin.Any | |
↳ | android.util.Property |
A property is an abstraction that can be used to represent a mutable value that is held in a host object. The Property's 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 | |
---|---|
A constructor that takes an identifying name and |
Public methods | |
---|---|
abstract V |
get(object: T) Returns the current value that this property represents on the given |
open String! |
getName() Returns the name for this property. |
open Class<V>! |
getType() Returns the type for this property. |
open Boolean |
Returns true if the |
open static Property<T, V>! |
This factory method creates and returns a Property given the
|
open Unit |
set(object: T, value: V) Sets the value on |
Public constructors
Property
Property(
type: Class<V>!,
name: String!)
A constructor that takes an identifying name and type
for the property.
Public methods
get
abstract fun get(object: T): V
Returns the current value that this property represents on the given object
.
isReadOnly
open fun isReadOnly(): Boolean
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.
of
open static fun <T : Any!, V : Any!> of(
hostType: Class<T>!,
valueType: Class<V>!,
name: String!
): Property<T, V>!
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.
set
open fun set(
object: T,
value: V
): Unit
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.