Package org.jf.dexlib2.iface
Interface Annotation
-
- All Superinterfaces:
BasicAnnotation
,java.lang.Comparable<Annotation>
- All Known Implementing Classes:
AnnotationRewriter.RewrittenAnnotation
,BaseAnnotation
,DexBackedAnnotation
,ImmutableAnnotation
public interface Annotation extends BasicAnnotation, java.lang.Comparable<Annotation>
This class represents a specific instance of an annotation applied to a class/field/method/parameter
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description int
compareTo(Annotation o)
Compares this Annotation to another Annotation.boolean
equals(java.lang.Object o)
Compares this Annotation to another Annotation 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
getVisibility()
Gets the visibility of this annotation.int
hashCode()
Returns a hashcode for this Annotation.
-
-
-
Method Detail
-
getVisibility
int getVisibility()
Gets the visibility of this annotation. This will be one of the AnnotationVisibility.* constants.- Returns:
- The visibility of this annotation
-
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 with respect to the element name.- Specified by:
getElements
in interfaceBasicAnnotation
- Returns:
- A set of AnnotationElements
-
hashCode
int hashCode()
Returns a hashcode for this Annotation. This hashCode is defined to be the following:int hashCode = getVisibility(); hashCode = hashCode*31 + getType().hashCode(); hashCode = hashCode*31 + getElements().hashCode();
- Overrides:
hashCode
in classjava.lang.Object
- Returns:
- The hash code value for this Annotation
-
equals
boolean equals(@Nullable java.lang.Object o)
Compares this Annotation to another Annotation for equality. This Annotation is equal to another Annotation if all of it's "fields" are equal. That is, if the return values of getVisibility(), getType(), and getElements() are all equal.- Overrides:
equals
in classjava.lang.Object
- Parameters:
o
- The object to be compared for equality with this Annotation- Returns:
- true if the specified object is equal to this Annotation
-
compareTo
int compareTo(Annotation o)
Compares this Annotation to another Annotation. The comparison is based on the value of getVisibility(), 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<Annotation>
- Parameters:
o
- The Annotation to compare with this Annotation- Returns:
- An integer representing the result of the comparison
-
-