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

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 declared in class java.lang.Object

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

## Constructor Details

### 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 Details

### 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)`