Package com.ericsson.otp.erlang

## Class OtpErlangAtom

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

- All Implemented Interfaces:
    `java.io.Serializable`, `java.lang.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 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​(java.lang.String atom)` | Create an atom from the given string.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `java.lang.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​(java.lang.Object o)` | Determine if two atoms are equal.
    `java.lang.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 Detail

    - #### maxAtomLength

          public static final int maxAtomLength

      The maximum allowed length of an atom, in characters
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### OtpErlangAtom

          public OtpErlangAtom​(java.lang.String atom)

      Create an atom from the given string.
      Parameters:
        `atom` - the string to create the atom from.
      Throws:
        `java.lang.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 Detail

    - #### atomValue

          public java.lang.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 java.lang.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​(java.lang.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.