visad.formula
Class FormulaManager

java.lang.Object
  extended by visad.formula.FormulaManager

public class FormulaManager
extends Object

The FormulaManager class is the gateway into the visad.formula package, a general-purpose formula parser and evaluator. Variables update automatically when the variables upon which they depend change. For an example of usage, see the FormulaUtil.createStandardManager() method.


Constructor Summary
FormulaManager(String[] binOps, int[] binPrec, String[] binMethods, String[] unaryOps, int[] unaryPrec, String[] unaryMethods, String[] functions, String[] funcMethods, int implicitPrec, String[] implicitMethods, String preParseMethod)
          construct a new FormulaManager object
 
Method Summary
 void assignFormula(String name, String formula)
          assign a formula to a variable
 boolean canBeRemoved(String name)
          check whether it is safe to remove a variable from the database
 void createVar(String name, ThingReference tr)
          add a variable to the database that uses tr as its ThingReference
 boolean exists(String name)
          check whether a given variable is currently in the database
 String[] getErrors(String name)
          get the current list of errors that occurred when evaluating "name" and clear the list
 String getFormula(String name)
          get a variable's current formula
 ThingReference getReference(String name)
          get a variable's associated ThingReference
 Thing getThing(String name)
          get a variable's current value
 void remove(String name)
          remove a variable from the database
 void setReference(String name, ThingReference tr)
          set a variable's ThingReference
 void setTextRef(String name, ThingReference textRef)
          set a variable to auto-update its formula based on a Text object referenced by a ThingReference (useful for remote formula updates)
 void setThing(String name, Thing t)
          set a variable's value directly
 void waitForFormula(String name)
          blocks until this variable's formula is finished computing
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FormulaManager

public FormulaManager(String[] binOps,
                      int[] binPrec,
                      String[] binMethods,
                      String[] unaryOps,
                      int[] unaryPrec,
                      String[] unaryMethods,
                      String[] functions,
                      String[] funcMethods,
                      int implicitPrec,
                      String[] implicitMethods,
                      String preParseMethod)
               throws FormulaException
construct a new FormulaManager object

Throws:
FormulaException
Method Detail

createVar

public void createVar(String name,
                      ThingReference tr)
               throws VisADException
add a variable to the database that uses tr as its ThingReference

Throws:
VisADException

assignFormula

public void assignFormula(String name,
                          String formula)
                   throws VisADException
assign a formula to a variable

Throws:
VisADException

waitForFormula

public void waitForFormula(String name)
                    throws VisADException
blocks until this variable's formula is finished computing

Throws:
VisADException

setTextRef

public void setTextRef(String name,
                       ThingReference textRef)
                throws VisADException,
                       RemoteException
set a variable to auto-update its formula based on a Text object referenced by a ThingReference (useful for remote formula updates)

Throws:
VisADException
RemoteException

getErrors

public String[] getErrors(String name)
get the current list of errors that occurred when evaluating "name" and clear the list


canBeRemoved

public boolean canBeRemoved(String name)
                     throws FormulaException
check whether it is safe to remove a variable from the database

Throws:
FormulaException

exists

public boolean exists(String name)
check whether a given variable is currently in the database


remove

public void remove(String name)
            throws FormulaException
remove a variable from the database

Throws:
FormulaException

setThing

public void setThing(String name,
                     Thing t)
              throws VisADException,
                     RemoteException
set a variable's value directly

Throws:
VisADException
RemoteException

setReference

public void setReference(String name,
                         ThingReference tr)
                  throws VisADException
set a variable's ThingReference

Throws:
VisADException

getThing

public Thing getThing(String name)
               throws FormulaException
get a variable's current value

Throws:
FormulaException

getReference

public ThingReference getReference(String name)
                            throws FormulaException
get a variable's associated ThingReference

Throws:
FormulaException

getFormula

public String getFormula(String name)
                  throws FormulaException
get a variable's current formula

Throws:
FormulaException