Class BaseAnnotation

java.lang.Object
org.jf.dexlib2.base.BaseAnnotation
All Implemented Interfaces:
Comparable<Annotation>, Annotation, BasicAnnotation
Direct Known Subclasses:
AnnotationRewriter.RewrittenAnnotation, BuilderAnnotation, DexBackedAnnotation, ImmutableAnnotation

public abstract class BaseAnnotation extends Object implements Annotation
  • Field Details

  • Constructor Details

    • BaseAnnotation

      public BaseAnnotation()
  • Method Details

    • hashCode

      public int hashCode()
      Description copied from interface: Annotation
      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();
       
      Specified by:
      hashCode in interface Annotation
      Overrides:
      hashCode in class Object
      Returns:
      The hash code value for this Annotation
    • equals

      public boolean equals(Object o)
      Description copied from interface: Annotation
      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.
      Specified by:
      equals in interface Annotation
      Overrides:
      equals in class 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

      public int compareTo(Annotation o)
      Description copied from interface: Annotation
      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 interface Annotation
      Specified by:
      compareTo in interface Comparable<Annotation>
      Parameters:
      o - The Annotation to compare with this Annotation
      Returns:
      An integer representing the result of the comparison