package com.bytezone.diskbrowser.visicalc;

interface Value
{
  enum ValueType
  {
    VALUE, ERROR, NA
  }

  public double getValue ();          // if ValueType == VALUE

  public String getText ();           // if ValueType != VALUE

  public boolean isValueType (ValueType valueType);

  public ValueType getValueType ();

  public void calculate ();

  public String getTypeText ();       // Number/Function/Expression etc

  public boolean isVolatile ();

  public boolean isBoolean ();
}