Class FieldConsole
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- java.awt.Panel
-
- java.applet.Applet
-
- com.singularsys.jepexamples.consoles.Console
-
- com.singularsys.extexamples.consoles.FieldConsole
-
- All Implemented Interfaces:
java.awt.event.KeyListener
,java.awt.image.ImageObserver
,java.awt.MenuContainer
,java.io.Serializable
,java.util.EventListener
,javax.accessibility.Accessible
- Direct Known Subclasses:
ExtensionsConsole
public class FieldConsole extends Console
A console application which can work with a number of different fields. The fields are set using thesetfield name
option. Sosetfield rational
will use rational numbers. The fields available are:- standard - normal jep operations, with most calculations in double and support for boolean, string and complex operations
- double - all calculations in doubles
- integer - all calculation in 32 bit integer numbers
- intdouble - a mix of ints and doubles, similar to the way java calculations with type conversion work. Numbers will be parsed as integers if possible or double if they contain a decimal point; operations on integers yield integers. Hence '5/2' gives 2 rounding as an integer but '5.0/2' gives 2.5.
- complex - all calculations using complex numbers
- bigdec - BigDecimal numbers with precision and rounding mode set in second and third arguments
- bigint - unlimited precision integers
- rational - unlimited precision rational numbers
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description class
FieldConsole.AllToComplesDecerator
class
FieldConsole.BigDecPFMC
class
FieldConsole.DoublePFMC
class
FieldConsole.RationalBigDecToDoubleDecerator
static class
FieldConsole.RationalDoubleNumberFactory
NumberFactory which creates rational numbers if possible otherwise doubles.class
FieldConsole.RationalPFMC
class
FieldConsole.RationalToBigDecDecerator
static class
FieldConsole.Type
Describes the type of Field used.-
Nested classes/interfaces inherited from class com.singularsys.jepexamples.consoles.Console
Console.JepPrintStream, Console.SPEC_ACTION
-
Nested classes/interfaces inherited from class java.applet.Applet
java.applet.Applet.AccessibleApplet
-
-
Field Summary
Fields Modifier and Type Field Description protected FieldI
baseField
Base field, does not normally include boolean and string operationsprotected java.text.DecimalFormat
decimalFormat
protected FieldCollection
fields
Set of fields with boolean and possibly string supportprotected FunctionTable
funTab
protected java.math.MathContext
mc
protected NumberFactory
numf
protected OperatorTable2
opTab
protected FieldConsole.Type
type
protected VariableFactory
varFac
protected VariableTable
varTab
-
Fields inherited from class com.singularsys.jepexamples.consoles.Console
doubleFormat, history, jep, showHistory, ta
-
-
Constructor Summary
Constructors Constructor Description FieldConsole()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
initBigDec()
protected void
initBigInt()
protected void
initComplex()
protected void
initDouble()
Initialisation for each field.protected void
initExactInteger()
void
initialise()
sets up all the needed objects.protected void
initInteger()
protected void
initMixed()
protected void
initRational()
protected void
initStandard()
static void
main(java.lang.String[] args)
Creates a new Console object and calls run()void
printHelp()
Print help message.void
setFormat(int maxDigits)
Console.SPEC_ACTION
testSpecialCommands(java.lang.String command)
Checks for special commands.java.lang.String
toString(java.lang.Object o)
Return string representation of object.-
Methods inherited from class com.singularsys.jepexamples.consoles.Console
getAppletInfo, getCommand, getPrompt, handleError, init, inputLoop, keyPressed, keyReleased, keyTyped, print, printFuns, printIntroText, println, printOps, printStdHelp, printVars, processCommand, processEquation, run, setAlteredCommand, setFormat, split
-
Methods inherited from class java.applet.Applet
destroy, getAccessibleContext, getAppletContext, getAudioClip, getAudioClip, getCodeBase, getDocumentBase, getImage, getImage, getLocale, getParameter, getParameterInfo, isActive, isValidateRoot, newAudioClip, play, play, resize, resize, setStub, showStatus, start, stop
-
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getInsets, getLayout, getListeners, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, paramString, preferredSize, print, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, removeNotify, setComponentZOrder, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, setLayout, transferFocusDownCycle, update, validate, validateTree
-
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getToolkit, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, requestFocusInWindow, reshape, revalidate, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setMixingCutoutShape, setName, setPreferredSize, setSize, setSize, setVisible, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
-
-
-
Field Detail
-
type
protected FieldConsole.Type type
-
mc
protected java.math.MathContext mc
-
numf
protected NumberFactory numf
-
opTab
protected OperatorTable2 opTab
-
varFac
protected VariableFactory varFac
-
varTab
protected VariableTable varTab
-
funTab
protected FunctionTable funTab
-
baseField
protected FieldI baseField
Base field, does not normally include boolean and string operations
-
fields
protected FieldCollection fields
Set of fields with boolean and possibly string support
-
decimalFormat
protected java.text.DecimalFormat decimalFormat
-
-
Method Detail
-
initialise
public void initialise()
Description copied from class:Console
sets up all the needed objects.- Overrides:
initialise
in classConsole
-
initDouble
protected void initDouble()
Initialisation for each field.
-
initStandard
protected void initStandard()
-
initBigDec
protected void initBigDec()
-
initBigInt
protected void initBigInt()
-
initMixed
protected void initMixed()
-
initInteger
protected void initInteger()
-
initExactInteger
protected void initExactInteger()
-
initRational
protected void initRational()
-
initComplex
protected void initComplex()
-
testSpecialCommands
public Console.SPEC_ACTION testSpecialCommands(java.lang.String command)
Description copied from class:Console
Checks for special commands. For example a subclass may have a verbose mode switched on of off using the commandverbose on
This method can be used detected this input, perform required actions and skip normal processing by returning true. In general sub classes should call the superclass methods to test for special commands that class implements- Overrides:
testSpecialCommands
in classConsole
- Returns:
- SPEC_ACTION.CONTINUE - continue processing this equation, SPEC_ACTION.BREAK - stop processing this equation and get the next line of input, SPEC_ACTION.ALTERED - the input text has been altered, SPEC_ACTION.EXIT stop the program
- See Also:
Console.split(String)
-
toString
public java.lang.String toString(java.lang.Object o)
Description copied from class:Console
Return string representation of object. Used the doubleFormat if specified.
-
printHelp
public void printHelp()
Description copied from class:Console
Print help message.
-
setFormat
public void setFormat(int maxDigits)
-
main
public static void main(java.lang.String[] args)
Creates a new Console object and calls run()
-
-