Package com.ericsson.otp.erlang

# Class OtpErlangAtom

java.lang.Object
com.ericsson.otp.erlang.OtpErlangObject
com.ericsson.otp.erlang.OtpErlangAtom

All Implemented Interfaces:
  `Serializable`, `Cloneable`

Direct Known Subclasses:
  `OtpErlangBoolean`

public class OtpErlangAtom extends OtpErlangObject
Provides a Java representation of Erlang atoms. Atoms can be created from strings whose length is not more than `maxAtomLength` characters.

See Also:
  - Serialized Form

## Nested Class Summary

## Nested classes/interfaces inherited from class com.ericsson.otp.erlang.OtpErlangObject

`OtpErlangObject.Hash`

## Field Summary

Fields
Modifier and Type
Field
Description
`static final int`
`maxAtomLength`
The maximum allowed length of an atom, in characters

### Fields inherited from class com.ericsson.otp.erlang.OtpErlangObject

`hashCodeValue`

## Constructor Summary

Constructors
Constructor
Description
`OtpErlangAtom(boolean t)`
Create an atom whose value is "true" or "false".
`OtpErlangAtom(OtpInputStream buf)`
Create an atom from a stream containing an atom encoded in Erlang external format.
`OtpErlangAtom(String atom)`
Create an atom from the given string.

## Method Summary

Modifier and Type
Method
Description
`String`
`atomValue()`
Get the actual string contained in this object.
`boolean`
`booleanValue()`
The boolean value of this atom.
`protected int`
`doHashCode()`
`void`
`encode(OtpOutputStream buf)`
Convert this atom to the equivalent Erlang external representation.
`boolean`
`equals(Object o)`
Determine if two atoms are equal.
`String`
`toString()`
Get the printname of the atom represented by this object.

### Methods inherited from class com.ericsson.otp.erlang.OtpErlangObject

`bind, clone, decode, hashCode, match`

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

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

## Field Details

### maxAtomLength

public static final int maxAtomLength
The maximum allowed length of an atom, in characters

See Also:
  - Constant Field Values

## Constructor Details

### OtpErlangAtom

public OtpErlangAtom(String atom)
Create an atom from the given string.

Parameters:
  `atom` - the string to create the atom from.
Throws:
  `IllegalArgumentException` - if the string is null or contains more than `maxAtomLength` characters.

### OtpErlangAtom

public OtpErlangAtom(OtpInputStream buf) throws OtpErlangDecodeException
Create an atom from a stream containing an atom encoded in Erlang external format.

Parameters:
  `buf` - the stream containing the encoded atom.
Throws:
  `OtpErlangDecodeException` - if the buffer does not contain a valid external representation of an Erlang atom.

### OtpErlangAtom

public OtpErlangAtom(boolean t)
Create an atom whose value is "true" or "false".

## Method Details

### atomValue

public String atomValue()
Get the actual string contained in this object.

Returns:
  the raw string contained in this object, without regard to Erlang quoting rules.
See Also:
  - `toString()`

### booleanValue

public boolean booleanValue()
The boolean value of this atom.

Returns:
  the value of this atom expressed as a boolean value. If the atom consists of the characters "true" (independent of case) the value will be true. For any other values, the value will be false.

### toString

public String toString()
Get the printname of the atom represented by this object. The difference between this method and {link #atomValue atomValue()} is that the printname is quoted and escaped where necessary, according to the Erlang rules for atom naming.

Specified by:
  `toString` in class `OtpErlangObject`
Returns:
  the printname representation of this atom object.
See Also:
  - `atomValue()`

### equals

public boolean equals(Object o)
Determine if two atoms are equal.

Specified by:
  `equals` in class `OtpErlangObject`
Parameters:
  `o` - the other object to compare to.
Returns:
  true if the atoms are equal, false otherwise.

### doHashCode

protected int doHashCode()

Overrides:
  `doHashCode` in class `OtpErlangObject`

### encode

public void encode(OtpOutputStream buf)
Convert this atom to the equivalent Erlang external representation.

Specified by:
  `encode` in class `OtpErlangObject`
Parameters:
  `buf` - an output stream to which the encoded atom should be written.