# Enum Class XLink.Type

Object
Enum<XLink.Type>
Type

All Implemented Interfaces:
  `Serializable`, `Comparable<XLink​.Type>`, `Constable`

Enclosing class:
  `XLink`

public static enum XLink.Type extends Enum<XLink.Type>
The type of a `xlink`. This type can be determined from the set of non-null attribute values in a `XLink` instance.

Since:
  0.3
See Also:
  - `XLink​.getType()`

- ## Nested Class Summary

  ### Nested classes/interfaces inherited from class Enum

  `Enum​.EnumDesc<E extends Enum<E>>`

- ## Enum Constant Summary

  Enum Constants
  Enum Constant
  Description
  `ARC`
  A traversal rule between resources.
  `AUTO`
  A special value for computing the type automatically from the `XLink` attributes.
  `EXTENDED`
  An extended, possibly multi-resource, link.
  `LOCATOR`
  A pointer to an external resource.
  `RESOURCE`
  An internal resource.
  `SIMPLE`
  A simple link.
  `TITLE`
  A descriptive title for another linking element.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static XLink​.Type`
  `valueOf(String name)`
  Returns the enum constant of this class with the specified name.
  `static XLink​.Type[]`
  `values()`
  Returns an array containing the constants of this enum class, in the order they are declared.

  ### Methods inherited from class Enum

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

  ### Methods inherited from class Object

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

- ## Enum Constant Details

  - ### SIMPLE

    public static final XLink.Type SIMPLE
    A simple link. Allows the `href`, `role`, `arcrole`, `title`, `show` and `actuate` attributes, all of them being optional.

  - ### EXTENDED

    public static final XLink.Type EXTENDED
    An extended, possibly multi-resource, link. Allows the `role` and `title` attributes, all of them being optional.

  - ### LOCATOR

    public static final XLink.Type LOCATOR
    A pointer to an external resource. Allows the `href`, `role`, `title` and `label` attributes, where `href` is mandatory and all other are optional.

  - ### RESOURCE

    public static final XLink.Type RESOURCE
    An internal resource. Allows the `role`, `title` and `label` attributes, all of them being optional.

  - ### ARC

    public static final XLink.Type ARC
    A traversal rule between resources. Allows the `arcrole`, `title`, `show`, `actuate` `from` and `to` attributes, all of them being optional.

  - ### TITLE

    public static final XLink.Type TITLE
    A descriptive title for another linking element.

  - ### AUTO

    public static final XLink.Type AUTO
    A special value for computing the type automatically from the `XLink` attributes. After a call to `XLink​.setType(AUTO)`, any call to `XLink​.getType()` will infer the type from the non-null attributes as according the table documented in the `XLink` javadoc.

- ## Method Details

  - ### values

    public static XLink.Type[] values()
    Returns an array containing the constants of this enum class, in the order they are declared.
    Returns:
      an array containing the constants of this enum class, in the order they are declared

  - ### valueOf

    public static XLink.Type valueOf(String name)
    Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (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:
      `IllegalArgumentException` - if this enum class has no constant with the specified name
      `NullPointerException` - if the argument is null