public class Document extends Node
This class supports the command pattern: It can execute classes implementing the Command interface. It also supports unlimited undo/redo. When using the command interface, each change will increment a version counter. Notice that the version counter is not incremented if the document tree is modified directly.
UPPAAL timed automata model document can be loaded from a file or Internet by using a PrototypeDocument.load() method:
Document doc = new PrototypeDocument().load(url);
The following code demonstrates how to create a document from scratch with
default properties (colors and so on) without using editor Command
s:
PrototypeDocument prototype = new PrototypeDocument(); Document doc = new Document(prototype); doc.setProperty("declarations", "clock x;"); // shared global clock xThen a template can be created and manipulated as follows:
Template t = doc.createTemplate(); // new TA template with defaults doc.insert(t, null).setProperty("name", "Template"); // insert and set the name t.setProperty("declarations", "clock y;"); // create local clock yThe timed automata elements can be created like-wise:
Location l0 = t.createLocation(); // create a location t.insert(l0, null).setProperty("name", "L0"); // insert and name it l0.setProperty("x", 0); // set the graphical position x l0.setProperty("y", 0); // set the graphical position y l0.setFlag("urgent", true); // make the location urgent Location l1 = t.createLocation(); t.insert(l1, l0).setProperty("name", "L1"); l1.setProperty("x", 200); l1.setProperty("y", 0); Edge e = t.createEdge(); // create an edge t.insert(e, l1); // insert it after location l1 (can be null) e.setSource(l0); // set the origin e.setTarget(l1); // set the destination e.setProperty("assignment", "x = 0, y = 0"); // add some assignmentsFinally a system declaration should be added:
doc.setProperty("system", "Process = Template();\n"+ "system Process;");Then the model can be saved into an XML file:
try { doc.save("sampledoc.xml"); } catch (IOException e) { e.printStackTrace(System.err); }For further examples, visit Engine on how to compile and interact with simulator and verifier.
listeners, properties, prototype
Constructor and Description |
---|
Document()
Constructor without a prototype.
|
Document(Element prototype)
Constructor using the given prototype.
|
Modifier and Type | Method and Description |
---|---|
void |
accept(Visitor visitor)
Accept a visitor.
|
LscTemplate |
createLscTemplate()
Creates a new stand-alone LSC template using a LSC prototype from the document.
|
Template |
createTemplate()
Creates a new stand-alone TA template using a template prototype from the document.
|
Document |
getDocument()
Returns the document of this element.
|
AbstractTemplate |
getLastTATemplate()
Returns the last TA template or null if no
such template exists.
|
QueryList |
getQueryList()
Returns the model of the list of queries defined in this document.
|
AbstractTemplate |
getTemplate(String name)
Returns the first template with the given name or null if no
such template exists.
|
AbstractTemplate |
getTemplates()
Returns the first template of the document.
|
String |
getVersion()
Get the current number of the document
|
static boolean |
merge(AbstractTemplate source,
AbstractTemplate target)
Merges the source template into target (useful for pasting from clipboard).
|
Element |
resolveXPath(String path)
Resolve the path
|
void |
save(File file)
Save the data into the file
|
clone, getFirst, getLast, getNext, getPrevious, insert, move, remove, setPrototype
acceptSafe, addListener, getColor, getCommandManager, getLocalProperty, getParent, getProperties, getProperty, getPropertyValue, getPrototype, getPrototypeFromParent, getTemplate, getX, getY, hasFlag, importInto, isPropertyLocal, removeListener, setCommandManager, setProperties, setProperty, setPropertyFromPath
public Document()
public Document(Element prototype)
prototype
- - The element prototypepublic String getVersion()
public QueryList getQueryList()
public Template createTemplate()
public LscTemplate createLscTemplate()
public AbstractTemplate getTemplates()
public AbstractTemplate getTemplate(String name)
name
- - The template namepublic AbstractTemplate getLastTATemplate()
public void accept(Visitor visitor) throws Exception
Element
public Document getDocument()
Element
getDocument
in class Element
public Element resolveXPath(String path)
path
- - The pathpublic void save(File file) throws IOException
file
- - The input fileIOException
- file system I/O error.public static boolean merge(AbstractTemplate source, AbstractTemplate target)
source
- - The source abstract templatetarget
- - The target abstract templateCopyright © 2014 Uppsala University and Aalborg University. All Rights Reserved.