Module java.smartcardio
Package javax.smartcardio

## Class ATR

- java.lang.Object
- - javax.smartcardio.ATR

- All Implemented Interfaces:
    `Serializable`

      public final class ATR
      extends Object
      implements Serializable

  A Smart Card's answer-to-reset bytes. A Card's ATR object can be obtained by calling Card.getATR(). This class does not attempt to verify that the ATR encodes a semantically valid structure.

  Instances of this class are immutable. Where data is passed in or out via byte arrays, defensive cloning is performed.

  Since:
    1.6
  See Also:
    `Card.getATR()`, Serialized Form

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `ATR​(byte[] atr)` | Constructs an ATR from a byte array.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `boolean` | `equals​(Object obj)` | Compares the specified object with this ATR for equality.
    `byte[]` | `getBytes​()` | Returns a copy of the bytes in this ATR.
    `byte[]` | `getHistoricalBytes​()` | Returns a copy of the historical bytes in this ATR.
    `int` | `hashCode​()` | Returns the hash code value for this ATR.
    `String` | `toString​()` | Returns a string representation of this ATR.

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

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### ATR

          public ATR​(byte[] atr)

      Constructs an ATR from a byte array.
      Parameters:
        `atr` - the byte array containing the answer-to-reset bytes
      Throws:
        `NullPointerException` - if `atr` is null

  - ### Method Detail

    - #### getBytes

          public byte[] getBytes​()

      Returns a copy of the bytes in this ATR.
      Returns:
        a copy of the bytes in this ATR.

    - #### getHistoricalBytes

          public byte[] getHistoricalBytes​()

      Returns a copy of the historical bytes in this ATR. If this ATR does not contain historical bytes, an array of length zero is returned.
      Returns:
        a copy of the historical bytes in this ATR.

    - #### toString

          public String toString​()

      Returns a string representation of this ATR.
      Overrides:
        `toString` in class `Object`
      Returns:
        a String representation of this ATR.

    - #### equals

          public boolean equals​(Object obj)

      Compares the specified object with this ATR for equality. Returns true if the given object is also an ATR and its bytes are identical to the bytes in this ATR.
      Overrides:
        `equals` in class `Object`
      Parameters:
        `obj` - the object to be compared for equality with this ATR
      Returns:
        true if the specified object is equal to this ATR
      See Also:
        `Object.hashCode()`, `HashMap`

    - #### hashCode

          public int hashCode​()

      Returns the hash code value for this ATR.
      Overrides:
        `hashCode` in class `Object`
      Returns:
        the hash code value for this ATR.
      See Also:
        `Object.equals(java.lang.Object)`, `System.identityHashCode(java.lang.Object)`