Package org.jf.dexlib2.iface.value
Interface AnnotationEncodedValue
-
- All Superinterfaces:
BasicAnnotation
,java.lang.Comparable<EncodedValue>
,EncodedValue
- All Known Implementing Classes:
BaseAnnotationEncodedValue
,BuilderEncodedValues.BuilderAnnotationEncodedValue
,DexBackedAnnotationEncodedValue
,EncodedValueRewriter.RewrittenAnnotationEncodedValue
,ImmutableAnnotationEncodedValue
public interface AnnotationEncodedValue extends EncodedValue, BasicAnnotation
This class represents an encoded annotation value.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description int
compareTo(EncodedValue o)
Compare this AnnotationEncodedValue to another EncodedValue.boolean
equals(java.lang.Object o)
Compares this AnnotationEncodedValue to another AnnotationEncodedValue for equality.java.util.Set<? extends AnnotationElement>
getElements()
Gets a set of the name/value elements associated with this annotation.java.lang.String
getType()
Gets the type of this annotation.int
hashCode()
Returns a hashcode for this AnnotationEncodedValue.-
Methods inherited from interface org.jf.dexlib2.iface.value.EncodedValue
getValueType
-
-
-
-
Method Detail
-
getType
@Nonnull java.lang.String getType()
Gets the type of this annotation. This will be the type descriptor of the class that defines this annotation.- Specified by:
getType
in interfaceBasicAnnotation
- Returns:
- The type of this annotation
-
getElements
@Nonnull java.util.Set<? extends AnnotationElement> getElements()
Gets a set of the name/value elements associated with this annotation. The elements in the returned set will be unique by name.- Specified by:
getElements
in interfaceBasicAnnotation
- Returns:
- A set of AnnotationElements
-
hashCode
int hashCode()
Returns a hashcode for this AnnotationEncodedValue. This hashCode is defined to be the following:int hashCode = getType().hashCode(); hashCode = hashCode*31 + getElements().hashCode();
- Overrides:
hashCode
in classjava.lang.Object
- Returns:
- The hash code value for this AnnotationEncodedValue
-
equals
boolean equals(@Nullable java.lang.Object o)
Compares this AnnotationEncodedValue to another AnnotationEncodedValue for equality. This AnnotationEncodedValue is equal to another AnnotationEncodedValue if all of it's "fields" are equal. That is, if the return values getType() and getElements() are both equal.- Overrides:
equals
in classjava.lang.Object
- Parameters:
o
- The object to be compared for equality with this AnnotationEncodedValue- Returns:
- true if the specified object is equal to this AnnotationEncodedValue
-
compareTo
int compareTo(@Nonnull EncodedValue o)
Compare this AnnotationEncodedValue to another EncodedValue. The comparison is based on the value of getType() and getElements(), in that order. When comparing the set of elements, the comparison is done with the semantics of org.jf.util.CollectionUtils.compareAsSet(), using the natural ordering of AnnotationElement.- Specified by:
compareTo
in interfacejava.lang.Comparable<EncodedValue>
- Parameters:
o
- The EncodedValue to compare with this AnnotationEncodedValue- Returns:
- An integer representing the result of the comparison
-
-