Added in API level 29

PropertyReader


interface PropertyReader
android.view.inspector.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
readBoolean(id: Int, value: Boolean)

Read a primitive boolean property.

abstract Unit
readByte(id: Int, value: Byte)

Read a primitive byte property.

abstract Unit
readChar(id: Int, value: Char)

Read a primitive character property.

abstract Unit
readColor(id: Int, value: Int)

Read a color packed into an int as a property.

abstract Unit
readColor(id: Int, value: Long)

Read a color packed into a ColorLong as a property.

abstract Unit
readColor(id: Int, value: Color?)

Read a Color object as a property.

abstract Unit
readDouble(id: Int, value: Double)

Read a read a primitive double property.

abstract Unit
readFloat(id: Int, value: Float)

Read a primitive float property.

abstract Unit
readGravity(id: Int, value: Int)

Read android.view.Gravity packed into an primitive int.

abstract Unit
readInt(id: Int, value: Int)

Read a primitive integer property.

abstract Unit
readIntEnum(id: Int, value: Int)

Read an enumeration packed into a primitive int.

abstract Unit
readIntFlag(id: Int, value: Int)

Read a flag packed into a primitive int.

abstract Unit
readLong(id: Int, value: Long)

Read a primitive long property.

abstract Unit
readObject(id: Int, value: Any?)

Read any object as a property.

abstract Unit
readResourceId(id: Int, value: Int)

Read an integer that contains a resource ID.

abstract Unit
readShort(id: Int, value: Short)

Read a primitive short property.

Public methods

readBoolean

Added in API level 29
abstract fun readBoolean(
    id: Int,
    value: Boolean
): Unit

Read a primitive boolean property.

Parameters
id Int: Identifier of the property from a PropertyMapper
value Boolean: Value of the property
Exceptions
android.view.inspector.PropertyReader.PropertyTypeMismatchException If the property ID is not mapped as a boolean

readByte

Added in API level 29
abstract fun readByte(
    id: Int,
    value: Byte
): Unit

Read a primitive byte property.

Parameters
id Int: Identifier of the property from a PropertyMapper
value Byte: Value of the property
Exceptions
android.view.inspector.PropertyReader.PropertyTypeMismatchException If the property ID is not mapped as a byte

readChar

Added in API level 29
abstract fun readChar(
    id: Int,
    value: Char
): Unit

Read a primitive character property.

Parameters
id Int: Identifier of the property from a PropertyMapper
value Char: Value of the property
Exceptions
android.view.inspector.PropertyReader.PropertyTypeMismatchException If the property ID is not mapped as a char

readColor

Added in API level 29
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

Added in API level 29
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

Added in API level 29
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

Added in API level 29
abstract fun readDouble(
    id: Int,
    value: Double
): Unit

Read a read a primitive double property.

Parameters
id Int: Identifier of the property from a PropertyMapper
value Double: Value of the property
Exceptions
android.view.inspector.PropertyReader.PropertyTypeMismatchException If the property ID is not mapped as a double

readFloat

Added in API level 29
abstract fun readFloat(
    id: Int,
    value: Float
): Unit

Read a primitive float property.

Parameters
id Int: Identifier of the property from a PropertyMapper
value Float: Value of the property
Exceptions
android.view.inspector.PropertyReader.PropertyTypeMismatchException If the property ID is not mapped as a float

readGravity

Added in API level 29
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

Added in API level 29
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

Added in API level 29
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

Added in API level 29
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

Added in API level 29
abstract fun readLong(
    id: Int,
    value: Long
): Unit

Read a primitive long property.

Parameters
id Int: Identifier of the property from a PropertyMapper
value Long: Value of the property
Exceptions
android.view.inspector.PropertyReader.PropertyTypeMismatchException If the property ID is not mapped as a long

readObject

Added in API level 29
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

Added in API level 29
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

Added in API level 29
abstract fun readShort(
    id: Int,
    value: Short
): Unit

Read a primitive short property.

Parameters
id Int: Identifier of the property from a PropertyMapper
value Short: Value of the property
Exceptions
android.view.inspector.PropertyReader.PropertyTypeMismatchException If the property ID is not mapped as a short