Interface TypeHierarchy

    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      boolean isSubtype​(AnnotatedTypeMirror subtype, AnnotatedTypeMirror supertype)
      Returns true if subtype is a subtype of or convertible to supertype for all hierarchies present.
      boolean isSubtypeShallowEffective​(java.util.Collection<? extends javax.lang.model.element.AnnotationMirror> subQualifiers, AnnotatedTypeMirror supertype)
      Tests whether subQualifiers are equal to or are sub-qualifiers of the effective annotations of supertype, according to the type qualifier hierarchy.
      boolean isSubtypeShallowEffective​(javax.lang.model.element.AnnotationMirror subQualifier, AnnotatedTypeMirror supertype)
      Tests whether subQualifier is equal to or sub-qualifier of the effective annotation of supertype in the same hierarchy as subQualifier according to the type qualifier hierarchy.
      boolean isSubtypeShallowEffective​(AnnotatedTypeMirror subtype, java.util.Collection<? extends javax.lang.model.element.AnnotationMirror> superQualifiers)
      Tests whether the effective annotations of subtype are equal to or are sub-qualifiers of superQualifiers, according to the type qualifier hierarchy.
      boolean isSubtypeShallowEffective​(AnnotatedTypeMirror subtype, javax.lang.model.element.AnnotationMirror superQualifier)
      Tests whether the effective annotation of subtype in the same hierarchy as superQualifier is equal to or sub-qualifier of superQualifier, according to the type qualifier hierarchy.
      boolean isSubtypeShallowEffective​(AnnotatedTypeMirror subtype, AnnotatedTypeMirror supertype)
      Tests whether the effective annotations of subtype are equal to or are sub-qualifiers of the effective annotations of supertype, according to the type qualifier hierarchy.
      boolean isSubtypeShallowEffective​(AnnotatedTypeMirror subtype, AnnotatedTypeMirror supertype, javax.lang.model.element.AnnotationMirror hierarchy)
      Tests whether the effective annotation in the same hierarchy as hierarchy of subtype are equal to or are sub-qualifiers of the effective annotation of supertype in the same hierarchy as hierarchy, according to the type qualifier hierarchy.
    • Method Detail

      • isSubtypeShallowEffective

        boolean isSubtypeShallowEffective​(AnnotatedTypeMirror subtype,
                                          AnnotatedTypeMirror supertype)
        Tests whether the effective annotations of subtype are equal to or are sub-qualifiers of the effective annotations of supertype, according to the type qualifier hierarchy.

        The underlying types of subtype and supertype are not necessarily in a Java subtyping relationship with one another and are only used by this method for special cases when qualifier subtyping depends on the Java basetype.

        Parameters:
        subtype - possible subtype
        supertype - possible supertype
        Returns:
        true iff the effective annotations of subtype are equal to or are sub-qualifiers of the effective annotations of supertype
      • isSubtypeShallowEffective

        boolean isSubtypeShallowEffective​(AnnotatedTypeMirror subtype,
                                          AnnotatedTypeMirror supertype,
                                          javax.lang.model.element.AnnotationMirror hierarchy)
        Tests whether the effective annotation in the same hierarchy as hierarchy of subtype are equal to or are sub-qualifiers of the effective annotation of supertype in the same hierarchy as hierarchy, according to the type qualifier hierarchy. Other annotations in subtype and supertype are ignored.

        The underlying types of subtype and supertype are not necessarily in a Java subtyping relationship with one another and are only used by this method for special cases when qualifier subtyping depends on the Java basetype.

        Parameters:
        subtype - possible subtype
        supertype - possible supertype
        hierarchy - an annotation whose hierarchy is used to compare subtype and supertype
        Returns:
        true iff the effective annotation in the same hierarchy as hierarchy of subtype are equal to or are sub-qualifiers of the effective annotation of supertype in the same hierarchy as hierarchy
      • isSubtypeShallowEffective

        boolean isSubtypeShallowEffective​(AnnotatedTypeMirror subtype,
                                          java.util.Collection<? extends javax.lang.model.element.AnnotationMirror> superQualifiers)
        Tests whether the effective annotations of subtype are equal to or are sub-qualifiers of superQualifiers, according to the type qualifier hierarchy. Other annotations in subtype are ignored.

        The underlying type of subtype is only used by this method for special cases when qualifier subtyping depends on the Java basetype.

        Parameters:
        subtype - possible subtype
        superQualifiers - possible superQualifiers
        Returns:
        true iff the effective annotations of subtype are equal to or are sub-qualifiers of superQualifiers
      • isSubtypeShallowEffective

        boolean isSubtypeShallowEffective​(java.util.Collection<? extends javax.lang.model.element.AnnotationMirror> subQualifiers,
                                          AnnotatedTypeMirror supertype)
        Tests whether subQualifiers are equal to or are sub-qualifiers of the effective annotations of supertype, according to the type qualifier hierarchy. Other annotations in supertype are ignored.

        The underlying type of supertype is used by this method for special cases when qualifier subtyping depends on the Java basetype.

        Parameters:
        subQualifiers - possible subQualifiers
        supertype - possible supertype
        Returns:
        true iff subQualifiers are equal to or are sub-qualifiers of the effective annotations of supertype
      • isSubtypeShallowEffective

        boolean isSubtypeShallowEffective​(AnnotatedTypeMirror subtype,
                                          javax.lang.model.element.AnnotationMirror superQualifier)
        Tests whether the effective annotation of subtype in the same hierarchy as superQualifier is equal to or sub-qualifier of superQualifier, according to the type qualifier hierarchy. The underlying types of subtype is only used by this method for special cases when qualifier subtyping depends on the Java basetype. Other annotations in subtype are ignored.
        Parameters:
        subtype - possible subtype
        superQualifier - possible super qualifier
        Returns:
        true iffhe effective annotation of subtype in the same hierarchy as superQualifier is equal to or sub-qualifier of superQualifier
      • isSubtypeShallowEffective

        boolean isSubtypeShallowEffective​(javax.lang.model.element.AnnotationMirror subQualifier,
                                          AnnotatedTypeMirror supertype)
        Tests whether subQualifier is equal to or sub-qualifier of the effective annotation of supertype in the same hierarchy as subQualifier according to the type qualifier hierarchy. The underlying types of supertype is only used by this method for special cases when qualifier subtyping depends on the Java basetype. Other annotations in supertype are ignored.
        Parameters:
        subQualifier - possible subQualifier
        supertype - possible supertype
        Returns:
        true subQualifier is equal to or sub-qualifier of the effective annotation of supertype in the same hierarchy as subQualifier