InspectableProperty

Added in 1.1.0
Deprecated in 1.3.0

  • android
    @Target(allowedTargets = [AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.PROPERTY_SETTER])
    @Retention(value = AnnotationRetention.SOURCE)
    annotation InspectableProperty

Denotes that the annotated method is the getter for a resources-backed property that should be shown in Android Studio's inspection tools.

Summary

Nested types

@Target(allowedTargets = [AnnotationTarget.ANNOTATION_CLASS, AnnotationTarget.CLASS])
@Retention(value = AnnotationRetention.SOURCE)
annotation InspectableProperty.EnumEntry

One entry in an enumeration packed into a primitive {int}.

@Target(allowedTargets = [AnnotationTarget.ANNOTATION_CLASS, AnnotationTarget.CLASS])
@Retention(value = AnnotationRetention.SOURCE)
annotation InspectableProperty.FlagEntry

One flag value of many that may be packed into a primitive {int}.

The type of value packed into a primitive {int}.

Public constructors

InspectableProperty(
    name: String,
    attributeId: Int,
    hasAttributeId: Boolean,
    valueType: InspectableProperty.ValueType,
    enumMapping: Array<InspectableProperty.EnumEntry>,
    flagMapping: Array<InspectableProperty.FlagEntry>
)
android

Public properties

Int

If the property is inflated from XML, the resource ID of its XML attribute.

android
Array<InspectableProperty.EnumEntry>

For enumerations packed into primitive {int} properties, map the values to string names.

android
Array<InspectableProperty.FlagEntry>

For flags packed into primitive {int} properties, model the string names of the flags.

android
Boolean

If this property has an attribute ID.

android
String

The name of the property.

android
InspectableProperty.ValueType

Specify how to interpret a value type packed into a primitive integer.

android

Public constructors

InspectableProperty

InspectableProperty(
    name: String = "",
    attributeId: Int = 0,
    hasAttributeId: Boolean = true,
    valueType: InspectableProperty.ValueType = ValueType.INFERRED,
    enumMapping: Array<InspectableProperty.EnumEntry> = [],
    flagMapping: Array<InspectableProperty.FlagEntry> = []
)

Public properties

attributeId

val attributeIdInt

If the property is inflated from XML, the resource ID of its XML attribute.

If left as the default, and hasAttributeId is true, the attribute ID will be inferred from name.

Returns
Int

The attribute ID of the property or the default null resource ID

enumMapping

val enumMappingArray<InspectableProperty.EnumEntry>

For enumerations packed into primitive {int} properties, map the values to string names.

Note that #enumMapping() cannot be used simultaneously with flagMapping.

Returns
Array<InspectableProperty.EnumEntry>

An array of EnumEntry, empty if not applicable

flagMapping

val flagMappingArray<InspectableProperty.FlagEntry>

For flags packed into primitive {int} properties, model the string names of the flags.

Note that #flagMapping() cannot be used simultaneously with enumMapping.

Returns
Array<InspectableProperty.FlagEntry>

An array of FlagEntry, empty if not applicable

hasAttributeId

val hasAttributeIdBoolean

If this property has an attribute ID.

Set to false if the annotated property does not have an attribute ID, that is, it is not inflated from an XML attribute. This will prevent the automatic inference of the attribute.

Returns
Boolean

Whether to infer an attribute ID if not supplied

name

val nameString

The name of the property.

If left empty (the default), the property name will be inferred from the name of the getter method.

Returns
String

The name of the property.

valueType

val valueTypeInspectableProperty.ValueType

Specify how to interpret a value type packed into a primitive integer.