abbot.script
Class Action

java.lang.Object
  extended by abbot.script.Step
      extended by abbot.script.Call
          extended by abbot.script.Action
All Implemented Interfaces:
XMLConstants, XMLifiable, Serializable

public class Action
extends Call

Encapsulate an action. Usage:

<action method="..." args="...">
<action method="..." args="component_id[,...]" class="...">
An Action reproduces a user semantic action (such as a mouse click, menu selection, or drag/drop action) on a particular component. The id of the component being operated on must be the first argument, and the class of that component must be identified by the class tag if the action is not provided by the base ComponentTester class

Note that the method name is the name of the actionXXX method, e.g. to click a button (actionClick on AbstractButtonTester), the XML would appear thus:

<action method="actionClick" args="My Button" class=javax.swing.AbstractButton>
Note that if the first argument is a Component, the class tag is required. Note also that the specified class is the tested class, not the target class for the method invocation.

The target class for the method invocation is always a ComponentTester-derived class.

See Also:
Serialized Form

Field Summary
 
Fields inherited from interface abbot.script.XMLConstants
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 Summary
Action(Resolver resolver, Map attributes)
           
Action(Resolver resolver, String description, String methodName, String[] args)
          Action for a method in the ComponentTester base class.
Action(Resolver resolver, String description, String methodName, String[] args, Class targetClass)
           
 
Method Summary
protected  Method disambiguateMethod(Method[] methods)
          Try to distinguish betwenn the given methods.
protected  Object evaluateParameter(Method m, String param, Class type)
          Convert the String representation of the arguments into actual arguments.
 Map getAttributes()
          Return custom attributes for an Action.
 String getDefaultDescription()
          Return a default description for this action.
 Method getMethod()
          Resolve the method name into its final form.
protected  Object getTarget(Method m)
          Return the target of the invocation.
 Class getTargetClass()
          Get the class of the target of the method invocation.
 String getUsage()
          Return the proper XML usage for this step.
 String getXMLTag()
          Return the XML tag for this step.
protected  Method[] resolveMethods(String name, Class cls, Class returnType)
          Remove deprecated methods from those looked up.
 void setTargetClassName(String cn)
          Ensure the default class name is DEFAULT_CLASS_NAME The target class must be a subclass of java.awt.Component.
 
Methods inherited from class abbot.script.Call
evaluateParameters, getArgs, getArguments, getArgumentsDescription, getEncodedArguments, getMethodName, getMethods, getTargetClassName, invoke, resolveMethod, runStep, setArguments, setArguments, setMethodName
 
Methods inherited from class abbot.script.Step
addAttributes, addContent, createAttributeMap, createStep, createStep, getDescription, getResolver, parseStepAttributes, resolveClass, resolveTester, run, setDescription, setScriptError, simpleClassName, toEditableString, toString, toXML, toXMLString, usage, usage
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Action

public Action(Resolver resolver,
              Map attributes)

Action

public Action(Resolver resolver,
              String description,
              String methodName,
              String[] args)
Action for a method in the ComponentTester base class.


Action

public Action(Resolver resolver,
              String description,
              String methodName,
              String[] args,
              Class targetClass)
Method Detail

setTargetClassName

public void setTargetClassName(String cn)
Ensure the default class name is DEFAULT_CLASS_NAME The target class must be a subclass of java.awt.Component.

Overrides:
setTargetClassName in class Call

getXMLTag

public String getXMLTag()
Return the XML tag for this step.

Overrides:
getXMLTag in class Call

getAttributes

public Map getAttributes()
Return custom attributes for an Action.

Overrides:
getAttributes in class Call

getUsage

public String getUsage()
Return the proper XML usage for this step.

Overrides:
getUsage in class Call

getDefaultDescription

public String getDefaultDescription()
Return a default description for this action.

Overrides:
getDefaultDescription in class Call

getTargetClass

public Class getTargetClass()
                     throws ClassNotFoundException
Description copied from class: Call
Get the class of the target of the method invocation. This is public to provide editors access to the class being used (for example, providing a menu of all available methods).

Overrides:
getTargetClass in class Call
Throws:
ClassNotFoundException

evaluateParameter

protected Object evaluateParameter(Method m,
                                   String param,
                                   Class type)
                            throws Exception
Convert the String representation of the arguments into actual arguments.

Overrides:
evaluateParameter in class Call
Throws:
Exception

getTarget

protected Object getTarget(Method m)
                    throws ClassNotFoundException
Return the target of the invocation.

Overrides:
getTarget in class Call
Throws:
ClassNotFoundException

resolveMethods

protected Method[] resolveMethods(String name,
                                  Class cls,
                                  Class returnType)
                           throws NoSuchMethodException
Remove deprecated methods from those looked up.

Overrides:
resolveMethods in class Call
Throws:
NoSuchMethodException - if no matching method is found
See Also:
Call.getArguments()

getMethod

public Method getMethod()
                 throws ClassNotFoundException,
                        NoSuchMethodException
Resolve the method name into its final form.

Overrides:
getMethod in class Call
Throws:
ClassNotFoundException
NoSuchMethodException

disambiguateMethod

protected Method disambiguateMethod(Method[] methods)
Description copied from class: Call
Try to distinguish betwenn the given methods.

Overrides:
disambiguateMethod in class Call


Copyright © 2002-2008 Timothy Wall. All Rights Reserved.
Abbot is hosted on

SourceForge