All Packages Class Hierarchy This Package Previous Next Index
Class com.ibm.eNetwork.beans.HOD.Macro
java.lang.Object
|
+----com.ibm.eNetwork.beans.HOD.HODBean
|
+----com.ibm.eNetwork.beans.HOD.Macro
- public class Macro
- extends HODBean
- implements SendKeyListener, CommListener, ECLConstants, HODConstants, ScreenMouseListener
Macro bean contains functionality for playing and recording host terminal
user actions when it is wired to either a Terminal bean or a Session bean.
Think of the Macro bean as a state machine engine within the host screen
domain. That is, a macro that is played by the Macro bean should be thought
of as a series of screens and the actions for those screens. When the macro
"sees" a screen in the host presentation space, the
actions will be executed for that screen. If there are "next"
screens specified with the current screen, the Macro bean checks any
further screens from the host against the next screens for the current screen.
If there is a match, the cycle continues. If there isn't a match, the macro
ends in error. If there are no next screens specified, any screen is valid.
This cycle continues until a screen is encountered that is specified as a
stop screen. Note: if a start screen is specified (and there can be only one)
the macro will not start playing unless the start screen matches.
It follows then that a macro is a series of screen statements. These screen
statements each have 3 main elements: the description, the actions, and the
next screens. The description is used to describe how the screen looks.
Keywords, host screen attributes, field count, OIA state, and cursor position
are the main ways to describe a screen. The actions are the steps the Macro
bean should take when it "sees" a screen that matches the description.
Actions can be keystrokes, data extraction, prompts, and user messages, among others.
Note that the Macro bean ignores any screen changes while actions are being
executed. The next screens are optional and are basically just pointers to
valid next screens after the actions take place. Next screens must correspond
to existing screens in the macro and are the way to enforce control flow from
screen to screen.
The preferred language for Macro bean is XML. The Macro bean generates
and parses macros as XML. All the developer
needs to do is call the Macro.setMacro method with the XML string and the
Macro bean will parse the macro if it is syntactically correct. Refer to the
macro XML syntax document for details on how to write XML macros.
The Macro bean also supports the deprecated Host On-Demand Version 3.0 language but further
use of this language is not encouraged.
You may not save recorded macros from the Macro bean
using the Version 3.0 syntax.
You are not limited to XML or the Version 3.0 language. If you want, you can
implement your own parser in conjunction with the Macro bean. The parser you
implement must keep the concept of screens and their actions. This is the only
restriction. This is possible because the internal storage representation of
a macro is contained in the MacroScreens class, which has its own method called
Macro.setParsedMacro. Macro can be initialized with a macroScreens object using
the setParsedMacro method.
The exposure of the MacroScreens class offers another benefit. You can
skip the parsing step if you already have a working macro that you want
to use again (for example, server side Java). MacroScreens is serializable,
so all you need to do is call Macro.getParsedMacro and serialize and save the
MacroScreens object returned. By skipping the parsing step, you remove all the
overhead from parsing in your application. See the MacroScreens description for
more information on the use of this class.
There are three basic ways to get a working macro:
let the Macro bean record it, load in a previously written XML file, or
assemble a MacroScreens object correctly yourself.
If you use the record feature of the Macro bean, any host interaction by the user
will be recorded automatically. This is limited to rudimentary screen descriptions
and keystrokes. You must design your application to take advantage of the other
features of the Macro bean such as screen data extraction, detailed screen descriptions,
prompting and so forth. There are methods on the Macro bean that your application can call
while the bean is in record mode (insertPrompt, insertDataExtract, etc).
Also, you can set up the Macro bean with an XML file and it will parse
the file for you. This requires a syntactically correct file, which you can
check at runtime using the MacroParseListener/MacroParseEvent model. If there
are any errors in the file, the Macro bean will report it in the parse event.
Finally, if you assemble the MacroScreens object yourself, the Macro bean has virtually
unlimited extensibility. You can create any action derived from the MacroAction
class to suit your needs. You can also do custom screen recognition beyond what
the ECLScreenDesc can do by using the ECLSDCustom class contained in the
IBM Host Access Class Library.
The following describes a way you would use the Macro bean:
- Instantiate a Macro bean and a Terminal or Session bean.
- Wire CommEvents and SendKeys events from Terminal or Session to Macro.
- Set up the Terminal or Session bean (host name or IP address, etc.).
- Call startCommunication on Terminal or Session.
- A CommEvent is fired to the Macro bean when startCommunication is successful. You can
assume that the Macro bean is ready to use when communications start successfully.
To verify the state of the Macro bean, you can implement MacroRuntimeListener and monitor
MacroStateEvents. When the Macro.STATE_EMPTY state is received, the macro is ready to
start recording.
- Populate the Macro bean with a macro using one of the three methods explained above.
- After you have recorded or set a macro you will be free to play it.
- If you are having difficulties playing the macro (timing out, for example),
it is likely that the screens you have described in the macro are not matching.
Implement the MacroDebugListener interface to analyze the screen comparison
results.
Macro States
The following illustrates which function calls are allowed in each state:
|
Disconnected |
Stopped |
Empty |
Playing |
Play Paused |
Play Error |
Recording |
Record Paused |
Record Error |
clear | X | X | X | | | X | | | X |
setMacro | X | X | X | | | X | | | X |
getMacro | X | X | | | | X | | | X |
play | | X | | | X | X | | | X |
record | | X | X | | | X | | X | X |
pause | | | | X | | | X | | |
stop | | | | X | X | | X | X | |
Properties
The following table lists the properties of the Macro Bean:
* - Properties with type "enum" are String types that accept a specific set
of string values. The valid values for an enum property can be obtained by calling the list <property name>
method. The set method for enum properties validates the value before any changes are accepted, and a PropertyVetoException
is thrown if an value is given that is not valid.
Note: All properties are bound and vetoable. A PropertyChangeEvent is fired
to all PropertyChangeListeners after a property is changed. A vetoable PropertyChangeEvent is fired to all VetoableChangeListeners
before a property is changed. Vetoable PropertyChangeListeners can veto a property change by throwing a PropertyVetoException.
Property Name |
Type |
Default |
Access |
macroName |
String |
zero length string |
read/write |
macroDescription |
String |
zero length string |
read/write |
macroAuthor |
String |
zero length string |
read/write |
macroDate |
String |
zero length string |
read/write |
standardTimeout |
int |
60000 (mSec) |
read/write |
pauseTime |
int |
300 (mSec) |
read/write |
initialPrompt |
boolean |
true |
read/write |
skipNullPrompts |
boolean |
false |
read/write |
recordUI |
boolean |
false |
read/write |
empty |
boolean |
true |
read |
state |
int |
STATE_DISCONNECTED |
read |
Events Fired
-
AUTHOR
- Author property keyword.
-
CAPTURE_BOTTOM
- Use with the insertScreenDesc method to capture the bottom row(s) of the
current screen.
-
CAPTURE_TOP
- Use with the insertScreenDesc method to capture the top row(s) of the current
screen.
-
DATE
- Date property keyword.
-
DESCRIPTION
- Description property keyword.
-
EID_INVALID_PARM
- User supplied an invalid parameter
-
EID_M_INTERNAL_ERR
- Macro has encountered an internal error
-
EID_M_INVALID_NS
- Invalid next screen
-
EID_M_MISSING_SD
- Missing screen descriptor
-
EID_M_RECO_LIMIT_GOTO_NOTFOUND
- reco limit reached and the goto screen not found
-
EID_M_RECO_LIMIT_NOGOTO
- reco limit reached without a next screen specified
-
EID_M_TIMED_OUT
- Macro timed out
-
EID_MACRO_COMMWAIT_FALSE
- macro COMMWAIT was false
-
EID_MACRO_PROMPT_ERR
- Macro has encountered an prompt error
-
EMPTY
- Empty property keyword.
-
FINAL_SCREEN_BOUNDARY
- FinalScreenBoundary property keyword.
-
INITIAL_PROMPT
- InitialPrompt property keyword.
-
INITIAL_SCREEN_BOUNDARY
- InitialScreenBoundary property keyword.
-
NAME
- Name property keyword.
-
PAUSE_TIME
- PauseTime property keyword.
-
RECORD_UI
- RecordUI property keyword.
-
STANDARD_TIMEOUT
- StandardTimeout property keyword.
-
STATE
- State property keyword.
-
STATE_DISCONNECTED
- State property value.
-
STATE_EMPTY
- State property value.
-
STATE_INTERNAL_ERROR
- State property value.
-
STATE_PLAY_ERROR
- State property value.
-
STATE_PLAY_PAUSED
- State property value.
-
STATE_PLAYING
- State property value.
-
STATE_RECORD_ERROR
- State property value.
-
STATE_RECORD_PAUSED
- State property value.
-
STATE_RECORDING
- State property value.
-
STATE_STOPPED
- State property value.
-
STATE_USER_ERROR
- State property value.
-
Macro()
- Macro Bean null constructor.
-
Macro(Properties)
- Constructor which takes a Properties object containing the initial
property settings.
-
addMacroCustomActionListener(MacroCustomActionListener)
- Adds the given MacroCustomActionListener to the macro.
-
addMacroDebugListener(MacroDebugListener)
- Adds the given MacroDebugListener to the macro.
-
addMacroExtractCoordListener(MacroExtractCoordListener)
- Adds the given MacroExtractCoordListener to the macro.
-
addMacroLoopListener(MacroLoopListener)
- Adds the given MacroLoopListener to the macro.
-
addMacroParseListener(MacroParseListener)
- Adds the given MacroParseListener to the macro.
-
addMacroRuntimeListener(MacroRuntimeListener)
- Adds the given MacroRuntimeListener to the macro.
-
addMacroTickTockListener(MacroTickTockListener)
- Adds the given MacroTickTockListener to the macro.
-
beginScreen(String, int, boolean, boolean)
- Starts a new screen element in the currently recording macro.
Deprecated.
-
clear()
- Clears the current macro from the Macro bean.
-
clone()
- Returns a new instance of Macro with the same properties as the current Macro.
-
dispose()
- Cleans up Macro's base environment and working storage.
-
endScreen()
- Wraps up and saves the current macro screen in recording.
Deprecated.
-
getMacro()
- Returns the current macro to a String.
-
getMacro(OutputStream)
- Returns the current macro to an output stream.
-
getMacro(PrintWriter)
- Returns the current macro to a PrintWriter.
-
getMacroArray()
- Returns the current macro to a string array.
-
getMacroAuthor()
- Returns the author of the macro.
-
getMacroDate()
- Returns the date of the macro.
-
getMacroDescription()
- Returns the description of the macro.
-
getMacroName()
- Returns the name of the macro.
-
getParsedMacro()
- Returns the current macro as a MacroScreens object.
-
getPauseTime()
- Returns the pause value for the macro.
-
getPSEventType()
- Returns the type of Presentation Space (PS) event that the Macro bean
monitors for screen matching.
-
getStandardTimeout()
- Returns the standard timeout value for the macro.
-
getState()
- Returns the current state of the Macro Bean.
-
insertConnectionWait(int, int)
- Inserts a waitForConnection statement into the current macro.
Deprecated.
-
insertCustomAction(String, String)
- Inserts a custom action into the current macro screen during recording.
-
insertDataExtract(String, int, int, int, int)
- Method that inserts a data extract sequence into the macro string.
-
insertInput(String, boolean, boolean)
- Inserts an input action into the current macro screen during recording.
-
insertInput(String, int, int, boolean, boolean)
- Inserts an input action into the current macro screen during recording.
-
insertMessage(String, String)
- Inserts a message action into the current macro screen during recording.
-
insertOIAWait()
- Inserts a standard OIA wait into the current macro.
Deprecated.
-
insertPause(long)
- Inserts a pause action into the current macro screen during recording.
-
insertPrompt(int, int, int, String, String, boolean)
- Inserts a user prompt sequence into the current macro.
-
insertPrompt(int, int, int, String, String, boolean, boolean, boolean)
- Inserts a password user prompt sequence into the current macro.
-
insertPrompt(String, String, String, String, String, boolean)
- Inserts a user prompt sequence into the current macro.
Deprecated.
-
insertPrompt(String, String, String, String, String, boolean, String)
- Inserts a password user prompt sequence into the current macro.
Deprecated.
-
insertScreenDesc(boolean, boolean, boolean, boolean)
- Inserts new screen description elements into the current macro screen.
-
insertScreenDesc(boolean, boolean, String, String)
- Inserts a new Smart Wait sequence into the current macro.
Deprecated.
-
insertScreenDesc(int, int)
- Inserts a new screen string description element into the current macro screen.
-
insertScreenDesc(int, int, int, int)
- Inserts a screen string description element into the current macro screen.
-
insertSDAttrib(char, int, int, int, boolean, boolean)
- Inserts an attribute description element into the current screen based on the
given parameters.
-
insertSDBlock(String[], int, int, boolean, boolean, boolean)
- Inserts a block description element into the current screen based on the
given parameters.
-
insertSDBlock(String[], int, int, int, int, boolean, boolean, boolean)
- Inserts a block description element into the current screen based on the
given parameters.
-
insertSDCursor(int, int, boolean, boolean)
- Inserts a cursor position description element into the current screen based
on the given parameters.
-
insertSDCustom(ECLCustomRecoListener, String, boolean)
- Inserts a custom description element into the current screen based on the
given parameters.
-
insertSDFields(int, boolean, boolean)
- Inserts a field count description element into the current screen based on the
given parameters.
-
insertSDInputFields(int, boolean, boolean)
- Inserts an input field count description element into the current screen
based on the given parameters.
-
insertSDOIA(int, boolean, boolean)
- Inserts an OIA status description element into the current screen based on the
given parameters.
-
insertSDString(String, int, int, boolean, boolean, boolean)
- Inserts a string description element into the current screen based on the
given parameters.
-
insertSDString(String, int, int, int, int, boolean, boolean, boolean)
- Inserts a string description element into the current screen based on the
given parameters.
-
insertTrace(String, int)
- Inserts a trace action into the current macro screen during recording.
-
insertXfer(int, String, String, String, boolean, int, String, String, String, String, String, String)
- Inserts a file transfer action into the current macro screen during recording.
Deprecated.
-
insertXfer(int, String, String, String, boolean, int, String, String, String, String, String, String, String, String, String)
- Inserts a file transfer action into the current macro screen during recording.
-
isEmpty()
- Returns a flag that indicates if a macro is currently loaded.
-
isFinalScreenBoundary()
- Returns whether a screen boundary is inserted at the end of the macro source
code.
Deprecated.
-
isInitialPrompt()
- Returns the flag that controls whether Macro prescans for prompts.
-
isInitialScreenBoundary()
- Returns whether a screen boundary is inserted at the start of the macro source
code.
Deprecated.
-
isRecordUI()
- Returns whether the Macro will record user interface events on the
Terminal bean.
-
isSkipNullPrompts()
- Returns whether the Macro will skip prompt action that don't have
values instead of stopping and firing and error event.
-
linkScreens(String, String)
- Links valid MacroNextScreens to a given Screen in the macro.
-
linkScreens(String, String, int)
- Links valid MacroNextScreens to a given Screen in the macro.
-
pause()
- Pauses recording or playing the macro.
-
play()
- Plays the current macro.
-
play(String)
- Plays the current macro starting with the given screen.
-
play(String, int)
- Plays the current macro starting with the given screen and action.
-
record()
- Starts recording a macro, or resumes recording if the Macro is
in STATE_RECORD_PAUSED.
-
record(boolean)
- Starts recording a macro, or resumes recording if the Macro is
in STATE_RECORD_PAUSED.
-
removeMacroCustomActionListener(MacroCustomActionListener)
- Removes the given MacroCustomActionListener from the macro.
-
removeMacroDebugListener(MacroDebugListener)
- Removes the given MacroDebugListener from the macro.
-
removeMacroExtractCoordListener(MacroExtractCoordListener)
- Removes the given MacroExtractCoordListener from the macro.
-
removeMacroLoopListener(MacroLoopListener)
- Removes the given MacroLoopListener from the macro.
-
removeMacroParseListener(MacroParseListener)
- Removes the given MacroParseListener from the macro.
-
removeMacroRuntimeListener(MacroRuntimeListener)
- Removes the given MacroRuntimeListener from the macro.
-
removeMacroTickTockListener(MacroTickTockListener)
- Removes the given MacroTickTockListener from the macro.
-
setCurrentScreenName(String)
- Sets the name of the current screen during recording.
-
setCurrentScreenTransient(boolean)
- Sets the current screen in recording to transient.
-
setCurrentStartScreen(boolean)
- Sets the startscreen attribute of the currently recording screen to the given
value.
Deprecated.
-
setCurrentStopScreen(boolean)
- Sets the stopscreen attribute of the currently recording screen to the given
value.
Deprecated.
-
setCustomRecoListener(ECLCustomRecoListener, String)
- Registers a custom recognition listener with a given ID.
-
setFinalScreenBoundary(boolean)
- Sets whether a screen boundary is inserted at the end of the macro source
code.
Deprecated.
-
setInitialPrompt(boolean)
- Sets the flag that controls whether Macro prescans for prompts.
-
setInitialScreenBoundary(boolean)
- Sets whether a screen boundary is inserted at the start of the macro source
code.
Deprecated.
-
setMacro(BufferedReader)
- Sets the current macro from a buffered reader.
-
setMacro(InputStream)
- Sets the current macro from an input stream.
-
setMacro(String)
- Sets the current macro from a string.
-
setMacroArray(String[])
- Sets the current macro from a string array.
-
setMacroAuthor(String)
- Sets the author of the macro.
-
setMacroDate(String)
- Sets the creation date of the macro.
-
setMacroDescription(String)
- Sets the description of the macro.
-
setMacroName(String)
- Sets the name of the macro.
-
setParsedMacro(MacroScreens)
- Sets the current macro from a MacroScreens object.
-
setPauseTime(int)
- Sets the pause value for the macro.
-
setPrompts(MacroPrompts)
- Sets the prompts after a MacroPromptEvent has been handled.
-
setPSEventType(int)
- Sets the type of Presentation Space (PS) event that the Macro bean
monitors for screen matching.
-
setRecordUI(boolean)
- Sets whether the Macro will record user interface events on the
Terminal bean.
-
setScreenTimeout(int)
- Sets the timeout value for any next screens specified in the current screen.
-
setScreenTimeout(String, int)
- Sets the timeout value for any next screens specified in the screen
with the given name.
-
setSkipNullPrompts(boolean)
- Sets whether the Macro will skip prompt action that don't have
values instead of stopping and firing and error event.
-
setStandardTimeout(int)
- Sets the standard timeout value for the macro.
-
setUnrecordedText(String)
- Puts text into the presentation space during recording without recording
the keystrokes.
-
setUnrecordedText(String, int, int)
- Puts text into the presentation space during recording without recording
the keystrokes.
-
stop()
- Stops recording or playing the macro.
-
toString()
- Returns the current macro as a string.
NAME
public static final String NAME
- Name property keyword.
DESCRIPTION
public static final String DESCRIPTION
- Description property keyword.
AUTHOR
public static final String AUTHOR
- Author property keyword.
DATE
public static final String DATE
- Date property keyword.
STANDARD_TIMEOUT
public static final String STANDARD_TIMEOUT
- StandardTimeout property keyword.
PAUSE_TIME
public static final String PAUSE_TIME
- PauseTime property keyword.
INITIAL_PROMPT
public static final String INITIAL_PROMPT
- InitialPrompt property keyword.
RECORD_UI
public static final String RECORD_UI
- RecordUI property keyword.
STATE
public static final String STATE
- State property keyword.
INITIAL_SCREEN_BOUNDARY
public static final String INITIAL_SCREEN_BOUNDARY
- InitialScreenBoundary property keyword.
FINAL_SCREEN_BOUNDARY
public static final String FINAL_SCREEN_BOUNDARY
- FinalScreenBoundary property keyword.
EMPTY
public static final String EMPTY
- Empty property keyword.
STATE_STOPPED
public static final int STATE_STOPPED
- State property value. Macro is stopped. A macro is loaded and ready but is not
playing or recording.
STATE_PLAYING
public static final int STATE_PLAYING
- State property value. Macro is playing.
STATE_RECORDING
public static final int STATE_RECORDING
- State property value. Macro is recording.
STATE_PLAY_PAUSED
public static final int STATE_PLAY_PAUSED
- State property value. Macro is playing, but is currently paused.
STATE_RECORD_PAUSED
public static final int STATE_RECORD_PAUSED
- State property value. Macro is recording, but currently paused. In this state keystrokes
entered on the screen are not recorded or added to the macro.
STATE_EMPTY
public static final int STATE_EMPTY
- State property value. Macro bean is initialized and connected to a session, but there is no
macro source code loaded.
STATE_DISCONNECTED
public static final int STATE_DISCONNECTED
- State property value. Macro is not currently connected to a session. Recording and playing
cannot be done in this state.
STATE_PLAY_ERROR
public static final int STATE_PLAY_ERROR
- State property value. Macro is stopped due to an error during playback.
This is the same as STATE_STOPPED with the added information that the
most recent play command failed to complete.
STATE_RECORD_ERROR
public static final int STATE_RECORD_ERROR
- State property value. Macro is stopped due to an error during recording.
This is the same as STATE_STOPPED with the added information that the
most recent record command failed to complete.
STATE_INTERNAL_ERROR
public static final int STATE_INTERNAL_ERROR
- State property value. Macro is stopped due to an internal error.
This state is treated the same as STATE_STOPPED.
STATE_USER_ERROR
public static final int STATE_USER_ERROR
- State property value. Macro has encountered a user error. Errors
occur when invalid data is passed on a Macro method invocation. This state
is treated the same as STATE_STOPPED.
CAPTURE_TOP
public static final int CAPTURE_TOP
- Use with the insertScreenDesc method to capture the top row(s) of the current
screen.
- See Also:
- insertScreenDesc
CAPTURE_BOTTOM
public static final int CAPTURE_BOTTOM
- Use with the insertScreenDesc method to capture the bottom row(s) of the
current screen.
- See Also:
- insertScreenDesc
EID_M_INTERNAL_ERR
public static final int EID_M_INTERNAL_ERR
- Macro has encountered an internal error
EID_INVALID_PARM
public static final int EID_INVALID_PARM
- User supplied an invalid parameter
EID_M_MISSING_SD
public static final int EID_M_MISSING_SD
- Missing screen descriptor
EID_M_INVALID_NS
public static final int EID_M_INVALID_NS
- Invalid next screen
EID_M_TIMED_OUT
public static final int EID_M_TIMED_OUT
- Macro timed out
EID_M_RECO_LIMIT_NOGOTO
public static final int EID_M_RECO_LIMIT_NOGOTO
- reco limit reached without a next screen specified
EID_M_RECO_LIMIT_GOTO_NOTFOUND
public static final int EID_M_RECO_LIMIT_GOTO_NOTFOUND
- reco limit reached and the goto screen not found
EID_MACRO_COMMWAIT_FALSE
public static final int EID_MACRO_COMMWAIT_FALSE
- macro COMMWAIT was false
EID_MACRO_PROMPT_ERR
public static final int EID_MACRO_PROMPT_ERR
- Macro has encountered an prompt error
Macro
public Macro()
- Macro Bean null constructor. This constructor uses the default
values for all properties.
Macro
public Macro(Properties p) throws PropertyVetoException
- Constructor which takes a Properties object containing the initial
property settings. Any properties which are not specified in the
Properties object are initialized to their default values.
- Parameters:
- p - the new Properties for the Macro Bean.
- Throws: PropertyVetoException
- Fired if an invalid property value
is given.
dispose
public void dispose()
- Cleans up Macro's base environment and working storage.
- Overrides:
- dispose in class HODBean
setUnrecordedText
public synchronized void setUnrecordedText(String text,
int row,
int col) throws MacroException
- Puts text into the presentation space during recording without recording
the keystrokes. Host action keys ([enter], [clear], and so forth) are translated.
Virtual row/column positioning is legal with this method. That is, it
is allowable to pass negative numbers in the row and col parameters.
If values are negative, the text will be placed appropriately from the
bottom of the screen (example, row = -2, places the text on the 2nd
to the last row on the screen). Negative numbers greater than the screen
size will wrap back to the bottom.
- Parameters:
- text - Text to be written to the PS
- row - Row where text is to be written. Passing 0 will cause an exception.
- col - Column where text is to be written. Passing 0 will cause an exception.
- Throws: MacroException
- thrown if a parameter is passed that is not valid or if Macro
experiences an internal error.
setUnrecordedText
public synchronized void setUnrecordedText(String text) throws MacroException
- Puts text into the presentation space during recording without recording
the keystrokes. Text is placed at the current cursor position. Host action
keys ([enter], [clear], and so forth.) are translated.
- Parameters:
- text - Text to be written to the PS
- Throws: MacroException
- thrown if a parameter is passed that is not valid or if Macro
experiences an internal error.
setCustomRecoListener
public void setCustomRecoListener(ECLCustomRecoListener listener,
String id) throws MacroException
- Registers a custom recognition listener with a given ID. Custom recognition
listeners can extend the basic ECLScreenDesc recognition functionality.
This is different from the AddCustom methods because it doesn't add
a descriptor to the ECLScreenDesc object, it registers a listener.
- Parameters:
- listener - listener that is called for recognition
- id - unique identifier for recognition
- Throws: MacroException
- thrown if a parameter is passed that is not valid or if Macro
experiences an internal error.
- See Also:
- ECLCustomRecoListener,
ECLCustomRecoEvent
addMacroRuntimeListener
public synchronized void addMacroRuntimeListener(MacroRuntimeListener listener) throws MacroException
- Adds the given MacroRuntimeListener to the macro.
- Parameters:
- listener - The MacroRuntimeListener to be added
- Throws: MacroException
- thrown if a parameter is passed that is not valid or if Macro
experiences an internal error.
- See Also:
- removeMacroRuntimeListener
removeMacroRuntimeListener
public synchronized void removeMacroRuntimeListener(MacroRuntimeListener listener) throws MacroException
- Removes the given MacroRuntimeListener from the macro.
- Parameters:
- listener - The MacroRuntimeListener to be removed
- Throws: MacroException
- thrown if a parameter is passed that is not valid or if Macro
experiences an internal error.
- See Also:
- addMacroRuntimeListener
addMacroTickTockListener
public synchronized void addMacroTickTockListener(MacroTickTockListener listener) throws MacroException
- Adds the given MacroTickTockListener to the macro.
- Parameters:
- listener - The MacroTickTockListener to be added
- Throws: MacroException
- thrown if a parameter is passed that is not valid or if Macro
experiences an internal error.
- See Also:
- removeMacroTickTockListener
removeMacroTickTockListener
public synchronized void removeMacroTickTockListener(MacroTickTockListener listener) throws MacroException
- Removes the given MacroTickTockListener from the macro.
- Parameters:
- listener - The MacroTickTockListener to be removed
- Throws: MacroException
- thrown if a parameter is passed that is not valid or if Macro
experiences an internal error.
- See Also:
- addMacroTickTockListener
addMacroExtractCoordListener
public synchronized void addMacroExtractCoordListener(MacroExtractCoordListener listener) throws MacroException
- Adds the given MacroExtractCoordListener to the macro.
- Parameters:
- listener - The MacroExtractCoordListener to be added
- Throws: MacroException
- thrown if a parameter is passed that is not valid or if Macro
experiences an internal error.
- See Also:
- removeMacroExtractCoordListener
removeMacroExtractCoordListener
public synchronized void removeMacroExtractCoordListener(MacroExtractCoordListener listener) throws MacroException
- Removes the given MacroExtractCoordListener from the macro.
- Parameters:
- listener - The MacroExtractCoordListener to be removed
- Throws: MacroException
- thrown if a parameter is passed that is not valid or if Macro
experiences an internal error.
- See Also:
- addMacroExtractCoordListener
addMacroLoopListener
public synchronized void addMacroLoopListener(MacroLoopListener listener) throws MacroException
- Adds the given MacroLoopListener to the macro.
- Parameters:
- listener - The MacroLoopListener to be added
- Throws: MacroException
- thrown if a parameter is passed that is not valid or if Macro
experiences an internal error.
- See Also:
- removeMacroLoopListener
removeMacroLoopListener
public synchronized void removeMacroLoopListener(MacroLoopListener listener) throws MacroException
- Removes the given MacroLoopListener from the macro.
- Parameters:
- listener - The MacroLoopListener to be removed
- Throws: MacroException
- thrown if a parameter is passed that is not valid or if Macro
experiences an internal error.
- See Also:
- addMacroLoopListener
addMacroParseListener
public synchronized void addMacroParseListener(MacroParseListener listener) throws MacroException
- Adds the given MacroParseListener to the macro.
- Parameters:
- listener - The MacroParseListener to be added
- Throws: MacroException
- thrown if a parameter is passed that is not valid or if Macro
experiences an internal error.
- See Also:
- removeMacroParseListener
removeMacroParseListener
public synchronized void removeMacroParseListener(MacroParseListener listener) throws MacroException
- Removes the given MacroParseListener from the macro.
- Parameters:
- listener - The MacroParseListener to be removed
- Throws: MacroException
- thrown if a parameter is passed that is not valid or if Macro
experiences an internal error.
- See Also:
- addMacroParseListener
addMacroCustomActionListener
public synchronized void addMacroCustomActionListener(MacroCustomActionListener listener) throws MacroException
- Adds the given MacroCustomActionListener to the macro.
- Parameters:
- listener - The MacroCustomActionListener to be added
- Throws: MacroException
- thrown if a parameter is passed that is not valid or if Macro
experiences an internal error.
- See Also:
- removeMacroCustomActionListener
removeMacroCustomActionListener
public synchronized void removeMacroCustomActionListener(MacroCustomActionListener listener) throws MacroException
- Removes the given MacroCustomActionListener from the macro.
- Parameters:
- listener - The MacroCustomActionListener to be removed
- Throws: MacroException
- thrown if a parameter is passed that is not valid or if Macro
experiences an internal error.
- See Also:
- addMacroCustomActionListener
addMacroDebugListener
public synchronized void addMacroDebugListener(MacroDebugListener listener) throws MacroException
- Adds the given MacroDebugListener to the macro.
- Parameters:
- listener - The MacroDebugListener to be added
- Throws: MacroException
- thrown if a parameter is passed that is not valid or if Macro
experiences an internal error.
- See Also:
- removeMacroDebugListener
removeMacroDebugListener
public synchronized void removeMacroDebugListener(MacroDebugListener listener) throws MacroException
- Removes the given MacroDebugListener from the macro.
- Parameters:
- listener - The MacroDebugListener to be removed
- Throws: MacroException
- thrown if a parameter is passed that is not valid or if Macro
experiences an internal error.
- See Also:
- addMacroDebugListener
setMacroName
public void setMacroName(String name) throws PropertyVetoException
- Sets the name of the macro.
- Parameters:
- Name - String containing the new name for the macro.
- Throws: PropertyVetoException
- Thrown if an invalid property value
is given.
getMacroName
public String getMacroName()
- Returns the name of the macro.
setMacroDescription
public void setMacroDescription(String desc) throws PropertyVetoException
- Sets the description of the macro.
- Parameters:
- desc - String containing the new description of the macro.
- Throws: PropertyVetoException
- Thrown if an invalid property value
is given.
getMacroDescription
public String getMacroDescription()
- Returns the description of the macro.
setMacroAuthor
public void setMacroAuthor(String author) throws PropertyVetoException
- Sets the author of the macro.
- Parameters:
- author - String containing the new author of the macro.
- Throws: PropertyVetoException
- Thrown if an invalid property value
is given.
getMacroAuthor
public String getMacroAuthor()
- Returns the author of the macro.
setMacroDate
public void setMacroDate(String date) throws PropertyVetoException
- Sets the creation date of the macro.
- Parameters:
- date - String containing the new date of the macro.
- Throws: PropertyVetoException
- Thrown if an invalid property value
is given.
getMacroDate
public String getMacroDate()
- Returns the date of the macro.
setInitialPrompt
public void setInitialPrompt(boolean flag) throws PropertyVetoException
- Sets the flag that controls whether Macro prescans for prompts. When set
to true, a single prompt event is generated when the macro starts and
obtains the value for all prompts in the macro. When set to false,
prompt events are generated for each prompt as they are encountered during
macro playback.
- Parameters:
- Prompt - If true, generates one prompt event during prescan. If false,
generates prompt events for each prompt in the macro.
- Throws: PropertyVetoException
- Thrown if an invalid property value
is given.
- See Also:
- isInitialPrompt
isInitialPrompt
public boolean isInitialPrompt()
- Returns the flag that controls whether Macro prescans for prompts.
- See Also:
- setInitialPrompt
setSkipNullPrompts
public void setSkipNullPrompts(boolean argSkip)
- Sets whether the Macro will skip prompt action that don't have
values instead of stopping and firing and error event.
- Parameters:
- argSkip - if true, the null prompt values will be ignored
isSkipNullPrompts
public boolean isSkipNullPrompts()
- Returns whether the Macro will skip prompt action that don't have
values instead of stopping and firing and error event.
- Returns:
- if true, the null prompt values will be ignored
setPSEventType
public void setPSEventType(int val)
- Sets the type of Presentation Space (PS) event that the Macro bean
monitors for screen matching. The valid values come from the ECLPS
object and are ECLPS.USER_EVENTS, ECLPS.HOST_EVENTS, and ECLPS.ALL_EVENTS.
User events are generated by user actions like typing or moving the
mouse. Host events are generated by the host system sending data to
the Terminal or Session bean.
The default is ECLPS.HOST_EVENTS
- See Also:
- getPSEventType
getPSEventType
public int getPSEventType()
- Returns the type of Presentation Space (PS) event that the Macro bean
monitors for screen matching.
- See Also:
- setPSEventType
setRecordUI
public void setRecordUI(boolean newVal) throws PropertyVetoException
- Sets whether the Macro will record user interface events on the
Terminal bean. These are events like mouse clicks and box selection.
The default is for Macro to not record UI events.
Note: if this property is set to true, cursor position will not
be automatically recorded in the screen descriptions. This happens
because the Macro bean is unable to reliably determine the place
of the cursor when mouse clicks move the cursor.
- Parameters:
- newVal - if true, UI events will be recorded.
- Throws: PropertyVetoException
- Thrown if one of the
VetoableChangeListeners rejects the change.
isRecordUI
public boolean isRecordUI()
- Returns whether the Macro will record user interface events on the
Terminal bean. These are events like mouse clicks and box selection.
The default is for Macro to not record UI events.
- Returns:
- if true, UI events will be recorded.
isEmpty
public boolean isEmpty()
- Returns a flag that indicates if a macro is currently loaded. This can
usually be derived from the state, but some states can occur with or without
a macro loaded (for example, STATE_DISCONNECTED).
- See Also:
- getState
setStandardTimeout
public void setStandardTimeout(int wt) throws PropertyVetoException
- Sets the standard timeout value for the macro. Given in milliseconds.
- Parameters:
- Timeout - Timeout value in milliseconds.
- Throws: PropertyVetoException
- Thrown if an invalid property value
is given.
- See Also:
- getStandardTimeout
getStandardTimeout
public int getStandardTimeout()
- Returns the standard timeout value for the macro.
Return time is in milliseconds.
- See Also:
- setStandardTimeout
setPauseTime
public void setPauseTime(int wt) throws PropertyVetoException
- Sets the pause value for the macro.
This value can be used to adjust the time it
takes for
a new screen to appear in the Presentation Space.
- Parameters:
- Time - Delay time in milliseconds.
- Throws: PropertyVetoException
- Thrown if an invalid property value
is given.
- See Also:
- getPauseTime
getPauseTime
public int getPauseTime()
- Returns the pause value for the macro.
This value can be used to adjust the time it
takes for
a new screen to appear in the Presentation Space.
- See Also:
- setPauseTime
getState
public int getState()
- Returns the current state of the Macro Bean.
isInitialScreenBoundary
public boolean isInitialScreenBoundary()
- Note: isInitialScreenBoundary() is deprecated.
- Returns whether a screen boundary is inserted at the start of the macro source
code. In HOD Version 4.0 and later, this property is ignored because of
the screen state model that Version 4.0 has adopted.
- See Also:
- setInitialScreenBoundary
setInitialScreenBoundary
public void setInitialScreenBoundary(boolean flag) throws PropertyVetoException
- Note: setInitialScreenBoundary() is deprecated.
- Sets whether a screen boundary is inserted at the start of the macro source
code. In HOD Version 4.0 and later, this property is ignored because of
the screen state model that Version 4.0 has adopted.
- Throws: PropertyVetoException
- Thrown if an invalid property value
is given.
- See Also:
- isInitialScreenBoundary
isFinalScreenBoundary
public boolean isFinalScreenBoundary()
- Note: isFinalScreenBoundary() is deprecated.
- Returns whether a screen boundary is inserted at the end of the macro source
code. In HOD Version 4.0 and later, this property is ignored because of the
screen state model that Version 4.0 has adopted.
- See Also:
- setFinalScreenBoundary
setFinalScreenBoundary
public void setFinalScreenBoundary(boolean flag) throws PropertyVetoException
- Note: setFinalScreenBoundary() is deprecated.
- Sets whether a screen boundary is inserted at the end of the macro source
code. In HOD Version 4.0 and later, this property is ignored because of the
screen state model that Version 4.0 has adopted.
- Throws: PropertyVetoException
- Thrown if an invalid property value
is given.
- See Also:
- isFinalScreenBoundary
toString
public String toString()
- Returns the current macro as a string.
- Returns:
- XML string representation of the macro contained in the Macro bean
- Overrides:
- toString in class HODBean
clone
public Object clone()
- Returns a new instance of Macro with the same properties as the current Macro.
- Returns:
- copy of the current Macro bean object
- Overrides:
- clone in class HODBean
clear
public void clear()
- Clears the current macro from the Macro bean. If successful, a
STATE_EMPTY event will be generated.
stop
public void stop()
- Stops recording or playing the macro. If not playing or recording, the
method does nothing.
record
public void record()
- Starts recording a macro, or resumes recording if the Macro is
in STATE_RECORD_PAUSED. This method will always append a new screen
to the macro. If not stopped or record paused, the method does nothing.
Note: when record is called, a new screen will be created automatically.
The name for this screen will be generated automatically also. If you wish
to change the name of the screen, just call beginScreen with the new
name and the automatically generated screen will be discarded.
- See Also:
- record
record
public void record(boolean append)
- Starts recording a macro, or resumes recording if the Macro is
in STATE_RECORD_PAUSED. If not stopped or record paused, the method does
nothing.
Note: when record is called, a new screen will be created automatically.
The name for this screen will be generated automatically also. If you wish
to change the name of the screen, just call beginScreen with the new
name and the automatically generated screen will be discarded.
- Parameters:
- append - if true, macro will not be cleared
- See Also:
- record
pause
public void pause()
- Pauses recording or playing the macro. If not playing or recording, this
method does nothing. If the macro is being played, it executes any actions
for the current screen before pausing. The call itself returns immediately
and does not wait for the macro to pause.
play
public void play(String screenName) throws MacroException
- Plays the current macro starting with the given screen. If the screen is
not in the macro a MacroException will be thrown.
- Parameters:
- java.lang.String - screenName name of MacroScreen object to start playing with
- Throws: MacroException
- thrown if a parameter is passed that is not valid or if Macro
experiences an internal error.
play
public void play(String screenName,
int actionIndex) throws MacroException
- Plays the current macro starting with the given screen and action. If the
screen is not in the macro or the action is not in the screen a MacroException
will be thrown.
- Parameters:
- java.lang.String - screenName name of MacroScreen object to start playing with
- MacroAction - actionIndex index of MacroAction object to start playing with
- Throws: MacroException
- thrown if a parameter is passed that is not valid or if Macro
experiences an internal error.
play
public void play()
- Plays the current macro. If not stopped or play paused, this method does
nothing.
insertScreenDesc
public synchronized void insertScreenDesc(boolean useNumFields,
boolean useNumInputFields,
String keyword,
String timeOut) throws MacroException
- Note: insertScreenDesc() is deprecated.
- Inserts a new Smart Wait sequence into the current macro. Must
be in STATE_RECORDING to perform this. When this method is called, the Macro bean
will retrieve the necessary data from the Presentation Space.
Warning: this will clear all the descriptors in the current screen added by
any Macro.insertSD* calls.
- Parameters:
- useNumFields - Use the number of fields in the PS to describe
the screen.
- useNumInputFields - Use the number of input fields in the PS to
describe the screen.
- keyword - Use a keyword to describe the screen. Pass null
if you don't want to use a keyword.
- timeOut - Time out value for wait. Pass 0 for indefinite wait.
- Throws: MacroException
- thrown if a parameter is passed that is not valid or if Macro
experiences an internal error.
- See Also:
- insertScreenDesc, insertScreenDesc, insertScreenDesc
insertOIAWait
public synchronized void insertOIAWait()
- Note: insertOIAWait() is deprecated.
- Inserts a standard OIA wait into the current macro. The macro will wait
for the OIA to be "input not inhibited" when it encounters the line during
runtime. In HOD Version 4.0 and later, this function is non-operational.
OIA waits are no longer an individual action. OIA is observed as part of the
screen description.
insertConnectionWait
public synchronized void insertConnectionWait(int waitType,
int timeOut)
- Note: insertConnectionWait() is deprecated.
- Inserts a waitForConnection statement into the current macro. In HOD version
4.0 and later, this function is non-operational. Connection waiting is not needed
in the screen state model that Version 4.0 has adopted.
- Parameters:
- waitType - type of connection event to wait for. These types
are defined in ECLConnection (example, ECLConnection.CONNECTION_INIT),
and are mutually exclusive for the method. That is, you
may not OR values together.
- timeOut - Time out value for wait. Pass 0 for indefinite wait.
- See Also:
- ECLConnection
beginScreen
public synchronized void beginScreen(String name,
int recoLimit,
boolean startScreen,
boolean stopScreen) throws MacroException
- Note: beginScreen() is deprecated.
- Starts a new screen element in the currently recording macro. Note: you
must call endScreen if there is a screen pending. If you don't, the current
screen will be lost.
- Parameters:
- name - name for the screen to add
- recolimit - recognition limit for the screen (0 if no limit). See
macro syntax guide for details.
- startScreen - if true, this screen is the initial screen for the macro.
- stopScreen - if true, this screen is one of the final screens for the macro.
- Throws: MacroException
- thrown if a parameter is passed that is not valid or if Macro
experiences an internal error.
- See Also:
- endScreen
setCurrentScreenTransient
public synchronized void setCurrentScreenTransient(boolean val) throws MacroException
- Sets the current screen in recording to transient. Transient screens
exist outside the normal macro flow and are registered at all times. Use
transient screens for unexpected, "throw away" screens.
- Parameters:
- val - if true, screen will be set to transient
- Throws: MacroException
- thrown if a parameter is passed that is not valid or if Macro
experiences an internal error.
setCurrentStartScreen
public synchronized void setCurrentStartScreen(boolean val) throws MacroException
- Note: setCurrentStartScreen() is deprecated.
- Sets the startscreen attribute of the currently recording screen to the given
value. See Macro syntax document for description of the start
screen attribute.
- Parameters:
- val - if true, screen will be a start screen.
- Throws: MacroException
- thrown if a parameter is passed that is not valid or if Macro
experiences an internal error.
setCurrentStopScreen
public synchronized void setCurrentStopScreen(boolean val) throws MacroException
- Note: setCurrentStopScreen() is deprecated.
- Sets the stopscreen attribute of the currently recording screen to the given
value. See Macro syntax document for description of the stop
screen attribute.
- Parameters:
- val - if true, screen will be a stop screen.
- Throws: MacroException
- thrown if a parameter is passed that is not valid or if Macro
experiences an internal error.
setCurrentScreenName
public synchronized void setCurrentScreenName(String name) throws MacroException
- Sets the name of the current screen during recording.
- Parameters:
- name - new name for the screen within the macro.
- Throws: MacroException
- thrown if a parameter is passed that is not valid or if Macro
experiences an internal error.
endScreen
public synchronized void endScreen()
- Note: endScreen() is deprecated.
- Wraps up and saves the current macro screen in recording. Call this after
you have called beginScreen and added all the actions, descriptions, and
next screens to the screen that you want.
- See Also:
- beginScreen
insertScreenDesc
public synchronized void insertScreenDesc(boolean useOIA,
boolean useCursor,
boolean useFields,
boolean useInputFields)
- Inserts new screen description elements into the current macro screen. Must
be in STATE_RECORDING to perform this. When this method is called, the Macro bean
will retrieve the necessary data from the Presentation Space.
Warning: this will clear all the descriptors in the current screen added by
any Macro.insertSD* calls.
- Parameters:
- useOIA - If true, OIA state must be uninhibited for screen to match
- useCursor - If true, current cursor position will be captured
- useNumFields - If true, current total field count will be captured
- useNumInputFields - If true, current input field count will be captured
insertScreenDesc
public synchronized void insertScreenDesc(int textOrient,
int inset)
- Inserts a new screen string description element into the current macro screen. Must
be in STATE_RECORDING to perform this. When this method is called, the Macro bean
will retrieve the necessary data from the Presentation Space.
Warning: this will clear all the descriptors in the current screen added by
any Macro.insertSD* calls.
- Parameters:
- textOrient - orientation to capture the screen text
- inset - number of rows from top or bottom to capture
- See Also:
- CAPTURE_TOP, CAPTURE_BOTTOM
insertScreenDesc
public synchronized void insertScreenDesc(int srow,
int scol,
int erow,
int ecol) throws MacroException
- Inserts a screen string description element into the current macro screen. Must
be in STATE_RECORDING to perform this. When this method is called, the Macro bean
will retrieve the necessary data from the Presentation Space. Macro will
retrieve the text from a rectangular area as specified by the input parameters.
- Parameters:
- srow - upper left row
- scol - upper left column
- erow - lower right row
- ecol - lower right column
- Throws: MacroException
- thrown if a parameter is passed that is not valid or if Macro
experiences an internal error.
insertSDString
public synchronized void insertSDString(String text,
int row,
int col,
boolean caseSense,
boolean opt,
boolean invertReco) throws MacroException
- Inserts a string description element into the current screen based on the
given parameters. The description element must appear on the host screen
for the macro screen to match.
This version of insertSDString inserts a string description element that
must appear at the exact row/column position given.
Note: if macro is not recording, this method will not insert a description
element.
- Parameters:
- text - string that must appear on the screen
- row - starting row position
- col - ending column position
- caseSense - if true, string comparison is case sensitive
- opt - if true, element is optional. Optional elements introduce
a pseudo-boolean OR capability. The recognition system
will first compare all non-optional elements, which must
all match. If the non-optional matches are successful,
optional elements don't need to be considered. If there
are no non-optional elements in a screen, at least one
optional element must match.
- invertReco - if true, recognition of the element will be inverted. This
introduced a pseudo-boolean NOT capability. The match will
be successful if the description element is not on the host
screen.
- Throws: MacroException
- thrown if a parameter is passed that is not valid or if Macro
experiences an internal error.
- See Also:
- insertSDString
insertSDString
public synchronized void insertSDString(String text,
int srow,
int scol,
int erow,
int ecol,
boolean caseSense,
boolean opt,
boolean invertReco) throws MacroException
- Inserts a string description element into the current screen based on the
given parameters. The description element must appear on the host screen
for the macro screen to match and its actions execute during playing.
This version of insertSDString inserts a string description element that
must appear in the rectangle specified by the given parameters.
Wrapping is not allowed.
Note: if macro is not recording, this method will not insert a description
element.
- Parameters:
- text - string that must appear on the screen
- srow - upper left row
- scol - upper left column
- erow - lower right row
- ecol - lower right column
- caseSense - if true, string comparison is case sensitive
- opt - if true, element is optional. Optional elements introduce
a pseudo-boolean OR capability. The recognition system
will first compare all non-optional elements, which must
all match. If the non-optional matches are successful,
optional elements don't need to be considered. If there
are no non-optional elements in a screen, at least one
optional element must match.
- invertReco - if true, recognition of the element will be inverted. This
introduced a pseudo-boolean NOT capability. The match will
be successful if the description element is not on the host
screen.
- Throws: MacroException
- thrown if a parameter is passed that is not valid or if Macro
experiences an internal error.
- See Also:
- insertSDString
insertSDBlock
public synchronized void insertSDBlock(String text[],
int row,
int col,
boolean caseSense,
boolean opt,
boolean invertReco) throws MacroException
- Inserts a block description element into the current screen based on the
given parameters. The description element must appear on the host screen
for the macro screen to match.
This version of insertSDBlock inserts a string description element that
must appear at the exact row/column position given.
Note: if macro is not recording, this method will not insert a description
element.
- Parameters:
- text - strings that must appear on the screen
- row - starting row position
- col - ending column position
- caseSense - if true, string comparison is case sensitive
- opt - if true, element is optional. Optional elements introduce
a pseudo-boolean OR capability. The recognition system
will first compare all non-optional elements, which must
all match. If the non-optional matches are successful,
optional elements don't need to be considered. If there
are no non-optional elements in a screen, at least one
optional element must match.
- invertReco - if true, recognition of the element will be inverted. This
introduced a pseudo-boolean NOT capability. The match will
be successful if the description element is not on the host
screen.
- Throws: MacroException
- thrown if a parameter is passed that is not valid or if Macro
experiences an internal error.
- See Also:
- insertSDBlock
insertSDBlock
public synchronized void insertSDBlock(String text[],
int srow,
int scol,
int erow,
int ecol,
boolean caseSense,
boolean opt,
boolean invertReco) throws MacroException
- Inserts a block description element into the current screen based on the
given parameters. The description element must appear on the host screen
for the macro screen to match and its actions execute during playing.
This version of insertSDBlock inserts a string description element that
must appear in the rectangle specified by the given parameters.
Wrapping is not allowed.
Note: if macro is not recording, this method will not insert a description
element.
- Parameters:
- text - string that must appear on the screen
- srow - upper left row
- scol - upper left column
- erow - lower right row
- ecol - lower right column
- caseSesnse - if true, string comparison is case sensitive
- opt - if true, element is optional. Optional elements introduce
a pseudo-boolean OR capability. The recognition system
will first compare all non-optional elements, which must
all match. If the non-optional matches are successful,
optional elements don't need to be considered. If there
are no non-optional elements in a screen, at least one
optional element must match.
- invertReco - if true, recognition of the element will be inverted. This
introduced a pseudo-boolean NOT capability. The match will
be successful if the description element is not on the host
screen.
- Throws: MacroException
- thrown if a parameter is passed that is not valid or if Macro
experiences an internal error.
- See Also:
- insertSDBlock
insertSDOIA
public synchronized void insertSDOIA(int oiatype,
boolean opt,
boolean invertReco) throws MacroException
- Inserts an OIA status description element into the current screen based on the
given parameters. The description element must appear on the host screen
for the macro screen to match and its actions execute during playing.
Using this method will cause the screen recognition system to monitor the
host Operator Information Area (OIA) for the given status. Currently, the only
two valid options are ECLSDOIA.OIA_INPUTINHIBITED, which will match only if
it is possible to type on the host screen, and ECLSDOIA.OIA_DONTCARE, which
ignores the OIA altogether. The default is to monitor for input not inhibited.
To turn OIA monitoring off, call this method with the don't care setting.
Note: if macro is not recording, this method will not insert a description
element.
- Parameters:
- oiatype - type of OIA status to wait for, must be ECLSDOIA.OIA_INPUTINHIBITED
or ECLSDOIA.OIA_DONTCARE.
- opt - if true, element is optional. Optional elements introduce
a pseudo-boolean OR capability. The recognition system
will first compare all non-optional elements, which must
all match. If the non-optional matches are successful,
optional elements don't need to be considered. If there
are no non-optional elements in a screen, at least one
optional element must match.
- invertReco - if true, recognition of the element will be inverted. This
introduced a pseudo-boolean NOT capability. The match will
be successful if the description element is not on the host
screen.
- Throws: MacroException
- thrown if a parameter is passed that is not valid or if Macro
experiences an internal error.
insertSDCursor
public synchronized void insertSDCursor(int row,
int col,
boolean opt,
boolean invertReco)
- Inserts a cursor position description element into the current screen based
on the given parameters. The description element must appear on the host
screen for the macro screen to match and its actions execute during playing.
Using this method will cause the screen recognition system to match the
cursor position on the host screen to the given parameters.
Note: if macro is not recording, this method will not insert a description
element.
- Parameters:
- row - cursor row position
- col - cursor column position
- opt - if true, element is optional. Optional elements introduce
a pseudo-boolean OR capability. The recognition system
will first compare all non-optional elements, which must
all match. If the non-optional matches are successful,
optional elements don't need to be considered. If there
are no non-optional elements in a screen, at least one
optional element must match.
- invertReco - if true, recognition of the element will be inverted. This
introduced a pseudo-boolean NOT capability. The match will
be successful if the description element is not on the host
screen.
insertSDAttrib
public synchronized void insertSDAttrib(char attrib,
int row,
int col,
int plane,
boolean opt,
boolean invertReco) throws MacroException
- Inserts an attribute description element into the current screen based on the
given parameters. The description element must appear on the host screen
for the macro screen to match and its actions execute during playing.
Using this method will cause the screen recognition system to match the
given attribute value against the attribute on the host screen. This is an
advanced feature and should only be used if you are having trouble making
a screen description truly unique. The attribute value must be one of the
values specified in the IBM WebSphere Host Access Class Library (HACL) field attribute table
in the reference appendix.
Note: if macro is not recording, this method will not insert a description
element.
- Parameters:
- attrib - attribute value that must appear on the screen
- row - starting row position
- col - ending column position
- plane - plane to search in, must be ECLConstants.FIELD_PLANE,
ECLConstants.EXFIELD_PLANE, or ECLConstants.COLOR_PLANE
- opt - if true, element is optional. Optional elements introduce
a pseudo-boolean OR capability. The recognition system
will first compare all non-optional elements, which must
all match. If the non-optional matches are successful,
optional elements don't need to be considered. If there
are no non-optional elements in a screen, at least one
optional element must match.
- invertReco - if true, recognition of the element will be inverted. This
introduced a pseudo-boolean NOT capability. The match will
be successful if the description element is not on the host
screen.
- Throws: MacroException
- thrown if a parameter is passed that is not valid or if Macro
experiences an internal error.
insertSDFields
public synchronized void insertSDFields(int num,
boolean opt,
boolean invertReco)
- Inserts a field count description element into the current screen based on the
given parameters. The description element must appear on the host screen
for the macro screen to match and its actions execute during playing.
Using this method will cause the screen recognition system to match the
total number of host screen fields to the value given.
Note: if macro is not recording, this method will not insert a description
element.
- Parameters:
- num - field count to match
- opt - if true, element is optional. Optional elements introduce
a pseudo-boolean OR capability. The recognition system
will first compare all non-optional elements, which must
all match. If the non-optional matches are successful,
optional elements don't need to be considered. If there
are no non-optional elements in a screen, at least one
optional element must match.
- invertReco - if true, recognition of the element will be inverted. This
introduced a pseudo-boolean NOT capability. The match will
be successful if the description element is not on the host
screen.
insertSDInputFields
public synchronized void insertSDInputFields(int num,
boolean opt,
boolean invertReco)
- Inserts an input field count description element into the current screen
based on the given parameters. The description element must appear on the
host screen for the macro screen to match and its actions execute during
playing.
Using this method will cause the screen recognition system to match the
number of host screen input fields to the value given.
Note: if macro is not recording, this method will not insert a description
element.
- Parameters:
- num - field count to match
- opt - if true, element is optional. Optional elements introduce
a pseudo-boolean OR capability. The recognition system
will first compare all non-optional elements, which must
all match. If the non-optional matches are successful,
optional elements don't need to be considered. If there
are no non-optional elements in a screen, at least one
optional element must match.
- invertReco - if true, recognition of the element will be inverted. This
introduced a pseudo-boolean NOT capability. The match will
be successful if the description element is not on the host
screen.
insertSDCustom
public synchronized void insertSDCustom(ECLCustomRecoListener listener,
String id,
boolean opt) throws MacroException
- Inserts a custom description element into the current screen based on the
given parameters. This is a special element where user code is called. It
is up to the user code to examine the host screen and determine if it is
a match. This gives the screen recognition system extensibility beyond its
normal behavior. This is intended for advanced users only.
Note: if macro is not recording, this method will not insert a description
element.
- Parameters:
- listener - object that implements the ECLCustomRecoListener interface.
this object will be called with the ID parameter, whereby
it should look at the host screen and determine a match by
its own criteria. If there is a match, the object should
return true.
- id - identifier string used to differentiate between multiple
custom recognition elements in a screen(s).
- opt - if true, element is optional. Optional elements introduce
a pseudo-boolean OR capability. The recognition system
will first compare all non-optional elements, which must
all match. If the non-optional matches are successful,
optional elements don't need to be considered. If there
are no non-optional elements in a screen, at least one
optional element must match.
- Throws: MacroException
- thrown if a parameter is passed that is not valid or if Macro
experiences an internal error.
- See Also:
- ECLCustomRecoListener,
insertInput
public synchronized void insertInput(String text,
boolean xlateAid,
boolean moveCursor) throws MacroException
- Inserts an input action into the current macro screen during recording.
Input actions just place text on the screen and send host action keys
like Enter or PF1. Refer to the HACL ECLConstants class for all the possible
host action keys.
This version of insertInput places the text at the current cursor position.
Note: if macro is not recording, this method will not insert an action.
- Parameters:
- text - text to place on the host screen.
- xlateAid - if true, host action keys embedded in the text parameter
will be translated. See ECLConstants class for host action
key values. For example, if xlateAid is False, the string "logon[enter]", is sent directly to the host session without being translated.
- moveCursor - if true, cursor will move past the last character of the
text placed on the screen.
- Throws: MacroException
- thrown if a parameter is passed that is not valid or if Macro
experiences an internal error.
insertInput
public synchronized void insertInput(String text,
int row,
int col,
boolean xlateAid,
boolean moveCursor) throws MacroException
- Inserts an input action into the current macro screen during recording.
Input actions just place text on the screen and send host action keys
like enter or pf1. Refer to the HACL ECLConstants class for all the possible
host action keys.
This version of insertInput places the text at the given cursor position.
Note: if macro is not recording, this method will not insert an action.
- Parameters:
- text - text to place on the host screen.
- row - row position to place the text
- col - column position to place the text
- xlateAid - if true, host action keys embedded in the text parameter
will be translated. See ECLConstants class for host action
key values. Example, "logon[enter]", where [enter] is the
host action key.
- moveCursor - if true, cursor will move past the last character of the
text placed on the screen.
- Throws: MacroException
- thrown if a parameter is passed that is not valid or if Macro
experiences an internal error.
insertMessage
public synchronized void insertMessage(String msg,
String title) throws MacroException
- Inserts a message action into the current macro screen during recording.
Message actions cause the Macro bean to fire the message data to any
MacroRuntimeListeners in a MacroMessageEvent. The listeners should then display this message to
their users as they see fit. For example, the MacroManager bean will put
up a message box. At runtime, the message events are handled synchronously.
Note: if macro is not recording, this method will not insert an action.
- Parameters:
- msg - actual text of the message to send to the user
- title - title of the message
- Throws: MacroException
- thrown if a parameter is passed that is not valid or if Macro
experiences an internal error.
insertTrace
public synchronized void insertTrace(String data,
int type) throws MacroException
- Inserts a trace action into the current macro screen during recording.
Trace actions cause the trace data to go to one of three places: the trace
facility of the bean, a user trace facility via the MacroRuntimeListener interface,
or the command line.
Note: if macro is not recording, this method will not insert an action.
- Parameters:
- data - text of the trace
- type - sets where the trace data will go. Must be MacroActionTrace.TRACE_BEANS,
MacroActionTrace.TRACE_USER, or MacroActionTrace.TRACE_SYSOUT.
- Throws: MacroException
- thrown if a parameter is passed that is not valid or if Macro
experiences an internal error.
insertCustomAction
public synchronized void insertCustomAction(String argID,
String argsArgs) throws MacroException
- Inserts a custom action into the current macro screen during recording.
Custom actions extend the action functionality of the Macro bean.
When the Macro bean encounters a custom action during
playback, it calls the MacroCustomActionListeners with the data for the
actions. It is up to the custom listener to parse the arguments, if any, and
run whatever the action may be.
Note: if macro is not recording, this method will not insert an action.
- Parameters:
- argID - identifier string used to differentiate between multiple
custom action elements in a screen(s).
- argArgs - arguments to pass to the custom action listener.
- Throws: MacroException
- thrown if a parameter is passed that is not valid or if Macro
experiences an internal error.
insertPrompt
public synchronized void insertPrompt(String row,
String col,
String len,
String name,
String value,
boolean clearField) throws MacroException
- Note: insertPrompt() is deprecated.
- Inserts a user prompt sequence into the current macro. When the macro runs
it will be scanned for all prompt lines. Each new prompt identifier will
be loaded into an object of the MacroPrompts class. This object will then
be fired in a MacroPromptEvent, whereby a listener should set all values
in the MacroPrompts object. After the object is set, the listener should
call setPrompts on Macro to play the macro after prescan. If a value was
not set, and there is a value specified on the prompt line, that value will
be used. If there is no value on the prompt line, another event will be
fired to try to retrieve the prompt data. If still no data is returned,
the macro will end in an error.
Note: if macro is not recording, this method will not insert an action.
- Parameters:
- row - Row in Presentation Space to place prompt
- col - Column in Presentation Space to place prompt
- len - Length of prompt. Use this to guard against skip fields.
- name - Identifier of prompt. Multiple instances of the same
identifier may appear in a macro.
- value - Default value to use for this prompt line only. This
value will be overridden by the value returned in the
setPrompts call.
- clearField - Clears the field that the prompt is placed in if true.
- Throws: MacroException
- thrown if a parameter is passed that is not valid or if Macro
experiences an internal error.
- See Also:
- MacroPrompts
MacroPromptEvent
- See Also:
- insertPrompt, setPrompts
insertPrompt
public synchronized void insertPrompt(String row,
String col,
String len,
String name,
String value,
boolean clearField,
String echoChar) throws MacroException
- Note: insertPrompt() is deprecated.
- Inserts a password user prompt sequence into the current macro. When the
macro runs it will be scanned for all prompt lines. Each new prompt identifier
will be loaded into an object of the MacroPrompts class. This object will then
be fired in a MacroPromptEvent, whereby a listener should set all values
in the MacroPrompts object. After the object is set, the listener should
call setPrompts on Macro to play the macro after prescan. If a value was
not set, and there is a value specified on the prompt line, that value will
be used. If there is no value on the prompt line, another event will be
fired to try to retrieve the prompt data. If still no data is returned,
the macro will end in an error.
Note: if macro is not recording, this method will not insert an action.
- Parameters:
- row - Row in Presentation Space to place prompt
- col - Column in Presentation Space to place prompt
- len - Length of prompt. Use this to guard against skip fields.
- name - Identifier of prompt. Multiple instances of the same
identifier may appear in a macro.
- value - Default value to use for this prompt line only. This
value will be overridden by the value returned in the
setPrompts call.
- clearField - Clears the field that the prompt is placed in if true.
- echoChar - Echo character for password. Currently, only '*' is used.
- Throws: MacroException
- thrown if a parameter is passed that is not valid or if Macro
experiences an internal error.
- See Also:
- MacroPrompts
MacroPromptEvent
- See Also:
- insertPrompt, setPrompts
insertPrompt
public synchronized void insertPrompt(int row,
int col,
int len,
String name,
String value,
boolean clearField) throws MacroException
- Inserts a user prompt sequence into the current macro. When the macro runs
it will be scanned for all prompt lines. Each new prompt identifier will
be loaded into an object of the MacroPrompts class. This object will then
be fired in a MacroPromptEvent, whereby a listener should set all values
in the MacroPrompts object. After the object is set, the listener should
call setPrompts on Macro to play the macro after prescan. If a value was
not set, and there is a value specified on the prompt line, that value will
be used. If there is no value on the prompt line, another event will be
fired to try to retrieve the prompt data. If still no data is returned,
the macro will end in an error.
Note: if macro is not recording, this method will not insert an action.
- Parameters:
- row - Row in Presentation Space to place prompt
- col - Column in Presentation Space to place prompt
- len - Length of prompt. Use this to guard against skip fields.
- name - Identifier of prompt. Multiple instances of the same
identifier may appear in a macro.
- value - Default value to use for this prompt line only. This
value will be overridden by the value returned in the
setPrompts call.
- clearField - Clears the field that the prompt is placed in if true.
- See Also:
- MacroPrompts
MacroPromptEvent
- Throws: MacroException
- thrown if a parameter is passed that is not valid or if Macro
experiences an internal error.
- See Also:
- insertPrompt, setPrompts
insertPrompt
public synchronized void insertPrompt(int row,
int col,
int len,
String name,
String value,
boolean clearField,
boolean encrypted,
boolean placeValue) throws MacroException
- Inserts a password user prompt sequence into the current macro. When the
macro runs it will be scanned for all prompt lines. Each new prompt identifier
will be loaded into an object of the MacroPrompts class. This object will then
be fired in a MacroPromptEvent, whereby a listener should set all values
in the MacroPrompts object. After the object is set, the listener should
call setPrompts on Macro to play the macro after prescan. If a value was
not set, and there is a value specified on the prompt line, that value will
be used. If there is no value on the prompt line, another event will be
fired to try to retrieve the prompt data. If still no data is returned,
the macro will end in an error.
Note: if macro is not recording, this method will not insert an action.
- Parameters:
- row - Row in Presentation Space to place prompt
- col - Column in Presentation Space to place prompt
- len - Length of prompt. Use this to guard against skip fields.
- name - Identifier of prompt. Multiple instances of the same
identifier may appear in a macro.
- value - Default value to use for this prompt line only. This
value will be overridden by the value returned in the
setPrompts call.
- clearField - Clears the field that the prompt is placed in if true.
- encrypted - Indicates that text for the prompt should be non-displayable.
- placeValue - If true, the text in the value parameter will be placed in the
Screen without the text being recorded.
- See Also:
- MacroPrompts
MacroPromptEvent
- Throws: MacroException
- thrown if a parameter is passed that is not valid or if Macro
experiences an internal error.
- See Also:
- insertPrompt, setPrompts
setPrompts
public synchronized void setPrompts(MacroPrompts p) throws MacroException
- Sets the prompts after a MacroPromptEvent has been handled. Use this method
to return the prompt data to the Macro bean and continue playing the macro.
See insertPrompt for a full discussion of Macro prompting.
- See Also:
- MacroPrompts
MacroPromptEvent
- Throws: MacroException
- thrown if a parameter is passed that is not valid or if Macro
experiences an internal error.
- See Also:
- insertPrompt
insertPause
public void insertPause(long argTimeout)
- Inserts a pause action into the current macro screen during recording.
Pause actions simply specify that the Macro bean should pause, or sleep,
for the given milliseconds.
Note: if macro is not recording, this method will not insert an action.
- Parameters:
- argTimeout - time to pause in milliseconds, if less than or equal
to 0, no pause will take place.
insertXfer
public void insertXfer(int argDirection,
String argHostFile,
String argPCFile,
String argOptions,
boolean argClear,
int argTimeout,
String argPCCodePage,
String argHostOrient,
String argPCOrient,
String argPCFType,
String argLamAlefExpan,
String argLamAlefComp) throws MacroException
- Note: insertXfer() is deprecated.
- Inserts a file transfer action into the current macro screen during recording.
You must adhere to your host system's file transfer options for this action
to be performed correctly.
Note: if macro is not recording, this method will not insert an action.
- Parameters:
- argDirection - direction to transfer, must be either MacroActionXfer.DIRECTION_SEND
or MacroActionXfer.DIRECTION_RECEIVE
- argHostFile - name of the host file to transfer
- argPCFile - name of the PC file to transfer
- argOptions - host transfer options (contact your host system
administrator for valid file transfer options).
- argClear - if true, clears the host screen before the transfer
- argTimeout - timeout value for the file transfer to go into error.
- argPCCodePage - PC code page to use in the transfer, the default
is "037" (English).
- argHostOrient - host system orientation used for BiDi systems only.
It is OK for this parameter to be null.
- argPCOrient - PC system orientation used for BiDi systems only.
It is OK for this parameter to be null.
- argPCFType - PC file type used for BiDi systems only.
It is OK for this parameter to be null.
- argLamAlefExpan - Lam Alef expansion option used for Arabic systems only.
It is OK for this parameter to be null.
- argLamAlefComp - Lam Alef compression option used for Arabic systems only.
It is OK for this parameter to be null.
- Throws: MacroException
- thrown if a parameter is passed that is not valid or if Macro
experiences an internal error.
- See Also:
- insertXfer
insertXfer
public void insertXfer(int argDirection,
String argHostFile,
String argPCFile,
String argOptions,
boolean argClear,
int argTimeout,
String argPCCodePage,
String argHostOrient,
String argPCOrient,
String argPCFType,
String argLamAlefExpan,
String argLamAlefComp,
String argSymSwap,
String argNumerals,
String argRoundTrip) throws MacroException
- Inserts a file transfer action into the current macro screen during recording.
You must adhere to your host system's file transfer options for this action
to be performed correctly.
Note: if macro is not recording, this method will not insert an action.
- Parameters:
- argDirection - direction to transfer, must be either MacroActionXfer.DIRECTION_SEND
or MacroActionXfer.DIRECTION_RECEIVE
- argHostFile - name of the host file to transfer
- argPCFile - name of the PC file to transfer
- argOptions - host transfer options (contact your host system
administrator for valid file transfer options).
- argClear - if true, clears the host screen before the transfer
- argTimeout - timeout value for the file transfer to go into error.
- argPCCodePage - PC code page to use in the transfer, the default
is "037" (English).
- argHostOrient - host system orientation used for BiDi systems only.
It is OK for this parameter to be null.
- argPCOrient - PC system orientation used for BiDi systems only.
It is OK for this parameter to be null.
- argPCFType - PC file type used for BiDi systems only.
It is OK for this parameter to be null.
- argLamAlefExpan - Lam Alef expansion option used for Arabic systems only.
It is OK for this parameter to be null.
- argLamAlefComp - Lam Alef compression option used for Arabic systems only.
It is OK for this parameter to be null.
- argSymSwap - Symmetric Swapping used for BiDi systems only.
It is OK for this parameter to be null.
- argNumerals - Numerals Shaping option used for Arabic systems only.
It is OK for this parameter to be null.
- argRoundTrip - Round Trip option used for Arabic systems only.
It is OK for this parameter to be null.
- Throws: MacroException
- thrown if a parameter is passed that is not valid or if Macro
experiences an internal error.
- See Also:
- insertXfer
insertDataExtract
public synchronized void insertDataExtract(String name,
int srow,
int scol,
int erow,
int ecol) throws MacroException
- Method that inserts a data extract sequence into the macro string.
When the macro runs, any extract lines will retrieve the text in the bounding
rectangle. This text will be loaded into an array of strings (String []), where
each row will be a string element in the array. This array will be fired in
a MacroExtractEvent to the MacroRuntimeListeners. This
event is synchronous and will not return until the listener handles it.
Note: if macro is not recording, this method will not insert an action.
- Parameters:
- name - Name of the data extract.
- srow - Upper left row of text rectangle to extract from PS.
- scol - Upper right column of text rectangle to extract from PS.
- erow - Lower left row of text rectangle to extract from PS.
- ecol - Lower right column of text rectangle to extract from PS.
- Throws: MacroException
- thrown if a parameter is passed that is not valid or if Macro
experiences an internal error.
- See Also:
- MacroExtractEvent
linkScreens
public synchronized void linkScreens(String screenName,
String nextScreenName) throws MacroException
- Links valid MacroNextScreens to a given Screen in the macro. The screen names
in each parameter must be in the macro or an exception will be thrown. The
first parameter is the screen that will contain the link to the next screen
in the second parameter.
During playback, if a screen is recognized and its actions are executed, any
MacroNextScreens specified must appear after the actions of the current screen are
executed. If another screen in the macro appears, and it is not linked to
the current screen, an error will occur.
- Parameters:
- screenName - name of the screen that contains the link
- nextScreenName - name of the screen to link to
- Throws: MacroException
- thrown if a parameter is passed that is not valid or if Macro
experiences an internal error.
linkScreens
public synchronized void linkScreens(String screenName,
String nextScreenName,
int timeout) throws MacroException
- Links valid MacroNextScreens to a given Screen in the macro. The screen names in each parameter
must be in the macro or an exception will be thrown. The first parameter is
the screen that contains the link to the next screen in the second parameter.
During playback, if a screen is recognized and its actions are executed, any
next screens specified must appear after the current screens actions are
executed. If another screen in the macro appears, and it is not linked to
the current screen, an error will occur.
- Parameters:
- screenName - name of the screen that contains the link
- nextScreenName - name of the screen to link to
- timeout - timeout value for the Macro bean to wait for any
next screens. If time expires, an error will occur.
- Throws: MacroException
- thrown if a parameter is passed that is not valid or if Macro
experiences an internal error.
setScreenTimeout
public synchronized void setScreenTimeout(String name,
int timeout) throws MacroException
- Sets the timeout value for any next screens specified in the screen
with the given name. If the name is not in the macro, an exception will
be thrown.
- Parameters:
- name - name of screen to set the next screens timeout
- timeout - timeout value for the Macro bean to wait for any next
screens. If time expires, an error will occur.
- Throws: MacroException
- thrown if a parameter is passed that is not valid or if Macro
experiences an internal error.
setScreenTimeout
public synchronized void setScreenTimeout(int timeout)
- Sets the timeout value for any next screens specified in the current screen.
- Parameters:
- timeout - timeout value for the Macro bean to wait for any next
screens. If time expires, an error will occur.
getParsedMacro
public MacroScreens getParsedMacro()
- Returns the current macro as a MacroScreens object. By using a MacroScreens
object, which is serializable, you can save an already parsed macro.
- Returns:
- MacroScreens object that represents a valid macro
- See Also:
- setMacro, setMacro, setMacro
setParsedMacro
public void setParsedMacro(MacroScreens argMS) throws MacroException
- Sets the current macro from a MacroScreens object. By using a MacroScreens
object, which is serializable, the parsing step is skipped. You can not
set the macro if you are recording or playing. The method returns
without setting the macro if this is the case.
- Parameters:
- argMS - MacroScreens object that represents a valid macro.
- Throws: MacroException
- thrown if a parameter is passed that is not valid or if Macro
experiences an internal error.
- See Also:
- setMacro, setMacro, setMacro
getMacro
public String getMacro()
- Returns the current macro to a String. The macro string is newline delimited.
- Returns:
- String that represents a valid macro.
- See Also:
- getMacro, getMacro
getMacro
public void getMacro(OutputStream strm) throws MacroException
- Returns the current macro to an output stream.
- Parameters:
- strm - OutputStream that the Macro should be written to.
- Throws: MacroException
- thrown if a parameter is passed that is not valid or if Macro
experiences an internal error
- See Also:
- getMacro, getMacro
getMacroArray
public String[] getMacroArray()
- Returns the current macro to a string array. Each element in the array
is a line in the macro.
- See Also:
- setMacro, setMacro
getMacro
public void getMacro(PrintWriter wrtr) throws MacroException
- Returns the current macro to a PrintWriter. A PrintWriter is used
because a macro is line-delimited and the PrintWriter class has functionality
for easily writing lines.
- Parameters:
- wrtr - PrintWriter where the Macro is to be written.
- Throws: MacroException
- thrown if a parameter is passed that is not valid or if Macro
experiences an internal error.
- See Also:
- getMacro, getMacro
setMacro
public void setMacro(String str) throws MacroException
- Sets the current macro from a string. This string must be in XML format.
- Parameters:
- str - String that represents a valid macro.
- Throws: MacroException
- thrown if a parameter is passed that is not valid or if Macro
experiences an internal error.
- See Also:
- setMacro, setMacro, setMacroArray, setParsedMacro
setMacroArray
public void setMacroArray(String strArray[]) throws MacroException
- Sets the current macro from a string array. This string array must contain
the correct XML format. Each element in the string array will be treated
as a separate line in the macro. This method still accepts macros which use the old
macro syntax, however, XML is the preferred format.
- Parameters:
- strArray - String array that represents a valid macro.
- Throws: MacroException
- thrown if a parameter is passed that is not valid or if Macro
experiences an internal error.
- See Also:
- setMacro, setMacro, setMacro, setParsedMacro
setMacro
public void setMacro(InputStream strm) throws MacroException
- Sets the current macro from an input stream. This stream must contain a
string in the correct XML format. This method still accepts macros which use the old
macro syntax, however, XML is the preferred format.
- Parameters:
- strm - InputStream where the Macro resides.
- Throws: MacroException
- thrown if a parameter is passed that is not valid or if Macro
experiences an internal error.
- See Also:
- setMacro, setMacro, setMacroArray, setParsedMacro
setMacro
public void setMacro(BufferedReader macReader) throws MacroException
- Sets the current macro from a buffered reader. This reader must contain a
string the in the correct XML format.This method still accepts macros which use the old
macro syntax, however, XML is the preferred format.
- Parameters:
- macReader - BufferedReader where the Macro resides.
- Throws: MacroException
- thrown if a parameter is passed that is not valid or if Macro
experiences an internal error.
- See Also:
- setMacro, setMacro, setMacroArray, setParsedMacro
All Packages Class Hierarchy This Package Previous Next Index