Package org.jf.dexlib2.iface
Interface Field
-
- All Superinterfaces:
Annotatable
,java.lang.Comparable<FieldReference>
,FieldReference
,Member
,Reference
- All Known Implementing Classes:
BuilderField
,DexBackedField
,FieldRewriter.RewrittenField
,ImmutableField
,ReflectionField
public interface Field extends FieldReference, Member
This class represents a specific field definition in a class. It also acts as a FieldReference to itself. Any equality/comparison is based on its identity as a FieldReference, and shouldn't take into account any non-FieldReference specifics of this field.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.jf.dexlib2.iface.reference.Reference
Reference.InvalidReferenceException
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description int
getAccessFlags()
Gets the access flags for this field.java.util.Set<? extends Annotation>
getAnnotations()
Gets a set of the annotations that are applied to this field.java.lang.String
getDefiningClass()
Gets the type of the class that defines this field.java.util.Set<HiddenApiRestriction>
getHiddenApiRestrictions()
Gets the hidden api restrictions for this field.EncodedValue
getInitialValue()
Gets the initial value for this field, if available.java.lang.String
getName()
Gets the name of this field.java.lang.String
getType()
Gets the type of this field.-
Methods inherited from interface org.jf.dexlib2.iface.reference.FieldReference
compareTo, equals, hashCode
-
Methods inherited from interface org.jf.dexlib2.iface.reference.Reference
validateReference
-
-
-
-
Method Detail
-
getDefiningClass
@Nonnull java.lang.String getDefiningClass()
Gets the type of the class that defines this field.- Specified by:
getDefiningClass
in interfaceFieldReference
- Specified by:
getDefiningClass
in interfaceMember
- Returns:
- The type of the class that defines this field
-
getName
@Nonnull java.lang.String getName()
Gets the name of this field.- Specified by:
getName
in interfaceFieldReference
- Specified by:
getName
in interfaceMember
- Returns:
- The name of this field
-
getType
@Nonnull java.lang.String getType()
Gets the type of this field.- Specified by:
getType
in interfaceFieldReference
- Returns:
- The type of this field
-
getAccessFlags
int getAccessFlags()
Gets the access flags for this field. This will be a combination of the AccessFlags.* flags that are marked as compatible for use with a field.- Specified by:
getAccessFlags
in interfaceMember
- Returns:
- The access flags for this field
-
getInitialValue
@Nullable EncodedValue getInitialValue()
Gets the initial value for this field, if available. Only static field may have an initial value set, but are not required to have an initial value.- Returns:
- The initial value for this field, or null if this field is not a static field, or if this static field does not have an initial value.
-
getAnnotations
@Nonnull java.util.Set<? extends Annotation> getAnnotations()
Gets a set of the annotations that are applied to this field. The annotations in the returned set are guaranteed to have unique types.- Specified by:
getAnnotations
in interfaceAnnotatable
- Returns:
- A set of the annotations that are applied to this field
-
getHiddenApiRestrictions
@Nonnull java.util.Set<HiddenApiRestriction> getHiddenApiRestrictions()
Gets the hidden api restrictions for this field. This will contain at most 1 normal flag (with isDomainSpecificApiFlag() = false), and 1 domain-specific api flag (with isDomainSpecificApiFlag() = true)- Specified by:
getHiddenApiRestrictions
in interfaceMember
- Returns:
- A set of the hidden api restrictions for this field.
-
-