public class Script extends Sequence implements Resolver
This takes a single filename as a constructor argument.
Use ScriptFixture and
ScriptTestSuite
to generate a suite by auto-generating a collection of Scripts.
StepRunner,
Fixture,
Launch,
Serialized Form| Modifier and Type | Field and Description |
|---|---|
static String |
INTERPRETER |
protected static String |
UNTITLED |
static String |
UNTITLED_FILE |
(package private) static boolean |
validate |
TAG_ACTION, TAG_APPLETVIEWER, TAG_ARCHIVE, TAG_ARGS, TAG_ASSERT, TAG_AWT, TAG_AWTTESTSCRIPT, TAG_BORDER_TITLE, TAG_CALL, TAG_CLASS, TAG_CLASSPATH, TAG_CODE, TAG_CODEBASE, TAG_COMMENT, TAG_COMPONENT, TAG_COUNT, TAG_DELEGATE, TAG_DESC, TAG_DOCBASE, TAG_EVENT, TAG_EXPR, TAG_FILENAME, TAG_FIXTURE, TAG_FORKED, TAG_HEIGHT, TAG_HORDER, TAG_ICON, TAG_ID, TAG_INDEX, TAG_INVERT, TAG_INVOKER, TAG_KEYCHAR, TAG_KEYCODE, TAG_KIND, TAG_LABEL, TAG_LAUNCH, TAG_METHOD, TAG_MODIFIERS, TAG_NAME, TAG_PARAMS, TAG_PARENT, TAG_POLL_INTERVAL, TAG_PROPERTY, TAG_ROOT, TAG_SAMPLE, TAG_SCRIPT, TAG_SEQUENCE, TAG_SLOW, TAG_STOP_ON_ERROR, TAG_STOP_ON_FAILURE, TAG_TAG, TAG_TERMINATE, TAG_TEXT, TAG_THREADED, TAG_TIMEOUT, TAG_TITLE, TAG_TRIGGER, TAG_TYPE, TAG_VALUE, TAG_VMARGS, TAG_VORDER, TAG_WAIT, TAG_WEIGHTED, TAG_WIDTH, TAG_WINDOW, TAG_X, TAG_Y| Constructor and Description |
|---|
Script()
Deprecated.
Use an explicit
Hierarchy instead. |
Script(Hierarchy h) |
Script(Resolver parent,
Map attributes) |
Script(String filename)
Deprecated.
Use an explicit
Hierarchy instead. |
Script(String filename,
Hierarchy h)
Create a
Script from the given file. |
| Modifier and Type | Method and Description |
|---|---|
ComponentReference |
addComponent(Component comp)
Add a new component reference for the given component.
|
void |
addComponentReference(ComponentReference ref)
Add a component reference directly, replacing any existing one with
the same ID.
|
(package private) ComponentReference |
addComponentReference(org.jdom.Element el)
Add a new component reference to the script.
|
org.jdom.Element |
addContent(org.jdom.Element el)
Save component references in addition to everything else.
|
void |
addStep(int index,
Step step)
Inserts a step at the given index in the sequence.
|
void |
addStep(Step step)
Adds a step to the end of the sequence.
|
void |
changeFile(File file)
Deprecated.
Use
setFile(File). |
void |
clear()
Set up a blank script, discarding any current state.
|
static int |
countLines(Sequence seq,
int index)
Return the number of XML lines in the given sequence that precede the
given index.
|
protected static Map |
createDefaultMap(String filename) |
Map |
getAttributes()
Provide XML attributes for this Step.
|
ComponentReference |
getComponentReference(Component comp)
Return the reference for the given component, or null if none yet
exists.
|
ComponentReference |
getComponentReference(String name)
Convert the given reference ID into a component reference.
|
Collection |
getComponentReferences()
Returns a sorted collection of ComponentReferences.
|
String |
getContext(Step step)
Return a meaningful description of where the Step came from.
|
ClassLoader |
getContextClassLoader()
|
String |
getDefaultDescription()
Return a default description for this
Script. |
File |
getDirectory()
All relative files should be accessed relative to this directory,
which is the directory where the script resides.
|
File |
getFile()
Return the file where this script is saved.
|
static File |
getFile(Step step)
Return the file which defines the given step.
|
String |
getFilename()
Return the (possibly relative) path to this script.
|
protected String |
getFullXMLString() |
Hierarchy |
getHierarchy()
Return the currently effective
Hierarchy of components. |
static int |
getLine(Step step)
Return the approximate line number of the given step.
|
String |
getName() |
Object |
getProperty(String name)
Provide retrieval of values from temporary storage.
|
File |
getRelativeTo()
By default, all pathnames are relative to the current working
directory.
|
UIContext |
getUIContext() |
String |
getUsage()
Returns a string describing the proper XML usage for this class.
|
String |
getVMArgs() |
String |
getXMLTag()
Define the XML tag to use for this script step.
|
boolean |
hasLaunch()
Return whether this
Script is launchable. |
boolean |
hasTerminate() |
boolean |
isAWTMode() |
boolean |
isDirty()
Has this script changed since the last save.
|
boolean |
isForked() |
static boolean |
isScript(File file)
Return whether the given file looks like a valid AWT script.
|
boolean |
isSlowPlayback() |
void |
load()
Read the script from the currently set file.
|
void |
load(Reader reader)
Loads the XML test script.
|
protected void |
parseAttributes(Map map)
Parse XML attributes for the Script.
|
protected void |
parseChild(org.jdom.Element el) |
static File |
resolveRelativeReferences(File file)
It turns out that getAbsolutePath doesn't remove any relative path
entries such as ..
|
protected void |
runStep(StepRunner runner)
Process each event in our list, using the given runner.
|
void |
save()
Write the script to file.
|
void |
save(Writer writer)
Write the current state of the script to file.
|
void |
setAWTMode(boolean awt) |
void |
setFile(File file)
Set the file system basis for this script object.
|
void |
setForked(boolean fork) |
void |
setHierarchy(Hierarchy h) |
void |
setProperty(String name,
Object value)
Provide temporary storage of String values.
|
void |
setRelativeTo(File dir)
Indicate that when invoking toXML, a path relative to the given one
should be shown.
|
void |
setSlowPlayback(boolean slow) |
void |
setStep(int index,
Step step)
Replaces the step at the given index.
|
void |
setVMArgs(String args) |
String |
toEditableString()
Only thing directly editable on a script is its file path.
|
createChildrenFromReader, createSequenceFromString, getStep, indexOf, parseChildren, removeStep, removeStep, runStep, size, stepsaddAttributes, createAttributeMap, createStep, createStep, getDescription, getResolver, resolveClass, resolveTester, run, setDescription, setScriptError, simpleClassName, toString, toXML, toXMLString, usage, usagepublic static final String INTERPRETER
static boolean validate
public static final String UNTITLED_FILE
protected static final String UNTITLED
public Script()
Hierarchy instead.public Script(String filename)
Hierarchy instead.Script from the given filename. Uses the
default Hierarchy.public Script(Hierarchy h)
public void setHierarchy(Hierarchy h)
public String getName()
public void setForked(boolean fork)
public boolean isForked()
public void setVMArgs(String args)
public String getVMArgs()
public boolean isSlowPlayback()
public void setSlowPlayback(boolean slow)
public boolean isAWTMode()
public void setAWTMode(boolean awt)
public File getFile()
public void changeFile(File file)
setFile(File).public void setFile(File file)
public void save(Writer writer) throws IOException
IOExceptionpublic String toEditableString()
toEditableString in interface XMLifiabletoEditableString in class Sequencepublic boolean isDirty()
public void save()
throws IOException
IOExceptionprotected void parseAttributes(Map map)
parseAttributes in class Stepprotected void parseChild(org.jdom.Element el)
throws InvalidScriptException
parseChild in class SequenceInvalidScriptExceptionpublic void load(Reader reader) throws InvalidScriptException, IOException
reader - Provides the script dataInvalidScriptExceptionIOExceptionpublic void addStep(int index,
Step step)
Sequencepublic void addStep(Step step)
Sequencepublic void setStep(int index,
Step step)
public void load()
throws IOException
IOExceptionprotected String getFullXMLString()
public String getXMLTag()
Steppublic org.jdom.Element addContent(org.jdom.Element el)
addContent in class Sequencepublic String getFilename()
public Map getAttributes()
getAttributes in class Stepprotected void runStep(StepRunner runner) throws Throwable
Sequencepublic void clear()
public String getUsage()
Sequencepublic String getDefaultDescription()
Script.getDefaultDescription in class Sequencepublic boolean hasLaunch()
Script is launchable.public UIContext getUIContext()
UIContext responsible for setting up
a UI context for this script, or
null if the script has no UI to speak of.public ClassLoader getContextClassLoader()
getContextClassLoader in interface ResolverThread.getContextClassLoader()public boolean hasTerminate()
public File getRelativeTo()
public void setRelativeTo(File dir)
public static File resolveRelativeReferences(File file)
file - The input file to tidy up.IllegalArgumentException - If the number of ".." entries outnumber
those of the normal path entries.public static boolean isScript(File file)
public File getDirectory()
getDirectory in interface Resolverpublic Collection getComponentReferences()
getComponentReferences in interface Resolverpublic void addComponentReference(ComponentReference ref)
addComponentReference in interface Resolverpublic ComponentReference addComponent(Component comp)
addComponent in interface ResolverComponentReference addComponentReference(org.jdom.Element el) throws InvalidScriptException
InvalidScriptExceptionpublic ComponentReference getComponentReference(Component comp)
getComponentReference in interface Resolverpublic ComponentReference getComponentReference(String name)
getComponentReference in interface Resolverpublic void setProperty(String name, Object value)
ResolversetProperty in interface Resolverpublic Object getProperty(String name)
ResolvergetProperty in interface Resolverpublic Hierarchy getHierarchy()
Hierarchy of components.getHierarchy in interface Resolverpublic String getContext(Step step)
getContext in interface Resolverpublic static int getLine(Step step)
public static int countLines(Sequence seq, int index)
Abbot is hosted on