Class BaseScriptingEnvironment

  • Direct Known Subclasses:
    ScriptingEnvironment

    public class BaseScriptingEnvironment
    extends java.lang.Object
    This class is the base class for SVG scripting.
    • Field Detail

      • INLINE_SCRIPT_DESCRIPTION

        public static final java.lang.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 java.lang.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
      • ALTERNATE_EVENT_NAME

        protected static final java.lang.String ALTERNATE_EVENT_NAME
        See Also:
        Constant Field Values
      • APPLICATION_ECMASCRIPT

        protected static final java.lang.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 org.w3c.dom.Document document
        The document to manage.
      • docPURL

        protected ParsedURL docPURL
        The URL of the document ot manage
      • languages

        protected java.util.Set languages
      • interpreter

        protected Interpreter interpreter
        The default Interpreter for the document
      • windowObjects

        protected java.util.Map windowObjects
        Map of Interpreter to Window objects.
      • executedScripts

        protected java.util.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,
                                                org.w3c.dom.Document doc)
        Tells whether the given SVG document is dynamic.
      • isDynamicElement

        public static boolean isDynamicElement​(BridgeContext ctx,
                                               org.w3c.dom.Element elt)
      • isDynamicElement

        public static boolean isDynamicElement​(org.w3c.dom.Element elt,
                                               BridgeContext ctx,
                                               java.util.List bridgeExtensions)
        Tells whether the given SVG element is dynamic.
      • getWindow

        public Window getWindow​(Interpreter interp,
                                java.lang.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,
                                      java.lang.String lang)
        Creates a new Window object.
      • getInterpreter

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

        public Interpreter getInterpreter​(java.lang.String lang)
      • initializeEnvironment

        public void initializeEnvironment​(Interpreter interp,
                                          java.lang.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​(java.lang.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​(org.w3c.dom.Element elt,
                                       boolean checkCanRun,
                                       java.lang.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​(java.lang.String eventType)
      • handleInterpreterException

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

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