# Class AttributedCharacterIterator.Attribute

java.lang.Object
java.text.AttributedCharacterIterator.Attribute

All Implemented Interfaces:
  `Serializable`

Direct Known Subclasses:
  `Format.Field, TextAttribute`

Enclosing interface:
  `AttributedCharacterIterator`

public static class AttributedCharacterIterator.Attribute extends Object implements Serializable
Defines attribute keys that are used to identify text attributes. These keys are used in `AttributedCharacterIterator` and `AttributedString`.

Since:
  1.2
See Also:
  - `AttributedCharacterIterator`
  - `AttributedString`
  - Serialized Form

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final AttributedCharacterIterator.Attribute`
  `INPUT_METHOD_SEGMENT`
  Attribute key for input method segments.
  `static final AttributedCharacterIterator.Attribute`
  `LANGUAGE`
  Attribute key for the language of some text.
  `static final AttributedCharacterIterator.Attribute`
  `READING`
  Attribute key for the reading of some text.

- ## Constructor Summary

  Constructors
  Modifier
  Constructor
  Description
  `protected`
  `Attribute(String name)`
  Constructs an `Attribute` with the given name.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `final boolean`
  `equals(Object obj)`
  Compares two objects for equality.
  `protected String`
  `getName()`
  Returns the name of the attribute.
  `final int`
  `hashCode()`
  Returns a hash code value for the object.
  `protected Object`
  `readResolve()`
  Resolves instances being deserialized to the predefined constants.
  `String`
  `toString()`
  Returns a string representation of the object.

  ### Methods declared in class Object

  `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`
  Modifier and Type
  Method
  Description
  `protected Object`
  `clone()`
  Creates and returns a copy of this object.
  `protected void`
  `finalize()`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Finalization is deprecated and subject to removal in a future release.
  `final Class<?>`
  `getClass()`
  Returns the runtime class of this `Object`.
  `final void`
  `notify()`
  Wakes up a single thread that is waiting on this object's monitor.
  `final void`
  `notifyAll()`
  Wakes up all threads that are waiting on this object's monitor.
  `final void`
  `wait()`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted.
  `final void`
  `wait(long timeoutMillis)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.
  `final void`
  `wait(long timeoutMillis, int nanos)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

- ## Field Details

  - ### LANGUAGE

    public static final AttributedCharacterIterator.Attribute LANGUAGE
    Attribute key for the language of some text.

    Values are instances of `Locale`.

    See Also:
      - `Locale`

  - ### READING

    public static final AttributedCharacterIterator.Attribute READING
    Attribute key for the reading of some text. In languages where the written form and the pronunciation of a word are only loosely related (such as Japanese), it is often necessary to store the reading (pronunciation) along with the written form.

    Values are instances of `Annotation` holding instances of `String`.

    See Also:
      - `Annotation`
      - `String`

  - ### INPUT_METHOD_SEGMENT

    public static final AttributedCharacterIterator.Attribute INPUT_METHOD_SEGMENT
    Attribute key for input method segments. Input methods often break up text into segments, which usually correspond to words.

    Values are instances of `Annotation` holding a `null` reference.

    See Also:
      - `Annotation`

- ## Constructor Details

  - ### Attribute

    protected Attribute(String name)
    Constructs an `Attribute` with the given name.
    Parameters:
      `name` - the name of `Attribute`

- ## Method Details

  - ### equals

    public final boolean equals(Object obj)
    Compares two objects for equality. This version only returns true for `x.equals(y)` if `x` and `y` refer to the same object, and guarantees this for all subclasses.
    Overrides:
      `equals` in class `Object`
    Parameters:
      `obj` - the reference object with which to compare.
    Returns:
      `true` if this object is the same as the obj argument; `false` otherwise.
    See Also:
      - `Object.hashCode()`
      - `HashMap`

  - ### hashCode

    public final int hashCode()
    Returns a hash code value for the object. This version is identical to the one in `Object`, but is also final.
    Overrides:
      `hashCode` in class `Object`
    Returns:
      a hash code value for this object
    See Also:
      - `Object.equals(java.lang.Object)`
      - `System.identityHashCode(Object)`

  - ### toString

    public String toString()
    Returns a string representation of the object. This version returns the concatenation of class name, `"("`, a name identifying the attribute and `")"`.
    Overrides:
      `toString` in class `Object`
    Returns:
      a string representation of the object

  - ### getName

    protected String getName()
    Returns the name of the attribute.
    Returns:
      the name of `Attribute`

  - ### readResolve

    protected Object readResolve() throws InvalidObjectException
    Resolves instances being deserialized to the predefined constants.
    Returns:
      the resolved `Attribute` object
    Throws:
      `InvalidObjectException` - if the object to resolve is not an instance of `Attribute`