algoanim.primitives.generators
Class Language

java.lang.Object
  extended by algoanim.primitives.generators.Language
Direct Known Subclasses:
VHDLLanguage

public abstract class Language
extends java.lang.Object

The abstract Language class defines the basic methods for all particular languages like AnimalScript for example, which then itselves provide functionality for output management, a name registry for primitives and factory methods for all supported primitives.

Author:
Jens Pfau, Stephan Mehlhase, Dima Vronskyi

Field Summary
 java.util.Vector<java.lang.String> hideInThisStep
          gather all primitives that are supposed to be hidden or shown in this step
static int INTERACTION_TYPE_AVINTERACTION
           
static int INTERACTION_TYPE_JHAVE_TEXT
           
static int INTERACTION_TYPE_JHAVE_XML
           
static int INTERACTION_TYPE_NONE
           
 java.util.HashMap<java.lang.String,InteractiveElement> interactiveElements
           
 java.util.Vector<java.lang.String> showInThisStep
          gather all primitives that are supposed to be hidden or shown in this step
static int UNDEFINED_SIZE
           
 
Constructor Summary
Language(java.lang.String title, java.lang.String author, int x, int y)
           
 
Method Summary
abstract  void addDocumentationLink(DocumentationLink docuLink)
           
 void addError(java.lang.String error)
          Adds another line at the end of the error buffer.
abstract  void addError(java.lang.StringBuilder error)
          Adds another line at the end of the error buffer.
abstract  void addFIBQuestion(FillInBlanksQuestion fibQuestion)
           
abstract  void addItem(Primitive p)
          Registers a newly created Primitive to the Language object.
 void addLine(java.lang.String line)
          Adds another line at the end of the output buffer.
abstract  void addLine(java.lang.StringBuilder line)
          Adds another line at the end of the output buffer.
abstract  void addMCQuestion(MultipleChoiceQuestion mcQuestion)
           
abstract  void addMSQuestion(MultipleSelectionQuestion msQuestion)
           
abstract  void addQuestionGroup(GroupInfo group)
           
abstract  void addTFQuestion(TrueFalseQuestion tfQuestion)
           
abstract  void finalizeGeneration()
          Method to be called before the content is accessed or written
abstract  java.lang.String getAnimationCode()
          Returns the generated animation code
abstract  int getStep()
          Gives the current animation step.
abstract  void hideAllPrimitives()
           
abstract  void hideAllPrimitivesExcept(java.util.List<Primitive> keepThese)
           
abstract  void hideAllPrimitivesExcept(Primitive keepThisOne)
           
abstract  boolean isNameUsed(java.lang.String name)
          Checks the internal primitive registry for the given name.
abstract  boolean isValidDirection(java.lang.String direction)
          Evaluates whether a given String describes a valid direction for movement operations.
 AndGate newAndGate(Node upperLeft, int width, int height, java.lang.String name, java.util.List<VHDLPin> pins, DisplayOptions display)
          Creates a new AndGate object.
abstract  AndGate newAndGate(Node upperLeft, int width, int height, java.lang.String name, java.util.List<VHDLPin> pins, DisplayOptions display, VHDLElementProperties properties)
          Creates a new AndGate object.
 Arc newArc(Node center, Node radius, java.lang.String name, DisplayOptions display)
           
abstract  Arc newArc(Node center, Node radius, java.lang.String name, DisplayOptions display, ArcProperties ap)
           
<T> ArrayBasedQueue<T>
newArrayBasedQueue(Node upperLeft, java.util.List<T> content, java.lang.String name, DisplayOptions display, int capacity)
          Creates a new ArrayBasedQueue object.
abstract
<T> ArrayBasedQueue<T>
newArrayBasedQueue(Node upperLeft, java.util.List<T> content, java.lang.String name, DisplayOptions display, QueueProperties qp, int capacity)
          Creates a new ArrayBasedQueue object.
<T> ArrayBasedStack<T>
newArrayBasedStack(Node upperLeft, java.util.List<T> content, java.lang.String name, DisplayOptions display, int capacity)
          Creates a new ArrayBasedStack object.
abstract
<T> ArrayBasedStack<T>
newArrayBasedStack(Node upperLeft, java.util.List<T> content, java.lang.String name, DisplayOptions display, StackProperties sp, int capacity)
          Creates a new ArrayBasedStack object.
 ArrayMarker newArrayMarker(ArrayPrimitive a, int index, java.lang.String name, DisplayOptions display)
          Creates a new ArrayMarker object.
abstract  ArrayMarker newArrayMarker(ArrayPrimitive a, int index, java.lang.String name, DisplayOptions display, ArrayMarkerProperties amp)
          Creates a new ArrayMarker object.
 Circle newCircle(Node center, int radius, java.lang.String name, DisplayOptions display)
          Creates a new Circle object.
abstract  Circle newCircle(Node center, int radius, java.lang.String name, DisplayOptions display, CircleProperties cp)
          Creates a new Circle object.
 CircleSeg newCircleSeg(Node center, int radius, java.lang.String name, DisplayOptions display)
          Creates a new CircleSeg object.
abstract  CircleSeg newCircleSeg(Node center, int radius, java.lang.String name, DisplayOptions display, CircleSegProperties cp)
          Creates a new CircleSeg object.
<T> ConceptualQueue<T>
newConceptualQueue(Node upperLeft, java.util.List<T> content, java.lang.String name, DisplayOptions display)
          Creates a new ConceptualQueue object.
abstract
<T> ConceptualQueue<T>
newConceptualQueue(Node upperLeft, java.util.List<T> content, java.lang.String name, DisplayOptions display, QueueProperties qp)
          Creates a new ConceptualQueue object.
<T> ConceptualStack<T>
newConceptualStack(Node upperLeft, java.util.List<T> content, java.lang.String name, DisplayOptions display)
          Creates a new ConceptualStack object.
abstract
<T> ConceptualStack<T>
newConceptualStack(Node upperLeft, java.util.List<T> content, java.lang.String name, DisplayOptions display, StackProperties sp)
          Creates a new ConceptualStack object.
 DoubleArray newDoubleArray(Node upperLeft, double[] data, java.lang.String name, ArrayDisplayOptions display)
          Creates a new DoubleArray object.
abstract  DoubleArray newDoubleArray(Node upperLeft, double[] data, java.lang.String name, ArrayDisplayOptions display, ArrayProperties iap)
          Creates a new DoubleArray object.
 DoubleMatrix newDoubleMatrix(Node upperLeft, double[][] data, java.lang.String name, DisplayOptions display)
          Creates a new DoubleMatrix object.
abstract  DoubleMatrix newDoubleMatrix(Node upperLeft, double[][] data, java.lang.String name, DisplayOptions display, MatrixProperties imp)
          Creates a new DoubleMatrix object.
 Ellipse newEllipse(Node center, Node radius, java.lang.String name, DisplayOptions display)
          Creates a new Ellipse object.
abstract  Ellipse newEllipse(Node center, Node radius, java.lang.String name, DisplayOptions display, EllipseProperties ep)
          Creates a new Ellipse object.
 EllipseSeg newEllipseSeg(Node center, Node radius, java.lang.String name, DisplayOptions display)
          Creates a new EllipseSeg object.
abstract  EllipseSeg newEllipseSeg(Node center, Node radius, java.lang.String name, DisplayOptions display, EllipseSegProperties cp)
          Creates a new EllipseSeg object.
 Graph newGraph(java.lang.String name, int[][] graphAdjacencyMatrix, Node[] graphNodes, java.lang.String[] labels, DisplayOptions display)
          Creates a new Ellipse object.
abstract  Graph newGraph(java.lang.String name, int[][] graphAdjacencyMatrix, Node[] graphNodes, java.lang.String[] labels, DisplayOptions display, GraphProperties props)
          Creates a new Ellipse object.
abstract  Group newGroup(java.util.LinkedList<Primitive> primitives, java.lang.String name)
          Creates a new element Group with a list of contained Primitives and a distinct name.
 IntArray newIntArray(Node upperLeft, int[] data, java.lang.String name, ArrayDisplayOptions display)
          Creates a new IntArray object.
abstract  IntArray newIntArray(Node upperLeft, int[] data, java.lang.String name, ArrayDisplayOptions display, ArrayProperties iap)
          Creates a new IntArray object.
 IntMatrix newIntMatrix(Node upperLeft, int[][] data, java.lang.String name, DisplayOptions display)
          Creates a new IntMatrix object.
abstract  IntMatrix newIntMatrix(Node upperLeft, int[][] data, java.lang.String name, DisplayOptions display, MatrixProperties imp)
          Creates a new IntMatrix object.
<T> ListBasedQueue<T>
newListBasedQueue(Node upperLeft, java.util.List<T> content, java.lang.String name, DisplayOptions display)
          Creates a new ListBasedQueue object.
abstract
<T> ListBasedQueue<T>
newListBasedQueue(Node upperLeft, java.util.List<T> content, java.lang.String name, DisplayOptions display, QueueProperties qp)
          Creates a new ListBasedQueue object.
<T> ListBasedStack<T>
newListBasedStack(Node upperLeft, java.util.List<T> content, java.lang.String name, DisplayOptions display)
          Creates a new ListBasedStack object.
abstract
<T> ListBasedStack<T>
newListBasedStack(Node upperLeft, java.util.List<T> content, java.lang.String name, DisplayOptions display, StackProperties sp)
          Creates a new ListBasedStack object.
abstract  ListElement newListElement(Node upperLeft, int pointers, java.util.LinkedList<java.lang.Object> ptrLocations, ListElement prev, ListElement next, java.lang.String name, DisplayOptions display, ListElementProperties lp)
          Creates a new ListElement object.
 ListElement newListElement(Node upperLeft, int pointers, java.util.LinkedList<java.lang.Object> ptrLocations, ListElement prev, java.lang.String name, DisplayOptions display)
          Creates a new ListElement object.
 ListElement newListElement(Node upperLeft, int pointers, java.util.LinkedList<java.lang.Object> ptrLocations, ListElement prev, java.lang.String name, DisplayOptions display, ListElementProperties lp)
          Creates a new ListElement object.
abstract  Point newPoint(Node coords, java.lang.String name, DisplayOptions display, PointProperties pp)
          Creates a new Point object.
 Polygon newPolygon(Node[] vertices, java.lang.String name, DisplayOptions display)
          Creates a new Polygon object.
abstract  Polygon newPolygon(Node[] vertices, java.lang.String name, DisplayOptions display, PolygonProperties pp)
          Creates a new Polygon object.
 Polyline newPolyline(Node[] vertices, java.lang.String name, DisplayOptions display)
          Creates a new Polyline object.
abstract  Polyline newPolyline(Node[] vertices, java.lang.String name, DisplayOptions display, PolylineProperties pp)
          Creates a new Polyline object.
 Rect newRect(Node upperLeft, Node lowerRight, java.lang.String name, DisplayOptions display)
          Creates a new Rect object.
abstract  Rect newRect(Node upperLeft, Node lowerRight, java.lang.String name, DisplayOptions display, RectProperties rp)
          Creates a new Rect object.
 SourceCode newSourceCode(Node upperLeft, java.lang.String name, DisplayOptions display)
          Creates a new SourceCode object.
abstract  SourceCode newSourceCode(Node upperLeft, java.lang.String name, DisplayOptions display, SourceCodeProperties sp)
          Creates a new SourceCode object.
 Square newSquare(Node upperLeft, int width, java.lang.String name, DisplayOptions display)
          Creates a new Square.
abstract  Square newSquare(Node upperLeft, int width, java.lang.String name, DisplayOptions display, SquareProperties sp)
          Creates a new Square.
 StringArray newStringArray(Node upperLeft, java.lang.String[] data, java.lang.String name, ArrayDisplayOptions display)
          Creates a new StringArray object.
abstract  StringArray newStringArray(Node upperLeft, java.lang.String[] data, java.lang.String name, ArrayDisplayOptions display, ArrayProperties sap)
          Creates a new StringArray object.
 StringMatrix newStringMatrix(Node upperLeft, java.lang.String[][] data, java.lang.String name, DisplayOptions display)
          Creates a new StringMatrix object.
abstract  StringMatrix newStringMatrix(Node upperLeft, java.lang.String[][] data, java.lang.String name, DisplayOptions display, MatrixProperties smp)
          Creates a new StringMatrix object.
 Text newText(Node upperLeft, java.lang.String text, java.lang.String name, DisplayOptions display)
          Creates a new Text object.
abstract  Text newText(Node upperLeft, java.lang.String text, java.lang.String name, DisplayOptions display, TextProperties tp)
          Creates a new Text object.
 Triangle newTriangle(Node x, Node y, Node z, java.lang.String name, DisplayOptions display)
          Creates a new Triangle object.
abstract  Triangle newTriangle(Node x, Node y, Node z, java.lang.String name, DisplayOptions display, TriangleProperties tp)
          Creates a new Triangle object.
abstract  Variables newVariables()
          Creates a new Variables object.
 void nextStep()
          If setStepMode(true) was called, calling nextStep() will start the next step.
 void nextStep(int delay)
          If setStepMode(true) was called, calling nextStep(int) will start the next step after the delay specified by the input parameter.
abstract  void nextStep(int delay, java.lang.String label)
          If setStepMode(true) was called, calling nextStep(int) will start the next step after the delay specified by the input parameter.
 void nextStep(java.lang.String label)
          If setStepMode(true) was called, calling nextStep(int) will start the next step after the delay specified by the input parameter.
abstract  void setInteractionType(int interactionTypeCode)
           
abstract  void setStepMode(boolean mode)
          This method is used to enable or disable the step mode.
abstract  java.util.Vector<java.lang.String> validDirections()
          The vector which is returned describes the valid direction statements regarding this actual language object.
abstract  void writeFile(java.lang.String fileName)
          Writes the output to the given file.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

INTERACTION_TYPE_NONE

public static final int INTERACTION_TYPE_NONE
See Also:
Constant Field Values

INTERACTION_TYPE_JHAVE_TEXT

public static final int INTERACTION_TYPE_JHAVE_TEXT
See Also:
Constant Field Values

INTERACTION_TYPE_JHAVE_XML

public static final int INTERACTION_TYPE_JHAVE_XML
See Also:
Constant Field Values

INTERACTION_TYPE_AVINTERACTION

public static final int INTERACTION_TYPE_AVINTERACTION
See Also:
Constant Field Values

UNDEFINED_SIZE

public static final int UNDEFINED_SIZE
See Also:
Constant Field Values

interactiveElements

public java.util.HashMap<java.lang.String,InteractiveElement> interactiveElements

hideInThisStep

public java.util.Vector<java.lang.String> hideInThisStep
gather all primitives that are supposed to be hidden or shown in this step


showInThisStep

public java.util.Vector<java.lang.String> showInThisStep
gather all primitives that are supposed to be hidden or shown in this step

Constructor Detail

Language

public Language(java.lang.String title,
                java.lang.String author,
                int x,
                int y)
Method Detail

addLine

public abstract void addLine(java.lang.StringBuilder line)
Adds another line at the end of the output buffer.

Parameters:
line - the line to add.

addLine

public void addLine(java.lang.String line)
Adds another line at the end of the output buffer.

Parameters:
line - the line to add.

addError

public abstract void addError(java.lang.StringBuilder error)
Adds another line at the end of the error buffer.

Parameters:
error - the line to add.

addError

public void addError(java.lang.String error)
Adds another line at the end of the error buffer.

Parameters:
error - the line to add.

addItem

public abstract void addItem(Primitive p)
Registers a newly created Primitive to the Language object.

Parameters:
p - the primitive to register.

writeFile

public abstract void writeFile(java.lang.String fileName)
Writes the output to the given file.

Parameters:
fileName - the target file.

finalizeGeneration

public abstract void finalizeGeneration()
Method to be called before the content is accessed or written


getAnimationCode

public abstract java.lang.String getAnimationCode()
Returns the generated animation code

Returns:
the animation code

getStep

public abstract int getStep()
Gives the current animation step. This step is created by calling nextStep().

Returns:
the current animation step.

isNameUsed

public abstract boolean isNameUsed(java.lang.String name)
Checks the internal primitive registry for the given name.

Parameters:
name - the name to check.
Returns:
if the given name is already in use.

validDirections

public abstract java.util.Vector<java.lang.String> validDirections()
The vector which is returned describes the valid direction statements regarding this actual language object.

Returns:
the directions which can be applied to move methods.

isValidDirection

public abstract boolean isValidDirection(java.lang.String direction)
Evaluates whether a given String describes a valid direction for movement operations.

Parameters:
direction - the String to check.
Returns:
whether the given String describes a valid direction.

setStepMode

public abstract void setStepMode(boolean mode)
This method is used to enable or disable the step mode. If disabled, each statement will occupy its own animation step. If enabled (mode=true), all subsequent statements will share the same animation step until the method nextStep is called. Statements grouped in the same step will be executed in parallel, but of course respecting the optional timing (delay, duration) specifiable for each statement.

Parameters:
mode - whether to enable stepmode or not.
See Also:
nextStep()

nextStep

public void nextStep()
If setStepMode(true) was called, calling nextStep() will start the next step.

See Also:
setStepMode(boolean)

nextStep

public void nextStep(int delay)
If setStepMode(true) was called, calling nextStep(int) will start the next step after the delay specified by the input parameter.

Parameters:
delay - the delay in ms to wait before the next step starts. Use -1 to specify that the next step will not start automatically.
See Also:
setStepMode(boolean)

nextStep

public void nextStep(java.lang.String label)
If setStepMode(true) was called, calling nextStep(int) will start the next step after the delay specified by the input parameter.

Parameters:
label - the label associated with the current step (may be null). If a label is given, it may be used as an anchor for navigating to the step.
See Also:
setStepMode(boolean)

nextStep

public abstract void nextStep(int delay,
                              java.lang.String label)
If setStepMode(true) was called, calling nextStep(int) will start the next step after the delay specified by the input parameter.

Parameters:
delay - the delay in ms to wait before the next step starts. Use -1 to specify that the next step will not start automatically.
label - the label associated with the current step (may be null). If a label is given, it may be used as an anchor for navigating to the step.
See Also:
setStepMode(boolean)

newPoint

public abstract Point newPoint(Node coords,
                               java.lang.String name,
                               DisplayOptions display,
                               PointProperties pp)
Creates a new Point object.

Parameters:
coords - the Points coordinates.
name - [optional] an arbitrary name which uniquely identifies this Point. If you don't want to set this, set this parameter to "null". The name is then created automatically.
display - [optional] a subclass of DisplayOptions which describes additional display options like a hidden flag or timings.
pp - [optional] user-defined properties to apply to this Point. If you don't want any user-defined properties to be set, then set this parameter to "null", default properties will be applied in that case.
Returns:
a Point

newArc

public Arc newArc(Node center,
                  Node radius,
                  java.lang.String name,
                  DisplayOptions display)
Parameters:
center - the center of the Arc.
radius - the radius of the Arc.
name - [optional] an arbitrary name which uniquely identifies this Arc. If you don't want to set this, set this parameter to "null". The name is then created automatically.
display - [optional] a subclass of DisplayOptions which describes additional display options like a hidden flag or timings.
Returns:
the new arc

newArc

public abstract Arc newArc(Node center,
                           Node radius,
                           java.lang.String name,
                           DisplayOptions display,
                           ArcProperties ap)
Parameters:
center - the center of the Arc.
radius - the radius of the Arc.
name - [optional] an arbitrary name which uniquely identifies this Arc. If you don't want to set this, set this parameter to "null". The name is then created automatically.
display - [optional] a subclass of DisplayOptions which describes additional display options like a hidden flag or timings.
ap - [optional] user-defined properties to apply to this Arc. If you don't want any user-defined properties to be set, then set this parameter to "null", default properties will be applied in that case.
Returns:
the new arc

newCircle

public Circle newCircle(Node center,
                        int radius,
                        java.lang.String name,
                        DisplayOptions display)
Creates a new Circle object.

Parameters:
center - the center of the Circle.
radius - the radius of the Circle.
name - [optional] an arbitrary name which uniquely identifies this Circle. If you don't want to set this, set this parameter to "null". The name is then created automatically.
display - [optional] a subclass of DisplayOptions which describes additional display options like a hidden flag or timings.
Returns:
a Circle.

newCircle

public abstract Circle newCircle(Node center,
                                 int radius,
                                 java.lang.String name,
                                 DisplayOptions display,
                                 CircleProperties cp)
Creates a new Circle object.

Parameters:
center - the center of the Circle.
radius - the radius of the Circle.
name - [optional] an arbitrary name which uniquely identifies this Circle. If you don't want to set this, set this parameter to "null". The name is then created automatically.
display - [optional] a subclass of DisplayOptions which describes additional display options like a hidden flag or timings.
cp - [optional] user-defined properties to apply to this Circle. If you don't want any user-defined properties to be set, then set this parameter to "null", default properties will be applied in that case.
Returns:
a Circle.

newCircleSeg

public abstract CircleSeg newCircleSeg(Node center,
                                       int radius,
                                       java.lang.String name,
                                       DisplayOptions display,
                                       CircleSegProperties cp)
Creates a new CircleSeg object.

Parameters:
center - the center of the CircleSeg.
radius - the radius of this CircleSeg.
name - [optional] an arbitrary name which uniquely identifies this CircleSeg. If you don't want to set this, set this parameter to "null". The name is then created automatically.
display - [optional] a subclass of DisplayOptions which describes additional display options like a hidden flag or timings.
cp - [optional] user-defined properties to apply to this CircleSeg. If you don't want any user-defined properties to be set, then set this parameter to "null", default properties will be applied in that case.
Returns:
a CircleSeg.

newEllipseSeg

public EllipseSeg newEllipseSeg(Node center,
                                Node radius,
                                java.lang.String name,
                                DisplayOptions display)
Creates a new EllipseSeg object.

Parameters:
center - the center of the EllipseSeg.
radius - the radius of this EllipseSeg.
name - [optional] an arbitrary name which uniquely identifies this EllipseSeg. If you don't want to set this, set this parameter to "null". The name is then created automatically.
display - [optional] a subclass of DisplayOptions which describes additional display options like a hidden flag or timings.
Returns:
a CircleSeg.

newEllipseSeg

public abstract EllipseSeg newEllipseSeg(Node center,
                                         Node radius,
                                         java.lang.String name,
                                         DisplayOptions display,
                                         EllipseSegProperties cp)
Creates a new EllipseSeg object.

Parameters:
center - the center of the EllipseSeg.
radius - the radius of this EllipseSeg.
name - [optional] an arbitrary name which uniquely identifies this EllipseSeg. If you don't want to set this, set this parameter to "null". The name is then created automatically.
display - [optional] a subclass of DisplayOptions which describes additional display options like a hidden flag or timings.
cp - [optional] user-defined properties to apply to this EllipseSeg. If you don't want any user-defined properties to be set, then set this parameter to "null", default properties will be applied in that case.
Returns:
a CircleSeg.

newEllipse

public abstract Ellipse newEllipse(Node center,
                                   Node radius,
                                   java.lang.String name,
                                   DisplayOptions display,
                                   EllipseProperties ep)
Creates a new Ellipse object.

Parameters:
center - the center of the Ellipse.
radius - the radius of the Ellipse.
name - [optional] an arbitrary name which uniquely identifies this Ellipse. If you don't want to set this, set this parameter to "null". The name is then created automatically.
display - [optional] a subclass of DisplayOptions which describes additional display options like a hidden flag or timings.
ep - [optional] user-defined properties to apply to this Ellipse. If you don't want any user-defined properties to be set, then set this parameter to "null", default properties will be applied in that case.
Returns:
a Ellipse.

newEllipse

public Ellipse newEllipse(Node center,
                          Node radius,
                          java.lang.String name,
                          DisplayOptions display)
Creates a new Ellipse object.

Parameters:
center - the center of the Ellipse.
radius - the radius of the Ellipse.
name - [optional] an arbitrary name which uniquely identifies this Ellipse. If you don't want to set this, set this parameter to "null". The name is then created automatically.
display - [optional] a subclass of DisplayOptions which describes additional display options like a hidden flag or timings.
Returns:
a Ellipse.

newCircleSeg

public CircleSeg newCircleSeg(Node center,
                              int radius,
                              java.lang.String name,
                              DisplayOptions display)
Creates a new CircleSeg object.

Parameters:
center - the center of the CircleSeg.
radius - the radius of this CircleSeg.
name - [optional] an arbitrary name which uniquely identifies this CircleSeg. If you don't want to set this, set this parameter to "null". The name is then created automatically.
display - [optional] a subclass of DisplayOptions which describes additional display options like a hidden flag or timings.
Returns:
a CircleSeg.

newGraph

public abstract Graph newGraph(java.lang.String name,
                               int[][] graphAdjacencyMatrix,
                               Node[] graphNodes,
                               java.lang.String[] labels,
                               DisplayOptions display,
                               GraphProperties props)
Creates a new Ellipse object.

Parameters:
name - [optional] an arbitrary name which uniquely identifies this Ellipse. If you don't want to set this, set this parameter to "null". The name is then created automatically.
graphAdjacencyMatrix - the graph's adjacency matrix
graphNodes - the nodes of the graph
labels - the labels of the graph's nodes
display - [optional] a subclass of DisplayOptions which describes additional display options like a hidden flag or timings.
props - [optional] user-defined properties to apply to this Graph. If you don't want any user-defined properties to be set, then set this parameter to "null", default properties will be applied in that case.
Returns:
a Graph.

newGraph

public Graph newGraph(java.lang.String name,
                      int[][] graphAdjacencyMatrix,
                      Node[] graphNodes,
                      java.lang.String[] labels,
                      DisplayOptions display)
Creates a new Ellipse object.

Parameters:
name - [optional] an arbitrary name which uniquely identifies this Ellipse. If you don't want to set this, set this parameter to "null". The name is then created automatically.
graphAdjacencyMatrix - the graph's adjacency matrix
graphNodes - the nodes of the graph
labels - the labels of the graph's nodes
display - [optional] a subclass of DisplayOptions which describes additional display options like a hidden flag or timings.
Returns:
a Graph.

newPolyline

public abstract Polyline newPolyline(Node[] vertices,
                                     java.lang.String name,
                                     DisplayOptions display,
                                     PolylineProperties pp)
Creates a new Polyline object.

Parameters:
vertices - the vertices of this Polyline.
name - [optional] an arbitrary name which uniquely identifies this Polyline. If you don't want to set this, set this parameter to "null". The name is then created automatically.
display - [optional] a subclass of DisplayOptions which describes additional display options like a hidden flag or timings.
pp - [optional] user-defined properties to apply to this Polyline. If you don't want any user-defined properties to be set, then set this parameter to "null", default properties will be applied in that case.
Returns:
a Polyline.

newPolyline

public Polyline newPolyline(Node[] vertices,
                            java.lang.String name,
                            DisplayOptions display)
Creates a new Polyline object.

Parameters:
vertices - the vertices of this Polyline.
name - [optional] an arbitrary name which uniquely identifies this Polyline. If you don't want to set this, set this parameter to "null". The name is then created automatically.
display - [optional] a subclass of DisplayOptions which describes additional display options like a hidden flag or timings.
Returns:
a Polyline.

newPolygon

public abstract Polygon newPolygon(Node[] vertices,
                                   java.lang.String name,
                                   DisplayOptions display,
                                   PolygonProperties pp)
                            throws NotEnoughNodesException
Creates a new Polygon object.

Parameters:
vertices - the vertices of this Polygon.
name - [optional] an arbitrary name which uniquely identifies this Polygon. If you don't want to set this, set this parameter to "null". The name is then created automatically.
display - [optional] a subclass of DisplayOptions which describes additional display options like a hidden flag or timings.
pp - [optional] user-defined properties to apply to this Polygon. If you don't want any user-defined properties to be set, then set this parameter to "null", default properties will be applied in that case.
Returns:
a Polygon.
Throws:
NotEnoughNodesException - Thrown if vertices contains less than 2 nodes.

newPolygon

public Polygon newPolygon(Node[] vertices,
                          java.lang.String name,
                          DisplayOptions display)
                   throws NotEnoughNodesException
Creates a new Polygon object.

Parameters:
vertices - the vertices of this Polygon.
name - [optional] an arbitrary name which uniquely identifies this Polygon. If you don't want to set this, set this parameter to "null". The name is then created automatically.
display - [optional] a subclass of DisplayOptions which describes additional display options like a hidden flag or timings.
Returns:
a Polygon.
Throws:
NotEnoughNodesException - Thrown if vertices contains less than 2 nodes.

newRect

public abstract Rect newRect(Node upperLeft,
                             Node lowerRight,
                             java.lang.String name,
                             DisplayOptions display,
                             RectProperties rp)
Creates a new Rect object.

Parameters:
upperLeft - the coordinates of the upper left corner of this Rect .
lowerRight - the coordinates of the lower right corner of this Rect.
name - [optional] an arbitrary name which uniquely identifies this Rect. If you don't want to set this, set this parameter to "null". The name is then created automatically.
display - [optional] a subclass of DisplayOptions which describes additional display options like a hidden flag or timings.
rp - [optional] user-defined properties to apply to this Rect. If you don't want any user-defined properties to be set, then set this parameter to "null", default properties will be applied in that case.
Returns:
a Rect.

newRect

public Rect newRect(Node upperLeft,
                    Node lowerRight,
                    java.lang.String name,
                    DisplayOptions display)
Creates a new Rect object.

Parameters:
upperLeft - the coordinates of the upper left corner of this Rect .
lowerRight - the coordinates of the lower right corner of this Rect.
name - [optional] an arbitrary name which uniquely identifies this Rect. If you don't want to set this, set this parameter to "null". The name is then created automatically.
display - [optional] a subclass of DisplayOptions which describes additional display options like a hidden flag or timings.
Returns:
a Rect.

newSquare

public abstract Square newSquare(Node upperLeft,
                                 int width,
                                 java.lang.String name,
                                 DisplayOptions display,
                                 SquareProperties sp)
Creates a new Square.

Parameters:
upperLeft - the coordinates of the upper left corner the Square.
width - the length of the edges of the Square.
name - [optional] an arbitrary name which uniquely identifies this Square. If you don't want to set this, set this parameter to "null". The name is then created automatically.
display - [optional] a subclass of DisplayOptions which describes additional display options like a hidden flag or timings.
sp - [optional] user-defined properties to apply to this Square. If you don't want any user-defined properties to be set, then set this parameter to "null", default properties will be applied in that case.
Returns:
a Square.

newSquare

public Square newSquare(Node upperLeft,
                        int width,
                        java.lang.String name,
                        DisplayOptions display)
Creates a new Square.

Parameters:
upperLeft - the coordinates of the upper left corner the Square.
width - the length of the edges of the Square.
name - [optional] an arbitrary name which uniquely identifies this Square. If you don't want to set this, set this parameter to "null". The name is then created automatically.
display - [optional] a subclass of DisplayOptions which describes additional display options like a hidden flag or timings.
Returns:
a Square.

newTriangle

public abstract Triangle newTriangle(Node x,
                                     Node y,
                                     Node z,
                                     java.lang.String name,
                                     DisplayOptions display,
                                     TriangleProperties tp)
Creates a new Triangle object.

Parameters:
x - the coordinates of the first node of the Triangle.
y - the coordinates of the second node of the Triangle.
z - the coordinates of the third node of the Triangle.
name - [optional] an arbitrary name which uniquely identifies this Triangle. If you don't want to set this, set this parameter to "null". The name is then created automatically.
display - [optional] a subclass of DisplayOptions which describes additional display options like a hidden flag or timings.
tp - [optional] user-defined properties to apply to this Triangle. If you don't want any user-defined properties to be set, then set this parameter to "null", default properties will be applied in that case.
Returns:
a Triangle.

newVariables

public abstract Variables newVariables()
Creates a new Variables object.

Returns:
Variables

newTriangle

public Triangle newTriangle(Node x,
                            Node y,
                            Node z,
                            java.lang.String name,
                            DisplayOptions display)
Creates a new Triangle object.

Parameters:
x - the coordinates of the first node of the Triangle.
y - the coordinates of the second node of the Triangle.
z - the coordinates of the third node of the Triangle.
name - [optional] an arbitrary name which uniquely identifies this Triangle. If you don't want to set this, set this parameter to "null". The name is then created automatically.
display - [optional] a subclass of DisplayOptions which describes additional display options like a hidden flag or timings.
Returns:
a Triangle.

newDoubleArray

public abstract DoubleArray newDoubleArray(Node upperLeft,
                                           double[] data,
                                           java.lang.String name,
                                           ArrayDisplayOptions display,
                                           ArrayProperties iap)
Creates a new DoubleArray object.

Parameters:
upperLeft - the upper left coordinates of the DoubleArray.
data - the initial data of the DoubleArray.
name - [optional] an arbitrary name which uniquely identifies this DoubleArray. If you don't want to set this, set this parameter to "null". The name is then created automatically.
display - [optional] a subclass of DisplayOptions which describes additional display options like a hidden flag or timings.
iap - [optional] user-defined properties to apply to this IntArray. If you don't want any user-defined properties to be set, then set this parameter to "null", default properties will be applied in that case.
Returns:
a IntArray.

newDoubleArray

public DoubleArray newDoubleArray(Node upperLeft,
                                  double[] data,
                                  java.lang.String name,
                                  ArrayDisplayOptions display)
Creates a new DoubleArray object.

Parameters:
upperLeft - the upper left coordinates of the DoubleArray.
data - the initial data of the DoubleArray.
name - [optional] an arbitrary name which uniquely identifies this DoubleArray. If you don't want to set this, set this parameter to "null". The name is then created automatically.
display - [optional] a subclass of DisplayOptions which describes additional display options like a hidden flag or timings.
Returns:
a IntArray.

newIntArray

public abstract IntArray newIntArray(Node upperLeft,
                                     int[] data,
                                     java.lang.String name,
                                     ArrayDisplayOptions display,
                                     ArrayProperties iap)
Creates a new IntArray object.

Parameters:
upperLeft - the upper left coordinates of the IntArray.
data - the initial data of the IntArray.
name - [optional] an arbitrary name which uniquely identifies this IntArray. If you don't want to set this, set this parameter to "null". The name is then created automatically.
display - [optional] a subclass of DisplayOptions which describes additional display options like a hidden flag or timings.
iap - [optional] user-defined properties to apply to this IntArray. If you don't want any user-defined properties to be set, then set this parameter to "null", default properties will be applied in that case.
Returns:
a IntArray.

newIntArray

public IntArray newIntArray(Node upperLeft,
                            int[] data,
                            java.lang.String name,
                            ArrayDisplayOptions display)
Creates a new IntArray object.

Parameters:
upperLeft - the upper left coordinates of the IntArray.
data - the initial data of the IntArray.
name - [optional] an arbitrary name which uniquely identifies this IntArray. If you don't want to set this, set this parameter to "null". The name is then created automatically.
display - [optional] a subclass of DisplayOptions which describes additional display options like a hidden flag or timings.
Returns:
a IntArray.

newDoubleMatrix

public abstract DoubleMatrix newDoubleMatrix(Node upperLeft,
                                             double[][] data,
                                             java.lang.String name,
                                             DisplayOptions display,
                                             MatrixProperties imp)
Creates a new DoubleMatrix object.

Parameters:
upperLeft - the upper left coordinates of the DoubleMatrix.
data - the initial data of the DoubleMatrix.
name - [optional] an arbitrary name which uniquely identifies this DoubleMatrix. If you don't want to set this, set this parameter to "null". The name is then created automatically.
display - [optional] a subclass of DisplayOptions which describes additional display options like a hidden flag or timings.
imp - [optional] user-defined properties to apply to this DoubleMatrix. If you don't want any user-defined properties to be set, then set this parameter to "null", default properties will be applied in that case.
Returns:
a DoubleMatrix.

newIntMatrix

public abstract IntMatrix newIntMatrix(Node upperLeft,
                                       int[][] data,
                                       java.lang.String name,
                                       DisplayOptions display,
                                       MatrixProperties imp)
Creates a new IntMatrix object.

Parameters:
upperLeft - the upper left coordinates of the IntMatrix.
data - the initial data of the IntMatrix.
name - [optional] an arbitrary name which uniquely identifies this IntMatrix. If you don't want to set this, set this parameter to "null". The name is then created automatically.
display - [optional] a subclass of DisplayOptions which describes additional display options like a hidden flag or timings.
imp - [optional] user-defined properties to apply to this IntMatrix. If you don't want any user-defined properties to be set, then set this parameter to "null", default properties will be applied in that case.
Returns:
a IntArray.

newDoubleMatrix

public DoubleMatrix newDoubleMatrix(Node upperLeft,
                                    double[][] data,
                                    java.lang.String name,
                                    DisplayOptions display)
Creates a new DoubleMatrix object.

Parameters:
upperLeft - the upper left coordinates of the DoubleMatrix.
data - the initial data of the DoubleMatrix.
name - [optional] an arbitrary name which uniquely identifies this DoubleMatrix. If you don't want to set this, set this parameter to "null". The name is then created automatically.
display - [optional] a subclass of DisplayOptions which describes additional display options like a hidden flag or timings.
Returns:
a DoubleMatrix.

newIntMatrix

public IntMatrix newIntMatrix(Node upperLeft,
                              int[][] data,
                              java.lang.String name,
                              DisplayOptions display)
Creates a new IntMatrix object.

Parameters:
upperLeft - the upper left coordinates of the IntMatrix.
data - the initial data of the IntMatrix.
name - [optional] an arbitrary name which uniquely identifies this IntMatrix. If you don't want to set this, set this parameter to "null". The name is then created automatically.
display - [optional] a subclass of DisplayOptions which describes additional display options like a hidden flag or timings.
Returns:
a IntArray.

newStringArray

public abstract StringArray newStringArray(Node upperLeft,
                                           java.lang.String[] data,
                                           java.lang.String name,
                                           ArrayDisplayOptions display,
                                           ArrayProperties sap)
Creates a new StringArray object.

Parameters:
upperLeft - the upper left coordinates of the StringArray.
data - the initial data of the StringArray.
name - [optional] an arbitrary name which uniquely identifies this StringArray. If you don't want to set this, set this parameter to "null". The name is then created automatically.
display - [optional] a subclass of DisplayOptions which describes additional display options like a hidden flag or timings.
sap - [optional] user-defined properties to apply to this StringArray. If you don't want any user-defined properties to be set, then set this parameter to "null", default properties will be applied in that case.
Returns:
a StringArray.

newStringArray

public StringArray newStringArray(Node upperLeft,
                                  java.lang.String[] data,
                                  java.lang.String name,
                                  ArrayDisplayOptions display)
Creates a new StringArray object.

Parameters:
upperLeft - the upper left coordinates of the StringArray.
data - the initial data of the StringArray.
name - [optional] an arbitrary name which uniquely identifies this StringArray. If you don't want to set this, set this parameter to "null". The name is then created automatically.
display - [optional] a subclass of DisplayOptions which describes additional display options like a hidden flag or timings.
Returns:
a StringArray.

newStringMatrix

public abstract StringMatrix newStringMatrix(Node upperLeft,
                                             java.lang.String[][] data,
                                             java.lang.String name,
                                             DisplayOptions display,
                                             MatrixProperties smp)
Creates a new StringMatrix object.

Parameters:
upperLeft - the upper left coordinates of the StringMatrix.
data - the initial data of the StringMatrix.
name - [optional] an arbitrary name which uniquely identifies this StringMatrix. If you don't want to set this, set this parameter to "null". The name is then created automatically.
display - [optional] a subclass of DisplayOptions which describes additional display options like a hidden flag or timings.
smp - [optional] user-defined properties to apply to this StringMatrix. If you don't want any user-defined properties to be set, then set this parameter to "null", default properties will be applied in that case.
Returns:
a StringMatrix.

newStringMatrix

public StringMatrix newStringMatrix(Node upperLeft,
                                    java.lang.String[][] data,
                                    java.lang.String name,
                                    DisplayOptions display)
Creates a new StringMatrix object.

Parameters:
upperLeft - the upper left coordinates of the StringMatrix.
data - the initial data of the StringMatrix.
name - [optional] an arbitrary name which uniquely identifies this StringMatrix. If you don't want to set this, set this parameter to "null". The name is then created automatically.
display - [optional] a subclass of DisplayOptions which describes additional display options like a hidden flag or timings.
Returns:
a StringMatrix.

newArrayMarker

public abstract ArrayMarker newArrayMarker(ArrayPrimitive a,
                                           int index,
                                           java.lang.String name,
                                           DisplayOptions display,
                                           ArrayMarkerProperties amp)
Creates a new ArrayMarker object.

Parameters:
a - the array which this ArrayMarker belongs to.
index - the current index at which this ArrayMarker is located.
name - [optional] an arbitrary name which uniquely identifies this ArrayMarker. If you don't want to set this, set this parameter to "null". The name is then created automatically.
display - [optional] a subclass of DisplayOptions which describes additional display options like a hidden flag or timings.
amp - [optional] user-defined properties to apply to this ArrayMarker. If you don't want any user-defined properties to be set, then set this parameter to "null", default properties will be applied in that case.
Returns:
an ArrayMarker.

newArrayMarker

public ArrayMarker newArrayMarker(ArrayPrimitive a,
                                  int index,
                                  java.lang.String name,
                                  DisplayOptions display)
Creates a new ArrayMarker object.

Parameters:
a - the array which this ArrayMarker belongs to.
index - the current index at which this ArrayMarker is located.
name - [optional] an arbitrary name which uniquely identifies this ArrayMarker. If you don't want to set this, set this parameter to "null". The name is then created automatically.
display - [optional] a subclass of DisplayOptions which describes additional display options like a hidden flag or timings.
Returns:
an ArrayMarker.

newListElement

public abstract ListElement newListElement(Node upperLeft,
                                           int pointers,
                                           java.util.LinkedList<java.lang.Object> ptrLocations,
                                           ListElement prev,
                                           ListElement next,
                                           java.lang.String name,
                                           DisplayOptions display,
                                           ListElementProperties lp)
Creates a new ListElement object.

Parameters:
upperLeft - the upper left coordinates of the ListElement.
pointers - the number of pointers between 0 and 255.
name - [optional] an arbitrary name which uniquely identifies this ListElement. If you don't want to set this, set this parameter to "null". The name is then created automatically.
display - [optional] a subclass of DisplayOptions which describes additional display options like a hidden flag or timings.
lp - [optional] user-defined properties to apply to this ListElement. If you don't want any user-defined properties to be set, then set this parameter to "null", default properties will be applied in that case.
Returns:
a ListElement.

newListElement

public ListElement newListElement(Node upperLeft,
                                  int pointers,
                                  java.util.LinkedList<java.lang.Object> ptrLocations,
                                  ListElement prev,
                                  java.lang.String name,
                                  DisplayOptions display,
                                  ListElementProperties lp)
Creates a new ListElement object.

Parameters:
upperLeft - the upper left coordinates of the ListElement.
pointers - the number of pointers between 0 and 255.
name - [optional] an arbitrary name which uniquely identifies this ListElement. If you don't want to set this, set this parameter to "null". The name is then created automatically.
display - [optional] a subclass of DisplayOptions which describes additional display options like a hidden flag or timings.
lp - [optional] user-defined properties to apply to this ListElement. If you don't want any user-defined properties to be set, then set this parameter to "null", default properties will be applied in that case.
Returns:
a ListElement.

newListElement

public ListElement newListElement(Node upperLeft,
                                  int pointers,
                                  java.util.LinkedList<java.lang.Object> ptrLocations,
                                  ListElement prev,
                                  java.lang.String name,
                                  DisplayOptions display)
Creates a new ListElement object.

Parameters:
upperLeft - the upper left coordinates of the ListElement.
pointers - the number of pointers between 0 and 255.
name - [optional] an arbitrary name which uniquely identifies this ListElement. If you don't want to set this, set this parameter to "null". The name is then created automatically.
display - [optional] a subclass of DisplayOptions which describes additional display options like a hidden flag or timings.
Returns:
a ListElement.

newSourceCode

public abstract SourceCode newSourceCode(Node upperLeft,
                                         java.lang.String name,
                                         DisplayOptions display,
                                         SourceCodeProperties sp)
Creates a new SourceCode object.

Parameters:
upperLeft - the upper left coordinates of this SourceCode.
name - [optional] an arbitrary name which uniquely identifies this SourceCode. If you don't want to set this, set this parameter to "null". The name is then created automatically.
display - [optional] a subclass of DisplayOptions which describes additional display options like a hidden flag or timings.
sp - [optional] user-defined properties to apply to this SourceCode. If you don't want any user-defined properties to be set, then set this parameter to "null", default properties will be applied in that case.
Returns:
a SourceCode.

newSourceCode

public SourceCode newSourceCode(Node upperLeft,
                                java.lang.String name,
                                DisplayOptions display)
Creates a new SourceCode object.

Parameters:
upperLeft - the upper left coordinates of this SourceCode.
name - [optional] an arbitrary name which uniquely identifies this SourceCode. If you don't want to set this, set this parameter to "null". The name is then created automatically.
display - [optional] a subclass of DisplayOptions which describes additional display options like a hidden flag or timings.
Returns:
a SourceCode.

newText

public abstract Text newText(Node upperLeft,
                             java.lang.String text,
                             java.lang.String name,
                             DisplayOptions display,
                             TextProperties tp)
Creates a new Text object.

Parameters:
upperLeft - the upper left coordinates of the Text
text - the content of the Text element
name - [optional] an arbitrary name which uniquely identifies this Text. If you don't want to set this, set this parameter to "null". The name is then created automatically.
display - [optional] a subclass of DisplayOptions which describes additional display options like a hidden flag or timings.
tp - [optional] user-defined properties to apply to this Text. If you don't want any user-defined properties to be set, then set this parameter to "null", default properties will be applied in that case.
Returns:
a Text.

newText

public Text newText(Node upperLeft,
                    java.lang.String text,
                    java.lang.String name,
                    DisplayOptions display)
Creates a new Text object.

Parameters:
upperLeft - the upper left coordinates of the Text
text - the content of the Text element
name - [optional] an arbitrary name which uniquely identifies this Text. If you don't want to set this, set this parameter to "null". The name is then created automatically.
display - [optional] a subclass of DisplayOptions which describes additional display options like a hidden flag or timings.
Returns:
a Text.

newAndGate

public AndGate newAndGate(Node upperLeft,
                          int width,
                          int height,
                          java.lang.String name,
                          java.util.List<VHDLPin> pins,
                          DisplayOptions display)
Creates a new AndGate object.

Parameters:
upperLeft - the upper left coordinates of the AndGate
width - the width of the gate element
height - the height of the gate element
name - [optional] an arbitrary name which uniquely identifies this element. If you don't want to set this, set this parameter to "null". The name is then created automatically.
pins - the pins used for this gate
display - [optional] a subclass of DisplayOptions which describes additional display options like a hidden flag or timings.
Returns:
a AndGate.

newAndGate

public abstract AndGate newAndGate(Node upperLeft,
                                   int width,
                                   int height,
                                   java.lang.String name,
                                   java.util.List<VHDLPin> pins,
                                   DisplayOptions display,
                                   VHDLElementProperties properties)
Creates a new AndGate object.

Parameters:
upperLeft - the upper left coordinates of the AndGate
width - the width of the gate element
height - the height of the gate element
name - [optional] an arbitrary name which uniquely identifies this element. If you don't want to set this, set this parameter to "null". The name is then created automatically.
pins - the pins used for this gate
display - [optional] a subclass of DisplayOptions which describes additional display options like a hidden flag or timings.
properties - the graphical properties of this element
Returns:
a AndGate.

newConceptualStack

public abstract <T> ConceptualStack<T> newConceptualStack(Node upperLeft,
                                                          java.util.List<T> content,
                                                          java.lang.String name,
                                                          DisplayOptions display,
                                                          StackProperties sp)
Creates a new ConceptualStack object.

Parameters:
upperLeft - the upper left coordinates of the ConceptualStack.
content - the initial content of the ConceptualStack, consisting of the elements of the generic type T. If the initial ConceptualStack has no elements, content can be null or an empty List.
name - [optional] an arbitrary name which uniquely identifies this ConceptualStack. If you don't want to set this, set this parameter to "null". The name is then created automatically.
display - [optional] a subclass of DisplayOptions which describes additional display options like a hidden flag or timings.
sp - [optional] user-defined properties to apply to this ConceptualStack. If you don't want any user-defined properties to be set, then set this parameter to "null", default properties will be applied in that case.
Returns:
a ConceptualStack.

newConceptualStack

public <T> ConceptualStack<T> newConceptualStack(Node upperLeft,
                                                 java.util.List<T> content,
                                                 java.lang.String name,
                                                 DisplayOptions display)
Creates a new ConceptualStack object.

Parameters:
upperLeft - the upper left coordinates of the ConceptualStack.
content - the initial content of the ConceptualStack, consisting of the elements of the generic type T. If the initial ConceptualStack has no elements, content can be null or an empty List.
name - [optional] an arbitrary name which uniquely identifies this ConceptualStack. If you don't want to set this, set this parameter to "null". The name is then created automatically.
display - [optional] a subclass of DisplayOptions which describes additional display options like a hidden flag or timings.
Returns:
a ConceptualStack.

newArrayBasedStack

public abstract <T> ArrayBasedStack<T> newArrayBasedStack(Node upperLeft,
                                                          java.util.List<T> content,
                                                          java.lang.String name,
                                                          DisplayOptions display,
                                                          StackProperties sp,
                                                          int capacity)
Creates a new ArrayBasedStack object.

Parameters:
upperLeft - the upper left coordinates of the ArrayBasedStack.
content - the initial content of the ConceptualStack, consisting of the elements of the generic type T. If the initial ArrayBasedStack has no elements, content can be null or an empty List.
name - [optional] an arbitrary name which uniquely identifies this ArrayBasedStack. If you don't want to set this, set this parameter to "null". The name is then created automatically.
display - [optional] a subclass of DisplayOptions which describes additional display options like a hidden flag or timings.
sp - [optional] user-defined properties to apply to this ArrayBasedStack. If you don't want any user-defined properties to be set, then set this parameter to "null", default properties will be applied in that case.
capacity - the capacity limit of this ArrayBasedStack; must be nonnegative.
Returns:
an ArrayBasedStack.

newArrayBasedStack

public <T> ArrayBasedStack<T> newArrayBasedStack(Node upperLeft,
                                                 java.util.List<T> content,
                                                 java.lang.String name,
                                                 DisplayOptions display,
                                                 int capacity)
Creates a new ArrayBasedStack object.

Parameters:
upperLeft - the upper left coordinates of the ArrayBasedStack.
content - the initial content of the ConceptualStack, consisting of the elements of the generic type T. If the initial ArrayBasedStack has no elements, content can be null or an empty List.
name - [optional] an arbitrary name which uniquely identifies this ArrayBasedStack. If you don't want to set this, set this parameter to "null". The name is then created automatically.
display - [optional] a subclass of DisplayOptions which describes additional display options like a hidden flag or timings.
capacity - the capacity limit of this ArrayBasedStack; must be nonnegative.
Returns:
an ArrayBasedStack.

newListBasedStack

public abstract <T> ListBasedStack<T> newListBasedStack(Node upperLeft,
                                                        java.util.List<T> content,
                                                        java.lang.String name,
                                                        DisplayOptions display,
                                                        StackProperties sp)
Creates a new ListBasedStack object.

Parameters:
upperLeft - the upper left coordinates of the ListBasedStack.
content - the initial content of the ConceptualStack, consisting of the elements of the generic type T. If the initial ListBasedStack has no elements, content can be null or an empty List.
name - [optional] an arbitrary name which uniquely identifies this ListBasedStack. If you don't want to set this, set this parameter to "null". The name is then created automatically.
display - [optional] a subclass of DisplayOptions which describes additional display options like a hidden flag or timings.
sp - [optional] user-defined properties to apply to this ListBasedStack. If you don't want any user-defined properties to be set, then set this parameter to "null", default properties will be applied in that case.
Returns:
a ListBasedStack.

newListBasedStack

public <T> ListBasedStack<T> newListBasedStack(Node upperLeft,
                                               java.util.List<T> content,
                                               java.lang.String name,
                                               DisplayOptions display)
Creates a new ListBasedStack object.

Parameters:
upperLeft - the upper left coordinates of the ListBasedStack.
content - the initial content of the ConceptualStack, consisting of the elements of the generic type T. If the initial ListBasedStack has no elements, content can be null or an empty List.
name - [optional] an arbitrary name which uniquely identifies this ListBasedStack. If you don't want to set this, set this parameter to "null". The name is then created automatically.
display - [optional] a subclass of DisplayOptions which describes additional display options like a hidden flag or timings.
Returns:
a ListBasedStack.

newConceptualQueue

public abstract <T> ConceptualQueue<T> newConceptualQueue(Node upperLeft,
                                                          java.util.List<T> content,
                                                          java.lang.String name,
                                                          DisplayOptions display,
                                                          QueueProperties qp)
Creates a new ConceptualQueue object.

Parameters:
upperLeft - the upper left coordinates of the ConceptualQueue.
content - the initial content of the ConceptualQueue, consisting of the elements of the generic type T. If the initial ConceptualQueue has no elements, content can be null or an empty List.
name - [optional] an arbitrary name which uniquely identifies this ConceptualQueue. If you don't want to set this, set this parameter to "null". The name is then created automatically.
display - [optional] a subclass of DisplayOptions which describes additional display options like a hidden flag or timings.
qp - [optional] user-defined properties to apply to this ConceptualQueue. If you don't want any user-defined properties to be set, then set this parameter to "null", default properties will be applied in that case.
Returns:
a ConceptualQueue.

newConceptualQueue

public <T> ConceptualQueue<T> newConceptualQueue(Node upperLeft,
                                                 java.util.List<T> content,
                                                 java.lang.String name,
                                                 DisplayOptions display)
Creates a new ConceptualQueue object.

Parameters:
upperLeft - the upper left coordinates of the ConceptualQueue.
content - the initial content of the ConceptualQueue, consisting of the elements of the generic type T. If the initial ConceptualQueue has no elements, content can be null or an empty List.
name - [optional] an arbitrary name which uniquely identifies this ConceptualQueue. If you don't want to set this, set this parameter to "null". The name is then created automatically.
display - [optional] a subclass of DisplayOptions which describes additional display options like a hidden flag or timings.
Returns:
a ConceptualQueue.

newArrayBasedQueue

public abstract <T> ArrayBasedQueue<T> newArrayBasedQueue(Node upperLeft,
                                                          java.util.List<T> content,
                                                          java.lang.String name,
                                                          DisplayOptions display,
                                                          QueueProperties qp,
                                                          int capacity)
Creates a new ArrayBasedQueue object.

Parameters:
upperLeft - the upper left coordinates of the ArrayBasedQueue.
content - the initial content of the ConceptualQueue, consisting of the elements of the generic type T. If the initial ArrayBasedQueue has no elements, content can be null or an empty List.
name - [optional] an arbitrary name which uniquely identifies this ArrayBasedQueue. If you don't want to set this, set this parameter to "null". The name is then created automatically.
display - [optional] a subclass of DisplayOptions which describes additional display options like a hidden flag or timings.
qp - [optional] user-defined properties to apply to this ArrayBasedQueue. If you don't want any user-defined properties to be set, then set this parameter to "null", default properties will be applied in that case.
capacity - the capacity limit of this ArrayBasedQueue; must be nonnegative.
Returns:
an ArrayBasedQueue.

newArrayBasedQueue

public <T> ArrayBasedQueue<T> newArrayBasedQueue(Node upperLeft,
                                                 java.util.List<T> content,
                                                 java.lang.String name,
                                                 DisplayOptions display,
                                                 int capacity)
Creates a new ArrayBasedQueue object.

Parameters:
upperLeft - the upper left coordinates of the ArrayBasedQueue.
content - the initial content of the ConceptualQueue, consisting of the elements of the generic type T. If the initial ArrayBasedQueue has no elements, content can be null or an empty List.
name - [optional] an arbitrary name which uniquely identifies this ArrayBasedQueue. If you don't want to set this, set this parameter to "null". The name is then created automatically.
display - [optional] a subclass of DisplayOptions which describes additional display options like a hidden flag or timings.
capacity - the capacity limit of this ArrayBasedQueue; must be nonnegative.
Returns:
an ArrayBasedQueue.

newListBasedQueue

public abstract <T> ListBasedQueue<T> newListBasedQueue(Node upperLeft,
                                                        java.util.List<T> content,
                                                        java.lang.String name,
                                                        DisplayOptions display,
                                                        QueueProperties qp)
Creates a new ListBasedQueue object.

Parameters:
upperLeft - the upper left coordinates of the ListBasedQueue.
content - the initial content of the ConceptualQueue, consisting of the elements of the generic type T. If the initial ListBasedQueue has no elements, content can be null or an empty List.
name - [optional] an arbitrary name which uniquely identifies this ListBasedQueue. If you don't want to set this, set this parameter to "null". The name is then created automatically.
display - [optional] a subclass of DisplayOptions which describes additional display options like a hidden flag or timings.
qp - [optional] user-defined properties to apply to this ListBasedQueue. If you don't want any user-defined properties to be set, then set this parameter to "null", default properties will be applied in that case.
Returns:
a ListBasedQueue.

newListBasedQueue

public <T> ListBasedQueue<T> newListBasedQueue(Node upperLeft,
                                               java.util.List<T> content,
                                               java.lang.String name,
                                               DisplayOptions display)
Creates a new ListBasedQueue object.

Parameters:
upperLeft - the upper left coordinates of the ListBasedQueue.
content - the initial content of the ConceptualQueue, consisting of the elements of the generic type T. If the initial ListBasedQueue has no elements, content can be null or an empty List.
name - [optional] an arbitrary name which uniquely identifies this ListBasedQueue. If you don't want to set this, set this parameter to "null". The name is then created automatically.
display - [optional] a subclass of DisplayOptions which describes additional display options like a hidden flag or timings.
Returns:
a ListBasedQueue.

newGroup

public abstract Group newGroup(java.util.LinkedList<Primitive> primitives,
                               java.lang.String name)
Creates a new element Group with a list of contained Primitives and a distinct name.

Parameters:
primitives - the contained Primitives.
name - the name of this Group.
Returns:
a new Group nobject.

addDocumentationLink

public abstract void addDocumentationLink(DocumentationLink docuLink)

addTFQuestion

public abstract void addTFQuestion(TrueFalseQuestion tfQuestion)

addFIBQuestion

public abstract void addFIBQuestion(FillInBlanksQuestion fibQuestion)

addMCQuestion

public abstract void addMCQuestion(MultipleChoiceQuestion mcQuestion)

addMSQuestion

public abstract void addMSQuestion(MultipleSelectionQuestion msQuestion)

addQuestionGroup

public abstract void addQuestionGroup(GroupInfo group)

setInteractionType

public abstract void setInteractionType(int interactionTypeCode)

hideAllPrimitives

public abstract void hideAllPrimitives()

hideAllPrimitivesExcept

public abstract void hideAllPrimitivesExcept(Primitive keepThisOne)

hideAllPrimitivesExcept

public abstract void hideAllPrimitivesExcept(java.util.List<Primitive> keepThese)