org.apache.batik.bridge
Class BaseScriptingEnvironment

java.lang.Object
  extended by org.apache.batik.bridge.BaseScriptingEnvironment
Direct Known Subclasses:
ScriptingEnvironment

public class BaseScriptingEnvironment
extends Object

This class is the base class for SVG scripting.


Nested Class Summary
protected  class BaseScriptingEnvironment.Window
          Represents the window object of this environment.
 
Field Summary
protected static String ALTERNATE_EVENT_NAME
           
protected static String APPLICATION_ECMASCRIPT
          The 'application/ecmascript' MIME type.
protected  BridgeContext bridgeContext
          The bridge context.
protected  ParsedURL docPURL
          The URL of the document ot manage
protected  Document document
          The document to manage.
protected static String EVENT_NAME
           
static String EVENT_SCRIPT_DESCRIPTION
          Constant used to describe inline scripts.
protected  WeakHashMap executedScripts
          Set of <script> elements that have already been executed.
static String INLINE_SCRIPT_DESCRIPTION
          Constant used to describe inline scripts.
protected  Interpreter interpreter
          The default Interpreter for the document
protected  Set languages
           
protected  UserAgent userAgent
          The user-agent.
protected  Map windowObjects
          Map of Interpreter to Window objects.
 
Constructor Summary
BaseScriptingEnvironment(BridgeContext ctx)
          Creates a new BaseScriptingEnvironment.
 
Method Summary
protected  void checkCompatibleScriptURL(String scriptType, ParsedURL scriptPURL)
          Checks that the script URLs and the document url are compatible.
protected  Window createWindow(Interpreter interp, String lang)
          Creates a new Window object.
protected  void dispatchSVGDocEvent(String eventType)
           
protected  void dispatchSVGLoad(Element elt, boolean checkCanRun, String lang)
          Auxiliary method for dispatchSVGLoad.
 void dispatchSVGLoadEvent()
          Recursively dispatch the SVG 'onload' event.
protected  void dispatchSVGResizeEvent()
          Method to dispatch SVG Resize event.
protected  void dispatchSVGScrollEvent()
          Method to dispatch SVG Scroll event.
protected  void dispatchSVGZoomEvent()
          Method to dispatch SVG Zoom event.
 Interpreter getInterpreter()
          Returns the default Interpreter for this document.
 Interpreter getInterpreter(String lang)
           
 Window getWindow()
          Returns the Window object for scripting languages that have no Interpreter object.
 Window getWindow(Interpreter interp, String lang)
          Returns the Window object for the specified Interpreter.
protected  void handleInterpreterException(InterpreterException ie)
          Handles the given exception.
protected  void handleSecurityException(SecurityException se)
          Handles the given exception.
 void initializeEnvironment(Interpreter interp, String lang)
          Initializes the environment of the given interpreter.
static boolean isDynamicDocument(BridgeContext ctx, Document doc)
          Tells whether the given SVG document is dynamic.
static boolean isDynamicElement(BridgeContext ctx, Element elt)
           
static boolean isDynamicElement(Element elt, BridgeContext ctx, List bridgeExtensions)
          Tells whether the given SVG element is dynamic.
protected  void loadScript(AbstractElement script)
          Executes the specified <script> element, if it hasn't been executed already.
 void loadScripts()
          Loads the scripts contained in the <script> elements.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

INLINE_SCRIPT_DESCRIPTION

public static final String INLINE_SCRIPT_DESCRIPTION
Constant used to describe inline scripts.
 {0} - URL of document containing script.
 {1} - Element tag
 {2} - line number of element.
 

See Also:
Constant Field Values

EVENT_SCRIPT_DESCRIPTION

public static final String EVENT_SCRIPT_DESCRIPTION
Constant used to describe inline scripts.
 {0} - URL of document containing script.
 {1} - Event attribute name
 {2} - line number of element.
 

See Also:
Constant Field Values

EVENT_NAME

protected static final String EVENT_NAME
See Also:
Constant Field Values

ALTERNATE_EVENT_NAME

protected static final String ALTERNATE_EVENT_NAME
See Also:
Constant Field Values

APPLICATION_ECMASCRIPT

protected static final String APPLICATION_ECMASCRIPT
The 'application/ecmascript' MIME type.

See Also:
Constant Field Values

bridgeContext

protected BridgeContext bridgeContext
The bridge context.


userAgent

protected UserAgent userAgent
The user-agent.


document

protected Document document
The document to manage.


docPURL

protected ParsedURL docPURL
The URL of the document ot manage


languages

protected Set languages

interpreter

protected Interpreter interpreter
The default Interpreter for the document


windowObjects

protected Map windowObjects
Map of Interpreter to Window objects.


executedScripts

protected WeakHashMap executedScripts
Set of <script> elements that have already been executed.

Constructor Detail

BaseScriptingEnvironment

public BaseScriptingEnvironment(BridgeContext ctx)
Creates a new BaseScriptingEnvironment.

Parameters:
ctx - the bridge context
Method Detail

isDynamicDocument

public static boolean isDynamicDocument(BridgeContext ctx,
                                        Document doc)
Tells whether the given SVG document is dynamic.


isDynamicElement

public static boolean isDynamicElement(BridgeContext ctx,
                                       Element elt)

isDynamicElement

public static boolean isDynamicElement(Element elt,
                                       BridgeContext ctx,
                                       List bridgeExtensions)
Tells whether the given SVG element is dynamic.


getWindow

public Window getWindow(Interpreter interp,
                        String lang)
Returns the Window object for the specified Interpreter.


getWindow

public Window getWindow()
Returns the Window object for scripting languages that have no Interpreter object.


createWindow

protected Window createWindow(Interpreter interp,
                              String lang)
Creates a new Window object.


getInterpreter

public Interpreter getInterpreter()
Returns the default Interpreter for this document.


getInterpreter

public Interpreter getInterpreter(String lang)

initializeEnvironment

public void initializeEnvironment(Interpreter interp,
                                  String lang)
Initializes the environment of the given interpreter.


loadScripts

public void loadScripts()
Loads the scripts contained in the <script> elements.


loadScript

protected void loadScript(AbstractElement script)
Executes the specified <script> element, if it hasn't been executed already.


checkCompatibleScriptURL

protected void checkCompatibleScriptURL(String scriptType,
                                        ParsedURL scriptPURL)
Checks that the script URLs and the document url are compatible. A SecurityException is thrown if loading the script is not allowed.


dispatchSVGLoadEvent

public void dispatchSVGLoadEvent()
Recursively dispatch the SVG 'onload' event.


dispatchSVGLoad

protected void dispatchSVGLoad(Element elt,
                               boolean checkCanRun,
                               String lang)
Auxiliary method for dispatchSVGLoad.


dispatchSVGZoomEvent

protected void dispatchSVGZoomEvent()
Method to dispatch SVG Zoom event.


dispatchSVGScrollEvent

protected void dispatchSVGScrollEvent()
Method to dispatch SVG Scroll event.


dispatchSVGResizeEvent

protected void dispatchSVGResizeEvent()
Method to dispatch SVG Resize event.


dispatchSVGDocEvent

protected void dispatchSVGDocEvent(String eventType)

handleInterpreterException

protected void handleInterpreterException(InterpreterException ie)
Handles the given exception.


handleSecurityException

protected void handleSecurityException(SecurityException se)
Handles the given exception.



Copyright © 2017 Apache Software Foundation. All Rights Reserved.