com.ericsson.otp.erlang
Class OtpErlangAtom

java.lang.Object
  extended by com.ericsson.otp.erlang.OtpErlangObject
      extended by 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
static int maxAtomLength
          The maximun allowed length of an atom, in characters
 
Fields inherited from class com.ericsson.otp.erlang.OtpErlangObject
hashCodeValue
 
Constructor Summary
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
 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 maximun 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.