Package net.sf.saxon.type

## Enum Affinity

- java.lang.Object
- - java.lang.Enum<Affinity>
  - - net.sf.saxon.type.Affinity

- All Implemented Interfaces:
    `java.io.Serializable`, `java.lang.Comparable<Affinity>`

      public enum Affinity
      extends java.lang.Enum<Affinity>

  A set of constants enumerating the possible relationships between one type and another

- - ### Enum Constant Summary

    Enum Constants
    Enum Constant | Description
    --- | ---
    `DISJOINT` | The two types have no instances in common; if a value is an instance of one type, then it is not an instance of the other.
    `OVERLAPS` | The two types have intersecting value spaces; there are values that belong to both types, but neither type subsumes the other.
    `SAME_TYPE` | The two types are identical
    `SUBSUMED_BY` | The second type subsumes the first; all values that are instances of the first type are also instances of the second.
    `SUBSUMES` | The first type subsumes the second; all values that are instances of the second type are also instances of the first.

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static Affinity` | `valueOf​(java.lang.String name)` | Returns the enum constant of this type with the specified name.
    `static Affinity[]` | `values()` | Returns an array containing the constants of this enum type, in the order they are declared.

    - ### Methods inherited from class java.lang.Enum

      `clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf`

    - ### Methods inherited from class java.lang.Object

      `getClass, notify, notifyAll, wait, wait, wait`

- - ### Enum Constant Detail

    - #### SAME_TYPE

          public static final Affinity SAME_TYPE

      The two types are identical

    - #### SUBSUMES

          public static final Affinity SUBSUMES

      The first type subsumes the second; all values that are instances of the second type are also instances of the first. For example, xs:decimal subsumes xs:integer; node() subsumes element().

    - #### SUBSUMED_BY

          public static final Affinity SUBSUMED_BY

      The second type subsumes the first; all values that are instances of the first type are also instances of the second. For example, xs:integer is subsumed by xs:decimal; element() is subsumed by node()

    - #### DISJOINT

          public static final Affinity DISJOINT

      The two types have no instances in common; if a value is an instance of one type, then it is not an instance of the other. For example, xs:string and xs:boolean are disjoint, as are element() and attribute()

    - #### OVERLAPS

          public static final Affinity OVERLAPS

      The two types have intersecting value spaces; there are values that belong to both types, but neither type subsumes the other. For example, union(A, B) and union(A, C) overlap. As a special case, xs:string? and xs:boolean? overlap, because both types allow an empty sequence.

  - ### Method Detail

    - #### values

          public static Affinity[] values()

      Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:

          for (Affinity c : Affinity.values())
              System.out.println(c);

      Returns:
        an array containing the constants of this enum type, in the order they are declared

    - #### valueOf

          public static Affinity valueOf​(java.lang.String name)

      Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
      Parameters:
        `name` - the name of the enum constant to be returned.
      Returns:
        the enum constant with the specified name
      Throws:
        `java.lang.IllegalArgumentException` - if this enum type has no constant with the specified name
        `java.lang.NullPointerException` - if the argument is null