Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.flagstone.transform
Class FSAction

    java.lang.Object
      com.flagstone.transform.FSTransformObject
          com.flagstone.transform.FSActionObject
              com.flagstone.transform.FSAction

All Implemented Interfaces:
  java.lang.Cloneable

    public class FSAction

extends FSActionObject

The FSAction class is used to represent stack-based actions, defined by simple byte-codes, that are executed by the Flash Player.

The operations supported by the FSAction class are:

# Stack Manipulation

Action | Description | Stack Notation | Example
--- | --- | --- | ---
Pop | Pop value from the top of the stack. | (valueA -- ) | (4 -- )
Duplicate | Duplicate the value at the top of the stack. | (valueA -- valueA valueA) | (4 -- 4 4)
Swap | Swap the top two values on the stack. | (valueA valueB -- valueB valueA) | (4 3 -- 3 4)

FSPush is used to push literals onto the Stack. See also FSRegisterCopy which copies the value on top of the Stack to one of the Flash Player's internal registers.

# Arithmetic

Action | Description | Stack Notation | Example
--- | --- | --- | ---
Add | Arithmetic Add: A + B | (numA numB -- num) | (4 3 -- 7)
Subtract | Arithmetic Subtract: A - B | (numA numB -- num) | (4 3 -- 1)
Multiply | Arithmetic Multiply: A * B | (numA numB -- num) | (4 3 -- 12)
Divide | Arithmetic Divide: A / B | (numA numB -- num) | (4 3 -- 1.333)
Modulo | Arithmetic Modulo: A % B | (numA numB -- num) | (4 3 -- 1)
Increment | Add 1 to the value on the stack. | (num -- num) | (3 -- 4)
Decrement | Subtracted 1 from the value on the stack. | (num -- num) | (4 -- 3)

Arithmetic add is supported by two actions. IntegerAdd was introduced in Flash 4. It was replaced in Flash 5 by the more flexible Add action which is able to add any two numbers and also concatenate strings. If a string and a number are added then the number is converted to its string representation before concatenation.

# Comparison

Action | Description | Stack Notation | Example
--- | --- | --- | ---
Less | LessThan: A < B | (numA numB -- boolean) | (10 9 -- 0 )
StringLess | String compare: stringA < stringB | (stringA stringB -- boolean) | ("abc" "ab" -- 0)
Equals | Equals: A == B | (numA numB -- boolean) | (23 23 -- 1 )
StringEquals | String compare: stringA == stringB | (stringA stringB -- boolean) | ("abc" "abc" -- 1)
StrictEquals | Equals: A === B, are the types as well as the values equal. | (valueA valueB -- boolean) | ("23" 23 -- 0 )
Greater | Greater Than: A > B | (numA numB -- boolean) | (10 9 -- 0 )
StringGreater | String compare: stringA > stringB | (stringA stringB -- boolean) | ("abc" "ab" -- 0)

The less than comparison is supported by IntegerLess introduced in Flash 4 and Less introduced in Flash 5. The Less action is more flexible allowing comparison between any combination of two numbers and strings. In Flash 4 comparisons were only supported on values of the same type using either IntegerLess or StringLess.

The equals comparison is supported by IntegerEquals introduced in Flash 4 and Equals introduced in Flash 5. The Equals action is more flexible allowing comparison between any combination of two numbers and strings. In Flash 4 comparisons were only supported on values of the same type using either IntegerEquals or StringEquals.

# Logical

Action | Description | Stack Notation | Example
--- | --- | --- | ---
And | Logical And: A && B | (numA numB -- boolean) | (3 0 -- 0)
Or | Logical Or: A || B | (numA numB -- boolean) | (3 0 -- 1)
Not | Logical Not: !A | (num -- boolean) | (3 -- 0)

# Bitwise

Action | Description | Stack Notation | Example
--- | --- | --- | ---
BitwiseAnd | Bitwise And: A & B | (numA numB -- num) | (5 4 -- 4)
BitwiseOr | Bitwise Or: A | B | (numA numB -- num) | (5 4 -- 5)
BitwiseXOr | Bitwise Exclusive-Or: A ^ B | (numA numB -- num) | (5 4 -- 1)
LogicalShiftLeft | Logical Shift Left: A << B | (numA numB -- num) | (4 1 -- 8)
LogicalShiftRight | Logical Shift Right: A >>> B | (numA numB -- num) | (8 1 -- 4)
ArithmeticShiftRight | Arithmetic Shift Right (sign extension): A >> B | (numA numB -- num) | (-1 1 -- -1)

# String

Action | Description | Stack Notation | Example
--- | --- | --- | ---
StringAdd | Concatenate two strings | (string string -- string) | ("ab" "cd" -- "abcd")
StringLength | Returns the length of a string | (string -- num) | ("abc" -- 3)
MBStringLength | Returns the length of a string that contains characters from an extended set such as Unicode. | (string -- num) | ("abc" -- 3)
StringExtract | Substring. Extract count characters from string starting at position index. | (count index string -- string) | (3 2 "abcde" -- "bcd")
MBStringExtract | Multi-byte Substring. Extract count characters from string starting at position index. | (count index string -- string) | (3 2 "abcde" -- "bcd")

# Type Conversion

Action | Description | Stack Notation | Example
--- | --- | --- | ---
ToInteger | Converts the value to an integer | ( num -- num) | ( 3.2 -- 3 )
ToNumber | Converts the string value to a number. | ( string -- num) | ( "3.2" -- 3.2 )
ToString | Converts the value to a string. | ( num -- string) | ( 3.2 -- "3.2" )
CharToAscii | Convert the first character of a string to its ASCII value. | (string -- num) | ("abc" -- 97)
MBCharToAscii | Convert the first character of string to its Unicode value. | (string -- num) | ("abc" -- 61)
AsciiToChar | Convert the ASCII value to the equivalent character. | (num -- string) | (97 -- "a")
MBAsciiToChar | Convert a Unicode value to the equivalent character. | (num -- string) | (61 -- "a")

# Variables

Action | Description | Stack Notation | Example
--- | --- | --- | ---
GetVariable | Push the value for the specified variable on the stack | (variableName -- value) | ("FlashVersion" -- 4)
SetVariable | Set the value of the specified variable | (variableName value --) | ("Var1" 123 --)
GetType | Returns the type of the object or value at the top of the stack. | (value -- value type) | (--)
NewVariable | Create a new user-defined variable. | (name --) | ("x" --)
InitVariable | Create and initialise a user-defined variable. | (value name --) | (1 "x" --)
NewArray | Create an array. | (value+ count -- array) | (1 2 3 4 4 -- array)
DeleteVariable | Deletes a variable, returning true if the variable was deleted, false otherwise. | (name -- boolean) | ("x" -- 1)
Delete | Deletes an object or variable, returning true if the object was deleted, false otherwise. | (name -- boolean) | ("x" -- 1)

# Functions

Action | Description | Stack Notation | Example
--- | --- | --- | ---
ExecuteFunction | Execute the built-in function. | (arg* functionName -- result*) | (12.3 "isFinite" -- "1")
Return | Return control from the function. | (--) | (--)

# Objects

Action | Description | Stack Notation | Example
--- | --- | --- | ---
GetAttribute | Push the value of an objects attribute on the stack | (string string -- value) | ("Key" "SPACE" -- 32)
SetAttribute | Set the value of a attribute of an object | (variable string value --) | (<_root> "variable" 1 --)
ExecuteMethod | Execute a method of an object | (string string -- value) | ("Key" "getCode" -- num)
NewMethod | Define a new method for an object |  |
NamedObject | Construct an instance of a built-in object. | (arg* count className -- instance) | ("My String" 1 "String" -- instance)
NewObject | Define a new class. | ((name value)* count -- instance) | ("Account" "123456" 1 -- value)
Enumerate | Enumerate through the attributes of the object referenced by the name of the variable on the stack. | ( "var" -- ) | ( -- )
EnumerateObject | Enumerate through the attributes of the object on the stack. | ( "var" -- ) | ( -- )

# Movie Control

Action | Description | Stack Notation | Example
--- | --- | --- | ---
GetTarget | Returns a string representing the path to the movie clip in which the current action is executed. | (-- clipName ) | ( -- "_root/MovieClip")
SetTarget2 | Change the context of the Flash Player so subsequent actions are applied to the movie clip, clipName. | (clipName -- ) | ("MovieClip" --)
GetProperty | Push the value of the specified property on the stack. Properties are identified by reserved values, see the FSPush class for more details. | (value -- value) | ( <_totalframes> -- 36 )
SetProperty | Set the value of a property | (value propertyName --) | ( 8000 <_width> -- )
CloneSprite | Duplicate a movie clip clipName, on the display list layer depth with the name newName. | ( depth clipName newName --) | ( 19 "_root/MovieClip" "newClip" -- )
RemoveSprite | Delete a movie clip | ( clipName --) | ( "_root/MovieClip" -- )
StartDrag | Starts dragging a movie clip with an optional constraining rectangle defined by the corner points (x1,y1), (x2,y2). | ( x1 y1 x2 y2 1 clipName --) ( 0 clipName --) | ( 0 0 400 400 1 "movieClip" - ) ( 0 "movieClip" - )
EndDrag | Stops dragging a movie clip | (--) |
NextFrame | Go to the next frame of the current movie | (--) |
PreviousFrame | Go to the previous frame of the current movie | (-- ) |
Play | Start playing the current movie at the current frame | (--) |
Stop | Stop playing the current movie | (--) |
ToggleQuality | Toggle the movie between high and low quality | (--) |
StopSounds | Stop playing all sounds | (--) |

# ActionScript 2.0

Starting with Flash 6 Macromedia extended the syntax of ActionScript to make it more object-oriented, moving the language closer to Java than JavaScript. Several actions were added to support the new keywords introduced into ActionScript 2.0.

Action | Description | Stack Notation | Example
--- | --- | --- | ---
InstanceOf | Return true or false to the stack if the object can be created using the constructor function. | ( object function -- true | false) |
Implements | Identifies a class implements a defined interface. | ( (function) count function --) |
Extends | Identifies that a class inherits from a class - used to increase the execution speed of ActionScript code. | ( subclass superclass --) |
Cast | Casts the type of an object on the stack, returning the object if it is the same type as the constructor function, null otherwise. | (function object -- object | null) |
Throw | Throw an exception. | (--) |

# Miscellaneous

Action | Description | Stack Notation | Example
--- | --- | --- | ---
Trace | Append value to debugging window | (value --) | ("X = 3" --)
GetTime | Push the number of milliseconds that have elapsed since the player started on the stack. | (-- num) | (-- 1274832)
RandomNumber | Push a random number on the stack. | (maximumValue -- num) | (10 -- 3)

Notes

- The Add action was updated in Flash 5 so it can be used to perform arithmetic add and string concatenation depending on whether the values on the stack can be interpreted as numeric values or strings. The original add action (Code = 10) should not be used.
- For the division operation, if a divide by zero error occurs then the string "#ERROR" is pushed onto the stack.
- The Equals and Less actions were updated in Flash 5 so it can be used to perform arithmetic and string comparison depending on whether the values on the stack can be interpreted as numeric values or strings. The original Less action (code = 15) and Equals action (code = 14) should not be used.
- Type conversion of string characters is now handled by the String object, introduced in Flash 5. The ToInteger action is now supported by the Math object also introduced in Flash 5. The type conversion functions are only included for completeness.
- Flash version 5 supports built-in and user defined objects. For a full description of the objects supported please consult an ActionScript 5 reference guide.

# Examples

The FSActionObject class defines a series of constants that lists the type of actions supported in the current release. Actions may be created by specifying the action type in the constructor:

     FSAction anAction = new FSAction(Add);

The FSPush class is used to push values onto the Flash Player's stack before an action is executed. For example to execute the expression (1+2)*3 when a frame is displayed the following sequence of actions are created:

     FSDoAction frameAction = new FSDoAction();

     frameAction.add(new FSPush(1));
     frameAction.add(new FSPush(2));
     frameAction.add(new FSAction(Add));
     frameAction.add(new FSPush(3));
     frameAction.add(new FSAction(Multiply));

The Flash Player also supported classes and object that represent different complex data types and system resources such as the mouse. These objects and the functions they support are referenced by name. String containing the names and the values (and number) of the arguments required are pushed onto the stack:

     // Push the arguments followed by the number of arguments onto the stack

     frameAction.add(new FSPush(aValue));
     frameAction.add(new FSPush(aValue));
     frameAction.add(new FSPush(2));

     // Place the name on the stack then execute the function.

     frameAction.add(new FSPush("FunctionName"));
     frameAction.add(new FSAction(ExecuteFunction));

To execute a method on a given object a reference to the object is retrieved and the name of the method and any arguments are specified. For example to play a movie clip starting at a named frame:

     // Push the arguments followed by the number of arguments onto the stack

     frameAction.add(new FSPush("frameName"));
     frameAction.add(new FSPush(1));

     // Get a reference to the object.

     frameAction.add(new FSPush("_root"));
     frameAction.add(new FSPush("movieClip"));
     frameAction.add(new FSAction(GetAttribute));

     // Place the name of the method on the stack then execute it.

     frameAction.add(new FSPush("gotoAndPlay"));
     frameAction.add(new FSAction(ExecuteMethod));

Note: The FSPush class allows more than one value to be pushed onto the stack at a time. In the above examples separate FSPush objects are created to make the code a little more readable.

Field Summary
`static int` | `Add`
`static int` | `And`
`static int` | `ArithmeticShiftRight`
`static int` | `AsciiToChar`
`static int` | `BitwiseAnd`
`static int` | `BitwiseOr`
`static int` | `BitwiseXOr`
`static int` | `Cast`
`static int` | `CharToAscii`
`static int` | `CloneSprite`
`static int` | `Decrement`
`static int` | `Delete`
`static int` | `DeleteVariable`
`static int` | `Divide`
`static int` | `Duplicate`
`static int` | `End` Type identifying the end of a sequence of actions.
`static int` | `EndDrag`
`static int` | `Enumerate`
`static int` | `EnumerateObject`
`static int` | `Equals`
`static int` | `ExecuteFunction`
`static int` | `ExecuteMethod`
`static int` | `Extends`
`static int` | `GetAttribute`
`static int` | `GetProperty`
`static int` | `GetTarget`
`static int` | `GetTime`
`static int` | `GetType`
`static int` | `GetVariable`
`static int` | `Greater`
`static int` | `Implements`
`static int` | `Increment`
`static int` | `InitVariable`
`static int` | `InstanceOf`
`static int` | `IntegerAdd`
`static int` | `IntegerEquals`
`static int` | `IntegerLess`
`static int` | `Less`
`static int` | `LogicalShiftLeft`
`static int` | `LogicalShiftRight`
`static int` | `MBAsciiToChar`
`static int` | `MBCharToAscii`
`static int` | `MBStringExtract`
`static int` | `MBStringLength`
`static int` | `Modulo`
`static int` | `Multiply`
`static int` | `NamedObject`
`static int` | `NewArray`
`static int` | `NewMethod`
`static int` | `NewObject`
`static int` | `NewVariable`
`static int` | `NextFrame` Type identifying a NextFrame stack-based action.
`static int` | `Not`
`static int` | `Or`
`static int` | `Play` Type identifying a Play stack-based action.
`static int` | `Pop`
`static int` | `PrevFrame` Type identifying a PrevFrame stack-based action.
`static int` | `RandomNumber`
`static int` | `RemoveSprite`
`static int` | `Return`
`static int` | `SetAttribute`
`static int` | `SetProperty`
`static int` | `SetTarget2`
`static int` | `SetVariable`
`static int` | `StartDrag`
`static int` | `Stop` Type identifying a Stop stack-based action.
`static int` | `StopSounds` Type identifying a StopSounds stack-based action.
`static int` | `StrictEquals`
`static int` | `StringAdd`
`static int` | `StringEquals`
`static int` | `StringExtract`
`static int` | `StringGreater`
`static int` | `StringLength`
`static int` | `StringLess`
`static int` | `Subtract`
`static int` | `Swap`
`static int` | `Throw`
`static int` | `ToggleQuality` Type identifying a ToggleQuality stack-based action.
`static int` | `ToInteger`
`static int` | `ToNumber`
`static int` | `ToString`
`static int` | `Trace`

Fields inherited from class com.flagstone.transform.FSActionObject
`Call, ExceptionHandler, GetUrl, GetUrl2, GotoFrame, GotoFrame2, GotoLabel, If, Jump, length, NewFunction, NewFunction2, Push, RegisterCopy, SetTarget, Table, type, WaitForFrame, WaitForFrame2, With`

Constructor Summary
`FSAction(FSAction obj)` Constructs an FSAction object by copying values from an existing object.
`FSAction(FSCoder coder)` Construct an FSAction object, initalizing it with values decoded from an encoded object.
`FSAction(int aType)` Constructs a stack-based action with the specified type.

Method Summary
`static FSAction` | `Add()` Factory method for generating an FSAction object representing a Add action.
`static FSAction` | `And()` Factory method for generating an FSAction object representing a And action.
`void` | `appendDescription(java.lang.StringBuffer buffer, int depth)` AppendDescription is used to present a string description of the object including all nested objects up to a specified depth.
`static FSAction` | `ArithmeticShiftRight()` Factory method for generating an FSAction object representing a ArithmeticShiftRight action.
`static FSAction` | `AsciiToChar()` Factory method for generating an FSAction object representing a AsciiToChar action.
`static FSAction` | `BitwiseAnd()` Factory method for generating an FSAction object representing a BitwiseAnd action.
`static FSAction` | `BitwiseOr()` Factory method for generating an FSAction object representing a BitwiseOr action.
`static FSAction` | `BitwiseXOr()` Factory method for generating an FSAction object representing a BitwiseXOr action.
`static FSAction` | `Cast()` Factory method for generating an FSAction object representing a Cast action.
`static FSAction` | `CharToAscii()` Factory method for generating an FSAction object representing a CharToAscii action.
`static FSAction` | `CloneSprite()` Factory method for generating an FSAction object representing a CloneSprite action.
`void` | `decode(FSCoder coder)`
`static FSAction` | `Decrement()` Factory method for generating an FSAction object representing a Decrement action.
`static FSAction` | `Delete()` Factory method for generating an FSAction object representing a Delete action.
`static FSAction` | `DeleteVariable()` Factory method for generating an FSAction object representing a DeleteVariable action.
`static FSAction` | `Divide()` Factory method for generating an FSAction object representing a Divide action.
`static FSAction` | `Duplicate()` Factory method for generating an FSAction object representing a Duplicate action.
`void` | `encode(FSCoder coder)`
`static FSAction` | `End()` Factory method for generating an FSAction object representing the end of a sequence of actions.
`static FSAction` | `EndDrag()` Factory method for generating an FSAction object representing a EndDrag action.
`static FSAction` | `Enumerate()` Factory method for generating an FSAction object representing a Enumerate action.
`static FSAction` | `EnumerateObject()` Factory method for generating an FSAction object representing a EnumerateObject action.
`static FSAction` | `Equals()` Factory method for generating an FSAction object representing a Equals action.
`static FSAction` | `ExecuteFunction()` Factory method for generating an FSAction object representing a ExecuteFunction action.
`static FSAction` | `ExecuteMethod()` Factory method for generating an FSAction object representing a ExecuteMethod action.
`static FSAction` | `Extends()` Factory method for generating an FSAction object representing a Extends action.
`static FSAction` | `GetAttribute()` Factory method for generating an FSAction object representing a GetAttribute action.
`static FSAction` | `GetProperty()` Factory method for generating an FSAction object representing a GetProperty action.
`static FSAction` | `GetTarget()` Factory method for generating an FSAction object representing a GetTarget action.
`static FSAction` | `GetTime()` Factory method for generating an FSAction object representing a GetTime action.
`static FSAction` | `GetType()` Factory method for generating an FSAction object representing a GetType action.
`static FSAction` | `GetVariable()` Factory method for generating an FSAction object representing a GetVariable action.
`static FSAction` | `Greater()` Factory method for generating an FSAction object representing a Greater action.
`static FSAction` | `Implements()` Factory method for generating an FSAction object representing an Implements action.
`static FSAction` | `Increment()` Factory method for generating an FSAction object representing a Increment action.
`static FSAction` | `InitVariable()` Factory method for generating an FSAction object representing a InitVariable action.
`static FSAction` | `InstanceOf()` Factory method for generating an FSAction object representing a InstanceOf action.
`static FSAction` | `Less()` Factory method for generating an FSAction object representing a Less action.
`static FSAction` | `LogicalShiftLeft()` Factory method for generating an FSAction object representing a LogicalShiftLeft action.
`static FSAction` | `LogicalShiftRight()` Factory method for generating an FSAction object representing a LogicalShiftRight action.
`static FSAction` | `MBAsciiToChar()` Factory method for generating an FSAction object representing a MBAsciiToChar action.
`static FSAction` | `MBCharToAscii()` Factory method for generating an FSAction object representing a MBCharToAscii action.
`static FSAction` | `MBStringExtract()` Factory method for generating an FSAction object representing a MBStringExtract action.
`static FSAction` | `MBStringLength()` Factory method for generating an FSAction object representing a MBStringLength action.
`static FSAction` | `Modulo()` Factory method for generating an FSAction object representing a Modulo action.
`static FSAction` | `Multiply()` Factory method for generating an FSAction object representing a Multiply action.
`java.lang.String` | `name()` Returns a string identifying the type of stack-based action that the object represents.
`static FSAction` | `NamedObject()` Factory method for generating an FSAction object representing a NamedObject action.
`static FSAction` | `NewArray()` Factory method for generating an FSAction object representing a NewArray action.
`static FSAction` | `NewMethod()` Factory method for generating an FSAction object representing a NewMethod action.
`static FSAction` | `NewObject()` Factory method for generating an FSAction object representing a NewObject action.
`static FSAction` | `NewVariable()` Factory method for generating an FSAction object representing a NewVariable action.
`static FSAction` | `NextFrame()` Factory method for generating an FSAction object representing a NextFrame action.
`static FSAction` | `Not()` Factory method for generating an FSAction object representing a Not action.
`static FSAction` | `Or()` Factory method for generating an FSAction object representing a Or action.
`static FSAction` | `Play()` Factory method for generating an FSAction object representing a Play action.
`static FSAction` | `Pop()` Factory method for generating an FSAction object representing a Pop action.
`static FSAction` | `PrevFrame()` Factory method for generating an FSAction object representing a PrevFrame action.
`static FSAction` | `RandomNumber()` Factory method for generating an FSAction object representing a RandomNumber action.
`static FSAction` | `RemoveSprite()` Factory method for generating an FSAction object representing a RemoveSprite action.
`static FSAction` | `Return()` Factory method for generating an FSAction object representing a Return action.
`static FSAction` | `SetAttribute()` Factory method for generating an FSAction object representing a SetAttribute action.
`static FSAction` | `SetProperty()` Factory method for generating an FSAction object representing a SetProperty action.
`static FSAction` | `SetTarget2()` Factory method for generating an FSAction object representing a SetTarget2 action.
`static FSAction` | `SetVariable()` Factory method for generating an FSAction object representing a SetVariable action.
`static FSAction` | `StartDrag()` Factory method for generating an FSAction object representing a StartDrag action.
`static FSAction` | `Stop()` Factory method for generating an FSAction object representing a Stop action.
`static FSAction` | `StopSounds()` Factory method for generating an FSAction object representing a StopSounds action.
`static FSAction` | `StrictEquals()` Factory method for generating an FSAction object representing a StrictEquals action.
`static FSAction` | `StringAdd()` Factory method for generating an FSAction object representing a StringAdd action.
`static FSAction` | `StringEquals()` Factory method for generating an FSAction object representing a StringEquals action.
`static FSAction` | `StringExtract()` Factory method for generating an FSAction object representing a StringExtract action.
`static FSAction` | `StringGreater()` Factory method for generating an FSAction object representing a StringGreater action.
`static FSAction` | `StringLength()` Factory method for generating an FSAction object representing a StringLength action.
`static FSAction` | `StringLess()` Factory method for generating an FSAction object representing a StringLess action.
`static FSAction` | `Subtract()` Factory method for generating an FSAction object representing a Subtract action.
`static FSAction` | `Swap()` Factory method for generating an FSAction object representing a Swap action.
`static FSAction` | `Throw()` Factory method for generating an FSAction object representing a Throw action.
`static FSAction` | `ToggleQuality()` Factory method for generating an FSAction object representing a ToggleQuality action.
`static FSAction` | `ToInteger()` Factory method for generating an FSAction object representing a ToInteger action.
`static FSAction` | `ToNumber()` Factory method for generating an FSAction object representing a ToNumber action.
`static FSAction` | `ToString()` Factory method for generating an FSAction object representing a ToString action.
`static FSAction` | `Trace()` Factory method for generating an FSAction object representing a Trace action.

Methods inherited from class com.flagstone.transform.FSActionObject
`equals, getType, length, length`

Methods inherited from class com.flagstone.transform.FSTransformObject
`clone, toString`

Methods inherited from class java.lang.Object
`finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Field Detail

### End

    public static final int End

  Type identifying the end of a sequence of actions.

  See Also:
    Constant Field Values

### NextFrame

    public static final int NextFrame

  Type identifying a NextFrame stack-based action.

  See Also:
    Constant Field Values

### PrevFrame

    public static final int PrevFrame

  Type identifying a PrevFrame stack-based action.

  See Also:
    Constant Field Values

### Play

    public static final int Play

  Type identifying a Play stack-based action.

  See Also:
    Constant Field Values

### Stop

    public static final int Stop

  Type identifying a Stop stack-based action.

  See Also:
    Constant Field Values

### ToggleQuality

    public static final int ToggleQuality

  Type identifying a ToggleQuality stack-based action.

  See Also:
    Constant Field Values

### StopSounds

    public static final int StopSounds

  Type identifying a StopSounds stack-based action.

  See Also:
    Constant Field Values

### IntegerAdd

    public static final int IntegerAdd

See Also:
  Constant Field Values

### Subtract

    public static final int Subtract

See Also:
  Constant Field Values

### Multiply

    public static final int Multiply

See Also:
  Constant Field Values

### Divide

    public static final int Divide

See Also:
  Constant Field Values

### IntegerEquals

    public static final int IntegerEquals

See Also:
  Constant Field Values

### IntegerLess

    public static final int IntegerLess

See Also:
  Constant Field Values

### And

    public static final int And

See Also:
  Constant Field Values

### Or

    public static final int Or

See Also:
  Constant Field Values

### Not

    public static final int Not

See Also:
  Constant Field Values

### StringEquals

    public static final int StringEquals

See Also:
  Constant Field Values

### StringLength

    public static final int StringLength

See Also:
  Constant Field Values

### StringExtract

    public static final int StringExtract

See Also:
  Constant Field Values

### Pop

    public static final int Pop

See Also:
  Constant Field Values

### ToInteger

    public static final int ToInteger

See Also:
  Constant Field Values

### GetVariable

    public static final int GetVariable

See Also:
  Constant Field Values

### SetVariable

    public static final int SetVariable

See Also:
  Constant Field Values

### SetTarget2

    public static final int SetTarget2

See Also:
  Constant Field Values

### StringAdd

    public static final int StringAdd

See Also:
  Constant Field Values

### GetProperty

    public static final int GetProperty

See Also:
  Constant Field Values

### SetProperty

    public static final int SetProperty

See Also:
  Constant Field Values

### CloneSprite

    public static final int CloneSprite

See Also:
  Constant Field Values

### RemoveSprite

    public static final int RemoveSprite

See Also:
  Constant Field Values

### Trace

    public static final int Trace

See Also:
  Constant Field Values

### StartDrag

    public static final int StartDrag

See Also:
  Constant Field Values

### EndDrag

    public static final int EndDrag

See Also:
  Constant Field Values

### StringLess

    public static final int StringLess

See Also:
  Constant Field Values

### RandomNumber

    public static final int RandomNumber

See Also:
  Constant Field Values

### MBStringLength

    public static final int MBStringLength

See Also:
  Constant Field Values

### CharToAscii

    public static final int CharToAscii

See Also:
  Constant Field Values

### AsciiToChar

    public static final int AsciiToChar

See Also:
  Constant Field Values

### GetTime

    public static final int GetTime

See Also:
  Constant Field Values

### MBStringExtract

    public static final int MBStringExtract

See Also:
  Constant Field Values

### MBCharToAscii

    public static final int MBCharToAscii

See Also:
  Constant Field Values

### MBAsciiToChar

    public static final int MBAsciiToChar

See Also:
  Constant Field Values

### DeleteVariable

    public static final int DeleteVariable

See Also:
  Constant Field Values

### Delete

    public static final int Delete

See Also:
  Constant Field Values

### InitVariable

    public static final int InitVariable

See Also:
  Constant Field Values

### ExecuteFunction

    public static final int ExecuteFunction

See Also:
  Constant Field Values

### Return

    public static final int Return

See Also:
  Constant Field Values

### Modulo

    public static final int Modulo

See Also:
  Constant Field Values

### NamedObject

    public static final int NamedObject

See Also:
  Constant Field Values

### NewVariable

    public static final int NewVariable

See Also:
  Constant Field Values

### NewArray

    public static final int NewArray

See Also:
  Constant Field Values

### NewObject

    public static final int NewObject

See Also:
  Constant Field Values

### GetType

    public static final int GetType

See Also:
  Constant Field Values

### GetTarget

    public static final int GetTarget

See Also:
  Constant Field Values

### Enumerate

    public static final int Enumerate

See Also:
  Constant Field Values

### Add

    public static final int Add

See Also:
  Constant Field Values

### Less

    public static final int Less

See Also:
  Constant Field Values

### Equals

    public static final int Equals

See Also:
  Constant Field Values

### ToNumber

    public static final int ToNumber

See Also:
  Constant Field Values

### ToString

    public static final int ToString

See Also:
  Constant Field Values

### Duplicate

    public static final int Duplicate

See Also:
  Constant Field Values

### Swap

    public static final int Swap

See Also:
  Constant Field Values

### GetAttribute

    public static final int GetAttribute

See Also:
  Constant Field Values

### SetAttribute

    public static final int SetAttribute

See Also:
  Constant Field Values

### Increment

    public static final int Increment

See Also:
  Constant Field Values

### Decrement

    public static final int Decrement

See Also:
  Constant Field Values

### ExecuteMethod

    public static final int ExecuteMethod

See Also:
  Constant Field Values

### NewMethod

    public static final int NewMethod

See Also:
  Constant Field Values

### BitwiseAnd

    public static final int BitwiseAnd

See Also:
  Constant Field Values

### BitwiseOr

    public static final int BitwiseOr

See Also:
  Constant Field Values

### BitwiseXOr

    public static final int BitwiseXOr

See Also:
  Constant Field Values

### LogicalShiftLeft

    public static final int LogicalShiftLeft

See Also:
  Constant Field Values

### ArithmeticShiftRight

    public static final int ArithmeticShiftRight

See Also:
  Constant Field Values

### LogicalShiftRight

    public static final int LogicalShiftRight

See Also:
  Constant Field Values

### InstanceOf

    public static final int InstanceOf

See Also:
  Constant Field Values

### EnumerateObject

    public static final int EnumerateObject

See Also:
  Constant Field Values

### StrictEquals

    public static final int StrictEquals

See Also:
  Constant Field Values

### Greater

    public static final int Greater

See Also:
  Constant Field Values

### StringGreater

    public static final int StringGreater

See Also:
  Constant Field Values

### Throw

    public static final int Throw

See Also:
  Constant Field Values

### Cast

    public static final int Cast

See Also:
  Constant Field Values

### Implements

    public static final int Implements

See Also:
  Constant Field Values

### Extends

    public static final int Extends

See Also:
  Constant Field Values

Constructor Detail

### FSAction

    public FSAction(FSCoder coder)

  Construct an FSAction object, initalizing it with values decoded from an encoded object.

  Parameters:
    `coder` - an FSCoder containing the binary data.

### FSAction

    public FSAction(int aType)

  Constructs a stack-based action with the specified type.

  Parameters:
    `aType` - the code used to denote the type of action performed.

### FSAction

    public FSAction(FSAction obj)

  Constructs an FSAction object by copying values from an existing object.

  Parameters:
    `obj` - an FSAction object.

Method Detail

### End

    public static FSAction End()

  Factory method for generating an FSAction object representing the end of a sequence of actions.

### NextFrame

    public static FSAction NextFrame()

  Factory method for generating an FSAction object representing a NextFrame action.

### PrevFrame

    public static FSAction PrevFrame()

  Factory method for generating an FSAction object representing a PrevFrame action.

### Play

    public static FSAction Play()

  Factory method for generating an FSAction object representing a Play action.

### Stop

    public static FSAction Stop()

  Factory method for generating an FSAction object representing a Stop action.

### ToggleQuality

    public static FSAction ToggleQuality()

  Factory method for generating an FSAction object representing a ToggleQuality action.

### StopSounds

    public static FSAction StopSounds()

  Factory method for generating an FSAction object representing a StopSounds action.

### Subtract

    public static FSAction Subtract()

  Factory method for generating an FSAction object representing a Subtract action.

### Multiply

    public static FSAction Multiply()

  Factory method for generating an FSAction object representing a Multiply action.

### Divide

    public static FSAction Divide()

  Factory method for generating an FSAction object representing a Divide action.

### And

    public static FSAction And()

  Factory method for generating an FSAction object representing a And action.

### Or

    public static FSAction Or()

  Factory method for generating an FSAction object representing a Or action.

### Not

    public static FSAction Not()

  Factory method for generating an FSAction object representing a Not action.

### StringEquals

    public static FSAction StringEquals()

  Factory method for generating an FSAction object representing a StringEquals action.

### StringLength

    public static FSAction StringLength()

  Factory method for generating an FSAction object representing a StringLength action.

### StringExtract

    public static FSAction StringExtract()

  Factory method for generating an FSAction object representing a StringExtract action.

### Pop

    public static FSAction Pop()

  Factory method for generating an FSAction object representing a Pop action.

### ToInteger

    public static FSAction ToInteger()

  Factory method for generating an FSAction object representing a ToInteger action.

### GetVariable

    public static FSAction GetVariable()

  Factory method for generating an FSAction object representing a GetVariable action.

### SetVariable

    public static FSAction SetVariable()

  Factory method for generating an FSAction object representing a SetVariable action.

### SetTarget2

    public static FSAction SetTarget2()

  Factory method for generating an FSAction object representing a SetTarget2 action.

### StringAdd

    public static FSAction StringAdd()

  Factory method for generating an FSAction object representing a StringAdd action.

### GetProperty

    public static FSAction GetProperty()

  Factory method for generating an FSAction object representing a GetProperty action.

### SetProperty

    public static FSAction SetProperty()

  Factory method for generating an FSAction object representing a SetProperty action.

### CloneSprite

    public static FSAction CloneSprite()

  Factory method for generating an FSAction object representing a CloneSprite action.

### RemoveSprite

    public static FSAction RemoveSprite()

  Factory method for generating an FSAction object representing a RemoveSprite action.

### Trace

    public static FSAction Trace()

  Factory method for generating an FSAction object representing a Trace action.

### StartDrag

    public static FSAction StartDrag()

  Factory method for generating an FSAction object representing a StartDrag action.

### EndDrag

    public static FSAction EndDrag()

  Factory method for generating an FSAction object representing a EndDrag action.

### StringLess

    public static FSAction StringLess()

  Factory method for generating an FSAction object representing a StringLess action.

### RandomNumber

    public static FSAction RandomNumber()

  Factory method for generating an FSAction object representing a RandomNumber action.

### MBStringLength

    public static FSAction MBStringLength()

  Factory method for generating an FSAction object representing a MBStringLength action.

### CharToAscii

    public static FSAction CharToAscii()

  Factory method for generating an FSAction object representing a CharToAscii action.

### AsciiToChar

    public static FSAction AsciiToChar()

  Factory method for generating an FSAction object representing a AsciiToChar action.

### GetTime

    public static FSAction GetTime()

  Factory method for generating an FSAction object representing a GetTime action.

### MBStringExtract

    public static FSAction MBStringExtract()

  Factory method for generating an FSAction object representing a MBStringExtract action.

### MBCharToAscii

    public static FSAction MBCharToAscii()

  Factory method for generating an FSAction object representing a MBCharToAscii action.

### MBAsciiToChar

    public static FSAction MBAsciiToChar()

  Factory method for generating an FSAction object representing a MBAsciiToChar action.

### DeleteVariable

    public static FSAction DeleteVariable()

  Factory method for generating an FSAction object representing a DeleteVariable action.

### Delete

    public static FSAction Delete()

  Factory method for generating an FSAction object representing a Delete action.

### InitVariable

    public static FSAction InitVariable()

  Factory method for generating an FSAction object representing a InitVariable action.

### ExecuteFunction

    public static FSAction ExecuteFunction()

  Factory method for generating an FSAction object representing a ExecuteFunction action.

### Return

    public static FSAction Return()

  Factory method for generating an FSAction object representing a Return action.

### Modulo

    public static FSAction Modulo()

  Factory method for generating an FSAction object representing a Modulo action.

### NamedObject

    public static FSAction NamedObject()

  Factory method for generating an FSAction object representing a NamedObject action.

### NewVariable

    public static FSAction NewVariable()

  Factory method for generating an FSAction object representing a NewVariable action.

### NewArray

    public static FSAction NewArray()

  Factory method for generating an FSAction object representing a NewArray action.

### NewObject

    public static FSAction NewObject()

  Factory method for generating an FSAction object representing a NewObject action.

### GetType

    public static FSAction GetType()

  Factory method for generating an FSAction object representing a GetType action.

### GetTarget

    public static FSAction GetTarget()

  Factory method for generating an FSAction object representing a GetTarget action.

### Enumerate

    public static FSAction Enumerate()

  Factory method for generating an FSAction object representing a Enumerate action.

### Add

    public static FSAction Add()

  Factory method for generating an FSAction object representing a Add action.

### Less

    public static FSAction Less()

  Factory method for generating an FSAction object representing a Less action.

### Equals

    public static FSAction Equals()

  Factory method for generating an FSAction object representing a Equals action.

### ToNumber

    public static FSAction ToNumber()

  Factory method for generating an FSAction object representing a ToNumber action.

### ToString

    public static FSAction ToString()

  Factory method for generating an FSAction object representing a ToString action.

### Duplicate

    public static FSAction Duplicate()

  Factory method for generating an FSAction object representing a Duplicate action.

### Swap

    public static FSAction Swap()

  Factory method for generating an FSAction object representing a Swap action.

### GetAttribute

    public static FSAction GetAttribute()

  Factory method for generating an FSAction object representing a GetAttribute action.

### SetAttribute

    public static FSAction SetAttribute()

  Factory method for generating an FSAction object representing a SetAttribute action.

### Increment

    public static FSAction Increment()

  Factory method for generating an FSAction object representing a Increment action.

### Decrement

    public static FSAction Decrement()

  Factory method for generating an FSAction object representing a Decrement action.

### ExecuteMethod

    public static FSAction ExecuteMethod()

  Factory method for generating an FSAction object representing a ExecuteMethod action.

### NewMethod

    public static FSAction NewMethod()

  Factory method for generating an FSAction object representing a NewMethod action.

### BitwiseAnd

    public static FSAction BitwiseAnd()

  Factory method for generating an FSAction object representing a BitwiseAnd action.

### BitwiseOr

    public static FSAction BitwiseOr()

  Factory method for generating an FSAction object representing a BitwiseOr action.

### BitwiseXOr

    public static FSAction BitwiseXOr()

  Factory method for generating an FSAction object representing a BitwiseXOr action.

### LogicalShiftLeft

    public static FSAction LogicalShiftLeft()

  Factory method for generating an FSAction object representing a LogicalShiftLeft action.

### ArithmeticShiftRight

    public static FSAction ArithmeticShiftRight()

  Factory method for generating an FSAction object representing a ArithmeticShiftRight action.

### LogicalShiftRight

    public static FSAction LogicalShiftRight()

  Factory method for generating an FSAction object representing a LogicalShiftRight action.

### InstanceOf

    public static FSAction InstanceOf()

  Factory method for generating an FSAction object representing a InstanceOf action.

### EnumerateObject

    public static FSAction EnumerateObject()

  Factory method for generating an FSAction object representing a EnumerateObject action.

### Greater

    public static FSAction Greater()

  Factory method for generating an FSAction object representing a Greater action.

### StringGreater

    public static FSAction StringGreater()

  Factory method for generating an FSAction object representing a StringGreater action.

### StrictEquals

    public static FSAction StrictEquals()

  Factory method for generating an FSAction object representing a StrictEquals action.

### Cast

    public static FSAction Cast()

  Factory method for generating an FSAction object representing a Cast action.

### Implements

    public static FSAction Implements()

  Factory method for generating an FSAction object representing an Implements action.

### Throw

    public static FSAction Throw()

  Factory method for generating an FSAction object representing a Throw action.

### Extends

    public static FSAction Extends()

  Factory method for generating an FSAction object representing a Extends action.

### name

    public java.lang.String name()

  Returns a string identifying the type of stack-based action that the object represents.

  Overrides:
    `name` in class `FSTransformObject`
  Returns:
    a string containing the name of the action.

### appendDescription

    public void appendDescription(java.lang.StringBuffer buffer,
                                  int depth)

  Description copied from class: `FSTransformObject`
  AppendDescription is used to present a string description of the object including all nested objects up to a specified depth. This method provide a more controlled way of creating a string representation of an object since large objects such as font or shape definitions can contain dozens of nested objects. The representation of the object is appended to the StringBuffer, showing the name of the class and values of the attributes it contains. If the object contains any attributes that are objects then the object graph will be traversed up to the specified depth. If objects are nested at a level less than specified depth then the full string representation of the object is displayed. For objects at the specified depth only the name of the class is displayed. Any objects below this depth are not displayed.

  Specified by:
    `appendDescription` in class `FSTransformObject`
  Parameters:
    `buffer` - a StringBuffer to which the description of each object is appended.
    `depth` - the maximum level of nesting up to which objects will be displayed.

### encode

    public void encode(FSCoder coder)

  Overrides:
    `encode` in class `FSActionObject`

### decode

    public void decode(FSCoder coder)

  Overrides:
    `decode` in class `FSActionObject`

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD