PropertyReader
interface PropertyReader
An interface for reading the properties of an inspectable object. PropertyReader
is defined as an interface that will be called by InspectionCompanion#readProperties(Object, PropertyReader)
. This approach allows a client inspector to read the values of primitive properties without the overhead of instantiating a class to hold the property values for each inspection pass. If an inspectable remains unchanged between reading passes, it should be possible for a PropertyReader
to avoid new allocations for subsequent reading passes. It has separate methods for all primitive types to avoid autoboxing overhead if a concrete implementation is able to work with primitives. Implementations should be prepared to accept {null} as the value of PropertyReader#readObject(int, Object)
.
Summary
Nested classes |
open |
Thrown if a client calls a typed read method for a property of a different type.
|
Public methods |
abstract Unit |
Read a primitive boolean property.
|
abstract Unit |
Read a primitive byte property.
|
abstract Unit |
Read a primitive character property.
|
abstract Unit |
Read a color packed into an int as a property.
|
abstract Unit |
Read a color packed into a ColorLong as a property.
|
abstract Unit |
Read a Color object as a property.
|
abstract Unit |
Read a read a primitive double property.
|
abstract Unit |
Read a primitive float property.
|
abstract Unit |
Read android.view.Gravity packed into an primitive int .
|
abstract Unit |
Read a primitive integer property.
|
abstract Unit |
Read an enumeration packed into a primitive int .
|
abstract Unit |
Read a flag packed into a primitive int .
|
abstract Unit |
Read a primitive long property.
|
abstract Unit |
Read any object as a property.
|
abstract Unit |
Read an integer that contains a resource ID.
|
abstract Unit |
Read a primitive short property.
|
Public methods
readBoolean
abstract fun readBoolean(
id: Int,
value: Boolean
): Unit
Read a primitive boolean property.
Exceptions |
android.view.inspector.PropertyReader.PropertyTypeMismatchException |
If the property ID is not mapped as a boolean |
readByte
abstract fun readByte(
id: Int,
value: Byte
): Unit
Read a primitive byte property.
Exceptions |
android.view.inspector.PropertyReader.PropertyTypeMismatchException |
If the property ID is not mapped as a byte |
readChar
abstract fun readChar(
id: Int,
value: Char
): Unit
Read a primitive character property.
Exceptions |
android.view.inspector.PropertyReader.PropertyTypeMismatchException |
If the property ID is not mapped as a char |
readColor
abstract fun readColor(
id: Int,
value: Int
): Unit
Read a color packed into an int as a property.
Parameters |
id |
Int: Identifier of the property from a PropertyMapper |
value |
Int: Value of the property |
Exceptions |
android.view.inspector.PropertyReader.PropertyTypeMismatchException |
If the property ID is not mapped as a color |
readColor
abstract fun readColor(
id: Int,
value: Long
): Unit
Read a color packed into a ColorLong
as a property.
Parameters |
id |
Int: Identifier of the property from a PropertyMapper |
value |
Long: Value of the property packed as a ColorLong . See the Color class for details of the packing. |
Exceptions |
android.view.inspector.PropertyReader.PropertyTypeMismatchException |
If the property ID is not mapped as a color |
readColor
abstract fun readColor(
id: Int,
value: Color?
): Unit
Read a Color
object as a property.
Parameters |
id |
Int: Identifier of the property from a PropertyMapper |
value |
Color?: Value of the property This value may be null . |
Exceptions |
android.view.inspector.PropertyReader.PropertyTypeMismatchException |
If the property ID is not mapped as a color |
readDouble
abstract fun readDouble(
id: Int,
value: Double
): Unit
Read a read a primitive double property.
Exceptions |
android.view.inspector.PropertyReader.PropertyTypeMismatchException |
If the property ID is not mapped as a double |
readFloat
abstract fun readFloat(
id: Int,
value: Float
): Unit
Read a primitive float property.
Exceptions |
android.view.inspector.PropertyReader.PropertyTypeMismatchException |
If the property ID is not mapped as a float |
readGravity
abstract fun readGravity(
id: Int,
value: Int
): Unit
Read android.view.Gravity
packed into an primitive int
.
Parameters |
id |
Int: Identifier of the property from a PropertyMapper |
value |
Int: Value of the property |
Exceptions |
android.view.inspector.PropertyReader.PropertyTypeMismatchException |
If the property ID is not mapped as a gravity property |
readInt
abstract fun readInt(
id: Int,
value: Int
): Unit
Read a primitive integer property.
Parameters |
id |
Int: Identifier of the property from a PropertyMapper |
value |
Int: Value of the property |
Exceptions |
android.view.inspector.PropertyReader.PropertyTypeMismatchException |
If the property ID is not mapped as an int |
readIntEnum
abstract fun readIntEnum(
id: Int,
value: Int
): Unit
Read an enumeration packed into a primitive int
.
Parameters |
id |
Int: Identifier of the property from a PropertyMapper |
value |
Int: Value of the property |
Exceptions |
android.view.inspector.PropertyReader.PropertyTypeMismatchException |
If the property ID is not mapped as an object |
readIntFlag
abstract fun readIntFlag(
id: Int,
value: Int
): Unit
Read a flag packed into a primitive int
.
Parameters |
id |
Int: Identifier of the property from a PropertyMapper |
value |
Int: Value of the property |
Exceptions |
android.view.inspector.PropertyReader.PropertyTypeMismatchException |
If the property ID is not mapped as an object |
readLong
abstract fun readLong(
id: Int,
value: Long
): Unit
Read a primitive long property.
Exceptions |
android.view.inspector.PropertyReader.PropertyTypeMismatchException |
If the property ID is not mapped as a long |
readObject
abstract fun readObject(
id: Int,
value: Any?
): Unit
Read any object as a property. If value is null, the property is marked as empty.
Parameters |
id |
Int: Identifier of the property from a PropertyMapper |
value |
Any?: Value of the property This value may be null . |
Exceptions |
android.view.inspector.PropertyReader.PropertyTypeMismatchException |
If the property ID is not mapped as an object |
readResourceId
abstract fun readResourceId(
id: Int,
value: Int
): Unit
Read an integer that contains a resource ID.
Parameters |
id |
Int: Identifier of the property from a PropertyMapper |
value |
Int: Value of the property |
Exceptions |
android.view.inspector.PropertyReader.PropertyTypeMismatchException |
If the property ID is not mapped as a resource ID. |
readShort
abstract fun readShort(
id: Int,
value: Short
): Unit
Read a primitive short property.
Exceptions |
android.view.inspector.PropertyReader.PropertyTypeMismatchException |
If the property ID is not mapped as a short |