com.sri.oaa2.icl
Class ToInt

java.lang.Object
  |
  +--com.sri.oaa2.icl.ToInt
All Implemented Interfaces:
OaaPrologVisitor

public final class ToInt
extends java.lang.Object
implements OaaPrologVisitor

Objects of this class convert IclTerms to ints, if possible. Thus, this works for IclInt and IclFloat. If you don't want to implicitly convert IclFloats to ints, first check if the IclTerm is an IclInt using IclTerm.isInt().


Constructor Summary
protected ToInt()
           
 
Method Summary
 int from(IclTerm t)
          Convert an IclTerm to an int, if possible.
 int from(IclTerm t, int def)
          Convert an IclTerm to an int, if possible.
static ToInt getInstance()
          Get an instance of a ToInt object.
 java.lang.Object visit(IclFloat node, java.lang.Object data)
           
 java.lang.Object visit(IclGroup node, java.lang.Object data)
           
 java.lang.Object visit(IclInt node, java.lang.Object data)
           
 java.lang.Object visit(IclList node, java.lang.Object data)
           
 java.lang.Object visit(IclStr node, java.lang.Object data)
           
 java.lang.Object visit(IclStruct node, java.lang.Object data)
           
 java.lang.Object visit(IclTerm node, java.lang.Object data)
           
 java.lang.Object visit(IclVar node, java.lang.Object data)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ToInt

protected ToInt()
Method Detail

visit

public final java.lang.Object visit(IclTerm node,
                                    java.lang.Object data)
Specified by:
visit in interface OaaPrologVisitor

visit

public final java.lang.Object visit(IclStruct node,
                                    java.lang.Object data)
Specified by:
visit in interface OaaPrologVisitor

visit

public final java.lang.Object visit(IclList node,
                                    java.lang.Object data)
Specified by:
visit in interface OaaPrologVisitor

visit

public final java.lang.Object visit(IclGroup node,
                                    java.lang.Object data)
Specified by:
visit in interface OaaPrologVisitor

visit

public final java.lang.Object visit(IclInt node,
                                    java.lang.Object data)
Specified by:
visit in interface OaaPrologVisitor

visit

public final java.lang.Object visit(IclFloat node,
                                    java.lang.Object data)
Specified by:
visit in interface OaaPrologVisitor

visit

public final java.lang.Object visit(IclStr node,
                                    java.lang.Object data)
Specified by:
visit in interface OaaPrologVisitor

visit

public final java.lang.Object visit(IclVar node,
                                    java.lang.Object data)
Specified by:
visit in interface OaaPrologVisitor

getInstance

public static final ToInt getInstance()
Get an instance of a ToInt object. This avoids multiple calls to the constructor. ToInt is thread safe.


from

public final int from(IclTerm t,
                      int def)
Convert an IclTerm to an int, if possible. If not, return the given default.

Returns:
int: the IclTerm as an int, or the default value

from

public final int from(IclTerm t)
               throws java.lang.UnsupportedOperationException
Convert an IclTerm to an int, if possible. If not, throw an UnsupportedOperationException.

Returns:
int: the term as an int
Throws:
java.lang.UnsupportedOperationException - if no such conversion possible