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:
  • Field Details

    • maxAtomLength

      public static final int maxAtomLength
      The maximum allowed length of an atom, in characters
      See Also:
  • 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:
    • 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:
    • 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.