com.flagstone.transform
Class FSLimitScript

java.lang.Object
  extended by com.flagstone.transform.FSTransformObject
      extended by com.flagstone.transform.FSMovieObject
          extended by com.flagstone.transform.FSLimitScript
All Implemented Interfaces:
java.lang.Cloneable

public class FSLimitScript
extends FSMovieObject

The FSLimitScript is used to define the execution environment of the Flash Player, limiting the resources available when executing actions.

FSLimitScript can be used to limit the maximum recursion depth and limit the time a sequence of actions can execute for. This provides a rudimentary mechanism for people viewing a movie to regain control of the Flash Player should a script fail.

Attributes
type Identifies the data structure when it is encoded. Read-only.
depth The maximum depth, in the range 1..65535, that a sequence of actions can recurse to.
timeout The maximum time, in seconds, that a sequence of actions will execute before the Flash Player present a dialog box asking whether the script should be terminated.

History

The FSLimitScript represents the ScriptLimits tag in the Macromedia Flash (SWF) File Format Specification. It was introduced in Flash 7.


Field Summary
 
Fields inherited from class com.flagstone.transform.FSMovieObject
ButtonColorTransform, ButtonSound, DefineBitsPtr, DefineButton, DefineButton2, DefineFont, DefineFont2, DefineImage, DefineImage2, DefineJPEGImage, DefineJPEGImage2, DefineJPEGImage3, DefineMorphShape, DefineMovieClip, DefineShape, DefineShape2, DefineShape3, DefineSound, DefineText, DefineText2, DefineTextField, DefineVideo, DoAction, EnableDebugger, EnableDebugger2, Export, extendLength, FontInfo, FontInfo2, FrameLabel, Free, Import, Initialize, JPEGTables, length, LimitScript, PathsArePostscript, PlaceObject, PlaceObject2, Protect, QuicktimeMovie, RemoveObject, RemoveObject2, SerialNumber, SetBackgroundColor, ShowFrame, SoundStreamBlock, SoundStreamHead, SoundStreamHead2, StartSound, TabOrder, type, VideoFrame
 
Constructor Summary
FSLimitScript(FSCoder coder)
          Construct an FSLimitScript object, initialising it with values decoded from an encoded object.
FSLimitScript(FSLimitScript obj)
          Constructs an FSLimitScript object by copying values from an existing object.
FSLimitScript(int depth, int timeout)
          Constructs an FSLimitScript object that limits the recursion depth to depth levels and specifies that any sequence of actions will timeout after timeout seconds.
 
Method Summary
 void appendDescription(java.lang.StringBuffer buffer, int stackDepth)
          AppendDescription is used to present a string description of the object including all nested objects up to a specified depth.
 void decode(FSCoder coder)
           
 void encode(FSCoder coder)
           
 boolean equals(java.lang.Object anObject)
          Returns true if anObject is equal to this one.
 int getDepth()
          Gets the maximum recursion level.
 int getTimeout()
          Gets the maximum time a sequence of actions will execute before the Flash Player present a dialog box asking whether the script should be terminated.
 int length(FSCoder coder)
           
 void setDepth(int depth)
          Sets the maximum recursion level.
 void setTimeout(int time)
          Sets the maximum time a sequence of actions will execute before the Flash Player present a dialog box asking whether the script should be terminated.
 
Methods inherited from class com.flagstone.transform.FSMovieObject
getType
 
Methods inherited from class com.flagstone.transform.FSTransformObject
clone, name, toString
 
Methods inherited from class java.lang.Object
finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

FSLimitScript

public FSLimitScript(FSCoder coder)
Construct an FSLimitScript object, initialising it with values decoded from an encoded object.

Parameters:
coder - an FSCoder containing the binary data.

FSLimitScript

public FSLimitScript(int depth,
                     int timeout)
Constructs an FSLimitScript object that limits the recursion depth to depth levels and specifies that any sequence of actions will timeout after timeout seconds.

Parameters:
depth - the maximum depth a sequence of actions can recurse to.
timeout - the time in seconds that a sequence of actions is allowed to execute before the Flash Player displays a dialog box asking whether the script should be terminated.

FSLimitScript

public FSLimitScript(FSLimitScript obj)
Constructs an FSLimitScript object by copying values from an existing object.

Parameters:
obj - an FSLimitScript object.
Method Detail

getDepth

public int getDepth()
Gets the maximum recursion level.

Returns:
the maximum depth a sequence of actions can recurse to.

setDepth

public void setDepth(int depth)
Sets the maximum recursion level.

Parameters:
depth - the maximum depth a sequence of actions can recurse to.

getTimeout

public int getTimeout()
Gets the maximum time a sequence of actions will execute before the Flash Player present a dialog box asking whether the script should be terminated.

Returns:
the time in seconds that a sequence of actions is allowed to execute.

setTimeout

public void setTimeout(int time)
Sets the maximum time a sequence of actions will execute before the Flash Player present a dialog box asking whether the script should be terminated.

Parameters:
time - the time in seconds that a sequence of actions is allowed to execute.

equals

public boolean equals(java.lang.Object anObject)
Description copied from class: FSMovieObject
Returns true if anObject is equal to this one. Objects are considered equal if they would generate identical binary data when they are encoded to a Flash file.

Overrides:
equals in class FSMovieObject
Returns:
true if this object would be identical to anObject when encoded.

appendDescription

public void appendDescription(java.lang.StringBuffer buffer,
                              int stackDepth)
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.

Overrides:
appendDescription in class FSMovieObject
Parameters:
buffer - a StringBuffer to which the description of each object is appended.
stackDepth - the maximum level of nesting up to which objects will be displayed.

length

public int length(FSCoder coder)
Overrides:
length in class FSMovieObject

encode

public void encode(FSCoder coder)
Overrides:
encode in class FSMovieObject

decode

public void decode(FSCoder coder)
Overrides:
decode in class FSMovieObject