InspectableProperty

Added in 1.1.0
Deprecated in 1.3.0

@Target(allowedTargets = [AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.PROPERTY_SETTER])
@Retention(value = AnnotationRetention.SOURCE)
public 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)
public annotation InspectableProperty.EnumEntry

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

@Target(allowedTargets = [AnnotationTarget.ANNOTATION_CLASS, AnnotationTarget.CLASS])
@Retention(value = AnnotationRetention.SOURCE)
public 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(
    @NonNull String name,
    int attributeId,
    boolean hasAttributeId,
    @NonNull InspectableProperty.ValueType valueType,
    @NonNull InspectableProperty.EnumEntry[] enumMapping,
    @NonNull InspectableProperty.FlagEntry[] flagMapping
)

Public methods

final int

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

final @NonNull InspectableProperty.EnumEntry[]

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

final @NonNull InspectableProperty.FlagEntry[]

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

final boolean

If this property has an attribute ID.

final @NonNull String

The name of the property.

final @NonNull InspectableProperty.ValueType

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

Public constructors

InspectableProperty

public InspectableProperty(
    @NonNull String name,
    int attributeId,
    boolean hasAttributeId,
    @NonNull InspectableProperty.ValueType valueType,
    @NonNull InspectableProperty.EnumEntry[] enumMapping,
    @NonNull InspectableProperty.FlagEntry[] flagMapping
)

Public methods

getAttributeId

public final int getAttributeId()

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

getEnumMapping

public final @NonNull InspectableProperty.EnumEntry[] getEnumMapping()

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

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

Returns
@NonNull InspectableProperty.EnumEntry[]

An array of EnumEntry, empty if not applicable

getFlagMapping

public final @NonNull InspectableProperty.FlagEntry[] getFlagMapping()

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

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

Returns
@NonNull InspectableProperty.FlagEntry[]

An array of FlagEntry, empty if not applicable

getHasAttributeId

public final boolean getHasAttributeId()

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

getName

public final @NonNull String getName()

The name of the property.

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

Returns
@NonNull String

The name of the property.

getValueType

public final @NonNull InspectableProperty.ValueType getValueType()

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