## org.apache.batik.bridge
Class BridgeContext

    java.lang.Object
      org.apache.batik.bridge.BridgeContext

All Implemented Interfaces:
  ErrorConstants, CSSContext

Direct Known Subclasses:
  SVG12BridgeContext

    public class BridgeContext

extends java.lang.Object
implements ErrorConstants, CSSContext

This class represents a context used by the various bridges and the builder. A bridge context is associated to a particular document and cannot be reused. The context encapsulates the dynamic bindings between DOM elements and GVT nodes, graphic contexts such as a `GraphicsNodeRenderContext`, and the different objects required by the GVT builder to interpret a SVG DOM tree such as the current viewport or the user agent.

Nested Class Summary
`protected class` `BridgeContext.AnimatedAttrListener` A listener class for changes to animated attributes in the document.
`static class` `BridgeContext.CSSEngineUserAgentWrapper`
`protected class` `BridgeContext.CSSPropertiesChangedListener` The CSSEngineListener invoked when CSS properties are modified on a particular element.
`protected class` `BridgeContext.DOMAttrModifiedEventListener` The DOM EventListener invoked when an attribute is modified.
`protected class` `BridgeContext.DOMCharacterDataModifiedEventListener` The DOM EventListener invoked when a character data is changed.
`protected class` `BridgeContext.DOMMouseOutEventListener` The DOM EventListener invoked when the mouse exits an element
`protected class` `BridgeContext.DOMMouseOverEventListener` The DOM EventListener invoked when the mouse mouves over a new element.
`protected class` `BridgeContext.DOMNodeInsertedEventListener` The DOM EventListener invoked when a node is added.
`protected class` `BridgeContext.DOMNodeRemovedEventListener` The DOM EventListener invoked when a node is removed.
`protected static class` `BridgeContext.EventListenerMememto` A class used to store an EventListener added to the DOM.
`static class` `BridgeContext.SoftReferenceMememto`

Field Summary
`protected AnimatedAttributeListener` `animatedAttributeListener` The listener to receive notification of animated attribute changes.
`protected SVGAnimationEngine` `animationEngine` The animation engine for the document.
`protected float` `animationLimitingAmount` The amount of animation limiting.
`protected int` `animationLimitingMode` The animation limiting mode.
`protected java.util.HashSet` `childContexts` Set of WeakReferences to child BridgeContexts.
`protected CSSEngineListener` `cssPropertiesChangedListener` The CSSEngine listener to receive CSSEngineEvent.
`protected CursorManager` `cursorManager` Manages cursors and performs caching when appropriate
`protected Bridge` `defaultBridge` Default bridge.
`protected org.w3c.dom.Document` `document` The document is bridge context is dedicated to.
`protected DocumentLoader` `documentLoader` The document loader used to load/create Document.
`protected java.awt.geom.Dimension2D` `documentSize` The size of the document.
`protected EventListener` `domAttrModifiedEventListener` The DOM EventListener to receive 'DOMAttrModified' event.
`protected EventListener` `domCharacterDataModifiedEventListener` The DOM EventListener to receive 'DOMCharacterDataModified' event.
`protected EventListener` `domNodeInsertedEventListener` The DOM EventListener to receive 'DOMNodeInserted' event.
`protected EventListener` `domNodeRemovedEventListener` The DOM EventListener to receive 'DOMNodeRemoved' event.
`static int` `DYNAMIC` Indicates that all DOM listeners should be registered.
`protected int` `dynamicStatus` Whether the bridge should support dynamic, or interactive features.
`protected java.util.Map` `elementDataMap` Element Data Map: This is a general location for elements to 'cache' data.
`protected java.util.Map` `elementNodeMap` Binding Map: key is an SVG Element - value is a GraphicsNode
`protected java.util.Set` `eventListenerSet` The list of all EventListener attached by bridges that need to be removed on a dispose() call.
`protected java.util.List` `extensions`
`protected FocusManager` `focusManager` The EventListener that is responsible of managing DOM focus event.
`protected static java.util.List` `globalExtensions` Returns the extensions supported by this bridge context.
`protected GVTBuilder` `gvtBuilder` The GVT builder that might be used to create a GVT subtree.
`static int` `INTERACTIVE` Indicates that DOM listeners should be registered to support, 'interactivity' this includes anchors and cursors, but does not include support for DOM modifications.
`protected java.util.Map` `interpreterMap` The interpreter cache per document.
`protected InterpreterPool` `interpreterPool` The interpreter pool used to handle scripts.
`protected boolean` `isSVG12` Whether the document is an SVG 1.2 document.
`protected java.util.Map` `namespaceURIMap` Bridge Map: Keys are namespace URI - values are HashMap (with keys are local name and values are a Bridge instance).
`protected java.util.Map` `nodeElementMap` Binding Map: key is GraphicsNode - value is a SVG Element.
`protected BridgeContext` `primaryContext` The bridge context for the primary document, if this is a bridge context for a resource document.
`protected java.util.Set` `reservedNamespaceSet` Default bridge reserved namespaces set.
`static int` `STATIC` Indicates that no DOM listeners should be registered.
`protected TextPainter` `textPainter` The text painter to use.
`protected UpdateManager` `updateManager` The update manager.
`protected UserAgent` `userAgent` The user agent.
`protected java.util.Map` `viewportMap` The viewports.
`protected java.util.List` `viewportStack` The viewport stack.
`protected XBLManager` `xblManager` The XBL manager.

Fields inherited from interface org.apache.batik.bridge.ErrorConstants
`ERR_ATTRIBUTE_MISSING, ERR_ATTRIBUTE_VALUE_MALFORMED, ERR_CSS_LENGTH_NEGATIVE, ERR_CSS_URI_BAD_TARGET, ERR_LENGTH_NEGATIVE, ERR_URI_BAD_TARGET, ERR_URI_IMAGE_BROKEN, ERR_URI_IMAGE_INVALID, ERR_URI_IO, ERR_URI_MALFORMED, ERR_URI_REFERENCE_A_DOCUMENT, ERR_URI_UNSECURE, ERR_XLINK_HREF_CIRCULAR_DEPENDENCIES, URI_IMAGE_ERROR`

Constructor Summary
`protected` `BridgeContext()` Constructs a new empty bridge context.
`` `BridgeContext(UserAgent userAgent)` Constructs a new bridge context.
`` `BridgeContext(UserAgent userAgent, DocumentLoader loader)` Constructs a new bridge context.
`` `BridgeContext(UserAgent userAgent, InterpreterPool interpreterPool, DocumentLoader documentLoader)` Constructs a new bridge context.

Method Summary
`void` `addDOMListeners()` Adds EventListeners to the DOM and CSSEngineListener to the CSSEngine to handle any modifications on the DOM tree or style properties and update the GVT tree in response.
`void` `addGVTListener(org.w3c.dom.Document doc)` Adds the GVT listener for AWT event support.
`void` `addUIEventListeners(org.w3c.dom.Document doc)` Adds EventListeners to the input document to handle the cursor property.
`void` `bind(org.w3c.dom.Node node, GraphicsNode gn)` Binds the specified GraphicsNode to the specified Node.
`boolean` `checkInteractiveElement(org.w3c.dom.Element e)` used by isInteractiveDocument to check if document contains any 'interactive' elements.
`boolean` `checkInteractiveElement(org.w3c.dom.svg.SVGDocument doc, org.w3c.dom.Element e)` used by isInteractiveDocument to check if document contains any 'interactive' elements.
`void` `checkLoadExternalResource(ParsedURL resourceURL, ParsedURL docURL)` This method throws a SecurityException if the resource found at url and referenced from docURL should not be loaded.
`protected void` `clearChildContexts()` Clears the list of child BridgeContexts and disposes them if there are no more references to them.
`void` `closeViewport(org.w3c.dom.Element e)` Closes the viewport associated to the specified element.
`BridgeContext` `createBridgeContext(SVGOMDocument doc)` This function creates a new BridgeContext, it mostly exists so subclasses can provide an instance of themselves when a sub BridgeContext is needed.
`BridgeContext` `createSubBridgeContext(SVGOMDocument newDoc)` This function creates a new 'sub' BridgeContext to associated with 'newDoc' if one currently doesn't exist, otherwise it returns the BridgeContext currently associated with the document.
`URIResolver` `createURIResolver(org.w3c.dom.svg.SVGDocument doc, DocumentLoader dl)` Returns a new URIResolver object.
`void` `dispose()` Disposes this BridgeContext.
`protected void` `finalize()` Calls dispose on this BridgeContext, if it is a child context.
`SVGAnimationEngine` `getAnimationEngine()` Returns the AnimationEngine for the document.
`float` `getBlockHeight(org.w3c.dom.Element elt)` Returns the height of the block which directly contains the given element.
`float` `getBlockWidth(org.w3c.dom.Element elt)` Returns the width of the block which directly contains the given element.
`float` `getBolderFontWeight(float f)` Returns a bolder font-weight.
`Bridge` `getBridge(org.w3c.dom.Element element)` Returns the bridge associated with the specified element.
`Bridge` `getBridge(java.lang.String namespaceURI, java.lang.String localName)` Returns the bridge associated with the element type
`java.util.List` `getBridgeExtensions(org.w3c.dom.Document doc)`
`protected static BridgeUpdateHandler` `getBridgeUpdateHandler(org.w3c.dom.Node node)` Returns the BridgeUpdateHandler associated to the specified Node or null if there is none.
`BridgeContext[]` `getChildContexts()` Returns an array of the child contexts.
`CSSEngine` `getCSSEngineForElement(org.w3c.dom.Element e)` Returns the CSS engine associated with given element.
`CursorManager` `getCursorManager()` Returns the cursor manager
`Value` `getDefaultFontFamily()` Returns the value corresponding to the default font.
`org.w3c.dom.Document` `getDocument()` Returns the document this bridge context is dedicated to.
`DocumentBridge` `getDocumentBridge()` Returns the bridge for the document node.
`DocumentLoader` `getDocumentLoader()` Returns the document loader used to load external documents.
`java.awt.geom.Dimension2D` `getDocumentSize()` Returns the actual size of the document or null if the document has not been built yet.
`org.w3c.dom.Element` `getElement(GraphicsNode gn)` Returns the Node associated to the specified GraphicsNode or null if any.
`java.lang.Object` `getElementData(org.w3c.dom.Node n)` Retrieves a data object associated with the given node.
`FocusManager` `getFocusManager()` Returns the focus manager.
`java.util.Map` `getFontFamilyMap()` Returns the map of font families
`static java.util.List` `getGlobalBridgeExtensions()`
`GraphicsNode` `getGraphicsNode(org.w3c.dom.Node node)` Returns the GraphicsNode associated to the specified Node or null if any.
`GVTBuilder` `getGVTBuilder()` Returns the GVT builder that is currently used to build the GVT tree.
`Interpreter` `getInterpreter(java.lang.String language)` Returns a Interpreter for the specified language.
`InterpreterPool` `getInterpreterPool()` Returns the interpreter pool used to handle scripts.
`float` `getLighterFontWeight(float f)` Returns a lighter font-weight.
`float` `getMediumFontSize()` Returns the medium font size.
`float` `getPixelToMillimeter()` Returns the size of a px CSS unit in millimeters.
`float` `getPixelUnitToMillimeter()` Returns the size of a px CSS unit in millimeters.
`BridgeContext` `getPrimaryBridgeContext()` Returns the primary bridge context.
`org.w3c.dom.Element` `getReferencedElement(org.w3c.dom.Element e, java.lang.String uri)` Returns the element referenced by the specified element by the specified uri.
`org.w3c.dom.Node` `getReferencedNode(org.w3c.dom.Element e, java.lang.String uri)` Returns the node referenced by the specified element by the specified uri.
`protected static SVGContext` `getSVGContext(org.w3c.dom.Node node)` Returns the SVGContext associated to the specified Node or null if there is none.
`Value` `getSystemColor(java.lang.String ident)` Returns the Value corresponding to the given system color.
`TextPainter` `getTextPainter()` Returns the text painter that will be used be text nodes.
`UpdateManager` `getUpdateManager()` Returns the update manager, if the bridge supports dynamic features.
`UserAgent` `getUserAgent()` Returns the user agent of this bridge context.
`Viewport` `getViewport(org.w3c.dom.Element e)` Returns the viewport of the specified element.
`boolean` `hasGraphicsNodeBridge(org.w3c.dom.Element element)` Returns true if the specified element has a GraphicsNodeBridge associated to it, false otherwise.
`protected void` `initializeDocument(org.w3c.dom.Document document)` Initializes the given document.
`boolean` `isDynamic()` Returns true if the document is dynamic, false otherwise.
`boolean` `isDynamicDocument(org.w3c.dom.Document doc)` Tells whether the given SVG document is dynamic.
`boolean` `isInteractive()` Returns true if the document is interactive, false otherwise.
`boolean` `isInteractiveDocument(org.w3c.dom.Document doc)` Tells whether the given SVG document is Interactive.
`boolean` `isSVG12()` Returns whether the managed document is an SVG 1.2 document.
`void` `openViewport(org.w3c.dom.Element e, Viewport viewport)` Starts a new viewport from the specified element.
`void` `putBridge(Bridge bridge)` Associates the specified `Bridge` object with it's namespace URI and local name.
`void` `putBridge(java.lang.String namespaceURI, java.lang.String localName, Bridge bridge)` Associates the specified `Bridge` object with the specified namespace URI and local name.
`void` `putReservedNamespaceURI(java.lang.String namespaceURI)` Adds a namespace URI to avoid when creating default bridges.
`void` `registerSVGBridges()` Registers the bridges to handle SVG 1.0 elements.
`void` `removeBridge(java.lang.String namespaceURI, java.lang.String localName)` Removes the `Bridge` object associated to the specified namespace URI and local name.
`protected void` `removeDOMListeners()` Removes event listeners from the DOM and CSS engine.
`void` `removeReservedNamespaceURI(java.lang.String namespaceURI)` Removes a namespace URI to avoid when creating default bridges.
`void` `removeUIEventListeners(org.w3c.dom.Document doc)`
`void` `removeViewport(org.w3c.dom.Element e)`
`void` `setAnimationLimitingCPU(float pc)` Sets the animation limiting mode to a percentage of CPU.
`void` `setAnimationLimitingFPS(float fps)` Sets the animation limiting mode to a number of frames per second.
`protected void` `setAnimationLimitingMode()` Set the animationg limiting mode on the animation engine.
`void` `setAnimationLimitingNone()` Sets the animation limiting mode to "none".
`void` `setDefaultBridge(Bridge bridge)` Sets the `Bridge` object to be used for foreign namespace elements.
`protected void` `setDocument(org.w3c.dom.Document document)` Sets the document this bridge context is dedicated to, to the specified document.
`protected void` `setDocumentLoader(DocumentLoader newDocumentLoader)` Sets the document loader used to load external documents.
`protected void` `setDocumentSize(java.awt.geom.Dimension2D d)` Sets the size of the document to the specified dimension.
`void` `setDynamic(boolean dynamic)` Sets the document as DYNAMIC if `dynamic` is true STATIC otherwise.
`void` `setDynamicState(int status)` Sets the document as a STATIC, INTERACTIVE or DYNAMIC document.
`void` `setElementData(org.w3c.dom.Node n, java.lang.Object data)` Associates a data object with a node so it can be retrieved later.
`protected void` `setFontFamilyMap(java.util.Map fontFamilyMap)` Sets the map of font families to the specified value.
`protected void` `setGVTBuilder(GVTBuilder gvtBuilder)` Sets the GVT builder that uses this context.
`void` `setInteractive(boolean interactive)` Sets the document as INTERACTIVE if `interactive` is true STATIC otherwise.
`protected void` `setInterpreterPool(InterpreterPool interpreterPool)` Sets the interpreter pool used to handle scripts to the specified interpreter pool.
`void` `setTextPainter(TextPainter textPainter)` Sets the text painter that will be used by text nodes.
`protected void` `setUpdateManager(BridgeContext ctx, UpdateManager um)` Sets the update manager on the given BridgeContext.
`protected void` `setUpdateManager(UpdateManager um)` Sets the update manager.
`protected void` `setUserAgent(UserAgent userAgent)` Sets the user agent to the specified user agent.
`protected void` `setXBLManager(BridgeContext ctx, XBLManager xm)` Sets the xblManager variable of the given BridgeContext.
`protected void` `storeEventListener(EventTarget t, java.lang.String s, EventListener l, boolean b)` Adds to the eventListenerSet the specified event listener registration.
`protected void` `storeEventListenerNS(EventTarget t, java.lang.String n, java.lang.String s, EventListener l, boolean b)` Adds to the eventListenerSet the specified event listener registration.
`void` `unbind(org.w3c.dom.Node node)` Removes the binding of the specified Node.

Methods inherited from class java.lang.Object
`clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### document

    protected org.w3c.dom.Document document

  The document is bridge context is dedicated to.

### isSVG12

    protected boolean isSVG12

  Whether the document is an SVG 1.2 document.

### gvtBuilder

    protected GVTBuilder gvtBuilder

  The GVT builder that might be used to create a GVT subtree.

### interpreterMap

    protected java.util.Map interpreterMap

  The interpreter cache per document. key is the language - value is a Interpreter

### viewportMap

    protected java.util.Map viewportMap

  The viewports. key is an Element - value is a Viewport

### viewportStack

    protected java.util.List viewportStack

  The viewport stack. Used in building time.

### userAgent

    protected UserAgent userAgent

  The user agent.

### elementNodeMap

    protected java.util.Map elementNodeMap

  Binding Map: key is an SVG Element - value is a GraphicsNode

### nodeElementMap

    protected java.util.Map nodeElementMap

  Binding Map: key is GraphicsNode - value is a SVG Element.

### namespaceURIMap

    protected java.util.Map namespaceURIMap

  Bridge Map: Keys are namespace URI - values are HashMap (with keys are local name and values are a Bridge instance).

### defaultBridge

    protected Bridge defaultBridge

  Default bridge. When a bridge is requested for an element type that does not have a bridge, and there is no other bridge for elements in the same namespace, the default bridge is returned. This is used for custom elements, which all use the same bridge type.

### reservedNamespaceSet

    protected java.util.Set reservedNamespaceSet

  Default bridge reserved namespaces set. Default bridges will not be created for elements that have a namespace URI present in this set.

### elementDataMap

    protected java.util.Map elementDataMap

  Element Data Map: This is a general location for elements to 'cache' data. Such as the graphics tree for a pattern or the Gradient arrays. This is a weak hash map and the data is referenced by SoftReference so both must be referenced elsewhere to stay live.

### interpreterPool

    protected InterpreterPool interpreterPool

  The interpreter pool used to handle scripts.

### documentLoader

    protected DocumentLoader documentLoader

  The document loader used to load/create Document.

### documentSize

    protected java.awt.geom.Dimension2D documentSize

  The size of the document.

### textPainter

    protected TextPainter textPainter

  The text painter to use. Typically, you can specify the text painter that will be used be text nodes.

### STATIC

    public static final int STATIC

  Indicates that no DOM listeners should be registered. In this case the generated GVT tree should be totally independent of the DOM tree (in practice text holds references to the source text elements for font resolution).

  See Also:
    Constant Field Values

### INTERACTIVE

    public static final int INTERACTIVE

  Indicates that DOM listeners should be registered to support, 'interactivity' this includes anchors and cursors, but does not include support for DOM modifications.

  See Also:
    Constant Field Values

### DYNAMIC

    public static final int DYNAMIC

  Indicates that all DOM listeners should be registered. This supports 'interactivity' (anchors and cursors), as well as DOM modifications listeners to update the GVT rendering tree.

  See Also:
    Constant Field Values

### dynamicStatus

    protected int dynamicStatus

  Whether the bridge should support dynamic, or interactive features.

### updateManager

    protected UpdateManager updateManager

  The update manager.

### xblManager

    protected XBLManager xblManager

  The XBL manager.

### primaryContext

    protected BridgeContext primaryContext

  The bridge context for the primary document, if this is a bridge context for a resource document.

### childContexts

    protected java.util.HashSet childContexts

  Set of WeakReferences to child BridgeContexts.

### animationEngine

    protected SVGAnimationEngine animationEngine

  The animation engine for the document.

### animationLimitingMode

    protected int animationLimitingMode

  The animation limiting mode.

### animationLimitingAmount

    protected float animationLimitingAmount

  The amount of animation limiting.

### eventListenerSet

    protected java.util.Set eventListenerSet

  The list of all EventListener attached by bridges that need to be removed on a dispose() call.

### domCharacterDataModifiedEventListener

    protected EventListener domCharacterDataModifiedEventListener

  The DOM EventListener to receive 'DOMCharacterDataModified' event.

### domAttrModifiedEventListener

    protected EventListener domAttrModifiedEventListener

  The DOM EventListener to receive 'DOMAttrModified' event.

### domNodeInsertedEventListener

    protected EventListener domNodeInsertedEventListener

  The DOM EventListener to receive 'DOMNodeInserted' event.

### domNodeRemovedEventListener

    protected EventListener domNodeRemovedEventListener

  The DOM EventListener to receive 'DOMNodeRemoved' event.

### cssPropertiesChangedListener

    protected CSSEngineListener cssPropertiesChangedListener

  The CSSEngine listener to receive CSSEngineEvent.

### animatedAttributeListener

    protected AnimatedAttributeListener animatedAttributeListener

  The listener to receive notification of animated attribute changes.

### focusManager

    protected FocusManager focusManager

  The EventListener that is responsible of managing DOM focus event.

### cursorManager

    protected CursorManager cursorManager

  Manages cursors and performs caching when appropriate

### extensions

    protected java.util.List extensions

### globalExtensions

    protected static java.util.List globalExtensions

  Returns the extensions supported by this bridge context.

Constructor Detail

### BridgeContext

    protected BridgeContext()

  Constructs a new empty bridge context.

### BridgeContext

    public BridgeContext(UserAgent userAgent)

  Constructs a new bridge context.

  Parameters:
    `userAgent` - the user agent

### BridgeContext

    public BridgeContext(UserAgent userAgent,
                         DocumentLoader loader)

  Constructs a new bridge context.

  Parameters:
    `userAgent` - the user agent
    `loader` - document loader

### BridgeContext

    public BridgeContext(UserAgent userAgent,
                         InterpreterPool interpreterPool,
                         DocumentLoader documentLoader)

  Constructs a new bridge context.

  Parameters:
    `userAgent` - the user agent
    `interpreterPool` - the interpreter pool
    `documentLoader` - document loader

Method Detail

### finalize

    protected void finalize()

  Calls dispose on this BridgeContext, if it is a child context.

  Overrides:
    `finalize` in class `java.lang.Object`

### createSubBridgeContext

    public BridgeContext createSubBridgeContext(SVGOMDocument newDoc)

  This function creates a new 'sub' BridgeContext to associated with 'newDoc' if one currently doesn't exist, otherwise it returns the BridgeContext currently associated with the document.

  Parameters:
    `newDoc` - The document to get/create a BridgeContext for.

### createBridgeContext

    public BridgeContext createBridgeContext(SVGOMDocument doc)

  This function creates a new BridgeContext, it mostly exists so subclasses can provide an instance of themselves when a sub BridgeContext is needed.

### initializeDocument

    protected void initializeDocument(org.w3c.dom.Document document)

  Initializes the given document.

### getCSSEngineForElement

    public CSSEngine getCSSEngineForElement(org.w3c.dom.Element e)

  Returns the CSS engine associated with given element.

  Specified by:
    `getCSSEngineForElement` in interface `CSSContext`

### setTextPainter

    public void setTextPainter(TextPainter textPainter)

  Sets the text painter that will be used by text nodes. This attributes might be used by bridges (especially SVGTextElementBridge) to set the text painter of each TextNode.

  Parameters:
    `textPainter` - the text painter for text nodes

### getTextPainter

    public TextPainter getTextPainter()

  Returns the text painter that will be used be text nodes.

### getDocument

    public org.w3c.dom.Document getDocument()

  Returns the document this bridge context is dedicated to.

### setDocument

    protected void setDocument(org.w3c.dom.Document document)

  Sets the document this bridge context is dedicated to, to the specified document.

  Parameters:
    `document` - the document

### getFontFamilyMap

    public java.util.Map getFontFamilyMap()

  Returns the map of font families

### setFontFamilyMap

    protected void setFontFamilyMap(java.util.Map fontFamilyMap)

  Sets the map of font families to the specified value.

  Parameters:
    `fontFamilyMap` - the map of font families

### setElementData

    public void setElementData(org.w3c.dom.Node n,
                               java.lang.Object data)

  Associates a data object with a node so it can be retrieved later. This is primarily used for caching the graphics node generated from a 'pattern' element. A soft reference to the data object is used.

### getElementData

    public java.lang.Object getElementData(org.w3c.dom.Node n)

  Retrieves a data object associated with the given node.

### getUserAgent

    public UserAgent getUserAgent()

  Returns the user agent of this bridge context.

### setUserAgent

    protected void setUserAgent(UserAgent userAgent)

  Sets the user agent to the specified user agent.

  Parameters:
    `userAgent` - the user agent

### getGVTBuilder

    public GVTBuilder getGVTBuilder()

  Returns the GVT builder that is currently used to build the GVT tree.

### setGVTBuilder

    protected void setGVTBuilder(GVTBuilder gvtBuilder)

  Sets the GVT builder that uses this context.

### getInterpreterPool

    public InterpreterPool getInterpreterPool()

  Returns the interpreter pool used to handle scripts.

### getFocusManager

    public FocusManager getFocusManager()

  Returns the focus manager.

### getCursorManager

    public CursorManager getCursorManager()

  Returns the cursor manager

### setInterpreterPool

    protected void setInterpreterPool(InterpreterPool interpreterPool)

  Sets the interpreter pool used to handle scripts to the specified interpreter pool.

  Parameters:
    `interpreterPool` - the interpreter pool

### getInterpreter

    public Interpreter getInterpreter(java.lang.String language)

  Returns a Interpreter for the specified language.

  Parameters:
    `language` - the scripting language

### getDocumentLoader

    public DocumentLoader getDocumentLoader()

  Returns the document loader used to load external documents.

### setDocumentLoader

    protected void setDocumentLoader(DocumentLoader newDocumentLoader)

  Sets the document loader used to load external documents.

  Parameters:
    `newDocumentLoader` - the new document loader

### getDocumentSize

    public java.awt.geom.Dimension2D getDocumentSize()

  Returns the actual size of the document or null if the document has not been built yet.

### setDocumentSize

    protected void setDocumentSize(java.awt.geom.Dimension2D d)

  Sets the size of the document to the specified dimension.

  Parameters:
    `d` - the actual size of the SVG document

### isDynamic

    public boolean isDynamic()

  Returns true if the document is dynamic, false otherwise.

  Specified by:
    `isDynamic` in interface `CSSContext`

### isInteractive

    public boolean isInteractive()

  Returns true if the document is interactive, false otherwise.

  Specified by:
    `isInteractive` in interface `CSSContext`

### setDynamicState

    public void setDynamicState(int status)

  Sets the document as a STATIC, INTERACTIVE or DYNAMIC document. Call this method before the build phase (ie. before `gvtBuilder.build(...)`) otherwise, that will have no effect.

  Parameters:
    `status` - the document dynamicStatus

### setDynamic

    public void setDynamic(boolean dynamic)

  Sets the document as DYNAMIC if `dynamic` is true STATIC otherwise.

### setInteractive

    public void setInteractive(boolean interactive)

  Sets the document as INTERACTIVE if `interactive` is true STATIC otherwise.

### getUpdateManager

    public UpdateManager getUpdateManager()

  Returns the update manager, if the bridge supports dynamic features.

### setUpdateManager

    protected void setUpdateManager(UpdateManager um)

  Sets the update manager.

### setUpdateManager

    protected void setUpdateManager(BridgeContext ctx,
                                    UpdateManager um)

  Sets the update manager on the given BridgeContext.

### setXBLManager

    protected void setXBLManager(BridgeContext ctx,
                                 XBLManager xm)

  Sets the xblManager variable of the given BridgeContext.

### isSVG12

    public boolean isSVG12()

  Returns whether the managed document is an SVG 1.2 document.

### getPrimaryBridgeContext

    public BridgeContext getPrimaryBridgeContext()

  Returns the primary bridge context.

### getChildContexts

    public BridgeContext[] getChildContexts()

  Returns an array of the child contexts.

### getAnimationEngine

    public SVGAnimationEngine getAnimationEngine()

  Returns the AnimationEngine for the document. Creates one if it doesn't exist.

### createURIResolver

    public URIResolver createURIResolver(org.w3c.dom.svg.SVGDocument doc,
                                         DocumentLoader dl)

  Returns a new URIResolver object.

### getReferencedNode

    public org.w3c.dom.Node getReferencedNode(org.w3c.dom.Element e,
                                              java.lang.String uri)

  Returns the node referenced by the specified element by the specified uri. The referenced node can be either an element given by a fragment ID, or the document node.

  Parameters:
    `e` - the element referencing
    `uri` - the uri of the referenced node

### getReferencedElement

    public org.w3c.dom.Element getReferencedElement(org.w3c.dom.Element e,
                                                    java.lang.String uri)

  Returns the element referenced by the specified element by the specified uri. The referenced element can not be a Document.

  Parameters:
    `e` - the element referencing
    `uri` - the uri of the referenced element

### getViewport

    public Viewport getViewport(org.w3c.dom.Element e)

  Returns the viewport of the specified element.

  Parameters:
    `e` - the element interested in its viewport

### openViewport

    public void openViewport(org.w3c.dom.Element e,
                             Viewport viewport)

  Starts a new viewport from the specified element.

  Parameters:
    `e` - the element that defines a new viewport
    `viewport` - the viewport of the element

### removeViewport

    public void removeViewport(org.w3c.dom.Element e)

### closeViewport

    public void closeViewport(org.w3c.dom.Element e)

  Closes the viewport associated to the specified element.

  Parameters:
    `e` - the element that closes its viewport

### bind

    public void bind(org.w3c.dom.Node node,
                     GraphicsNode gn)

  Binds the specified GraphicsNode to the specified Node. This method automatically bind the graphics node to the element and the element to the graphics node.

  Parameters:
    `node` - the DOM Node to bind to the specified graphics node
    `gn` - the graphics node to bind to the specified element

### unbind

    public void unbind(org.w3c.dom.Node node)

  Removes the binding of the specified Node.

  Parameters:
    `node` - the DOM Node to unbind

### getGraphicsNode

    public GraphicsNode getGraphicsNode(org.w3c.dom.Node node)

  Returns the GraphicsNode associated to the specified Node or null if any.

  Parameters:
    `node` - the DOM Node associated to the graphics node to return

### getElement

    public org.w3c.dom.Element getElement(GraphicsNode gn)

  Returns the Node associated to the specified GraphicsNode or null if any.

  Parameters:
    `gn` - the graphics node associated to the element to return

### hasGraphicsNodeBridge

    public boolean hasGraphicsNodeBridge(org.w3c.dom.Element element)

  Returns true if the specified element has a GraphicsNodeBridge associated to it, false otherwise.

  Parameters:
    `element` - the element

### getDocumentBridge

    public DocumentBridge getDocumentBridge()

  Returns the bridge for the document node.

### getBridge

    public Bridge getBridge(org.w3c.dom.Element element)

  Returns the bridge associated with the specified element.

  Parameters:
    `element` - the element

### getBridge

    public Bridge getBridge(java.lang.String namespaceURI,
                            java.lang.String localName)

  Returns the bridge associated with the element type

  Parameters:
    `namespaceURI` - namespace of the requested element
    `localName` - element's local name

### putBridge

    public void putBridge(java.lang.String namespaceURI,
                          java.lang.String localName,
                          Bridge bridge)

  Associates the specified `Bridge` object with the specified namespace URI and local name.

  Parameters:
    `namespaceURI` - the namespace URI
    `localName` - the local name
    `bridge` - the bridge that manages the element

### putBridge

    public void putBridge(Bridge bridge)

  Associates the specified `Bridge` object with it's namespace URI and local name.

  Parameters:
    `bridge` - the bridge that manages the element

### removeBridge

    public void removeBridge(java.lang.String namespaceURI,
                             java.lang.String localName)

  Removes the `Bridge` object associated to the specified namespace URI and local name.

  Parameters:
    `namespaceURI` - the namespace URI
    `localName` - the local name

### setDefaultBridge

    public void setDefaultBridge(Bridge bridge)

  Sets the `Bridge` object to be used for foreign namespace elements.

  Parameters:
    `bridge` - the bridge that manages the element

### putReservedNamespaceURI

    public void putReservedNamespaceURI(java.lang.String namespaceURI)

  Adds a namespace URI to avoid when creating default bridges.

### removeReservedNamespaceURI

    public void removeReservedNamespaceURI(java.lang.String namespaceURI)

  Removes a namespace URI to avoid when creating default bridges.

### addUIEventListeners

    public void addUIEventListeners(org.w3c.dom.Document doc)

  Adds EventListeners to the input document to handle the cursor property. This is not done in the addDOMListeners method because addDOMListeners is only used for dynamic content whereas cursor support is provided for all content. Also note that it is very important that the listeners be registered for the capture phase as the 'default' behavior for cursors is handled by the BridgeContext during the capture phase and the 'custom' behavior (handling of 'auto' on anchors, for example), is handled during the bubbling phase.

### removeUIEventListeners

    public void removeUIEventListeners(org.w3c.dom.Document doc)

### addDOMListeners

    public void addDOMListeners()

  Adds EventListeners to the DOM and CSSEngineListener to the CSSEngine to handle any modifications on the DOM tree or style properties and update the GVT tree in response.

### removeDOMListeners

    protected void removeDOMListeners()

  Removes event listeners from the DOM and CSS engine.

### storeEventListener

    protected void storeEventListener(EventTarget t,
                                      java.lang.String s,
                                      EventListener l,
                                      boolean b)

  Adds to the eventListenerSet the specified event listener registration.

### storeEventListenerNS

    protected void storeEventListenerNS(EventTarget t,
                                        java.lang.String n,
                                        java.lang.String s,
                                        EventListener l,
                                        boolean b)

  Adds to the eventListenerSet the specified event listener registration.

### addGVTListener

    public void addGVTListener(org.w3c.dom.Document doc)

  Adds the GVT listener for AWT event support.

### clearChildContexts

    protected void clearChildContexts()

  Clears the list of child BridgeContexts and disposes them if there are no more references to them.

### dispose

    public void dispose()

  Disposes this BridgeContext.

### getSVGContext

    protected static SVGContext getSVGContext(org.w3c.dom.Node node)

  Returns the SVGContext associated to the specified Node or null if there is none.

### getBridgeUpdateHandler

    protected static BridgeUpdateHandler getBridgeUpdateHandler(org.w3c.dom.Node node)

  Returns the BridgeUpdateHandler associated to the specified Node or null if there is none.

### getSystemColor

    public Value getSystemColor(java.lang.String ident)

  Returns the Value corresponding to the given system color.

  Specified by:
    `getSystemColor` in interface `CSSContext`

### getDefaultFontFamily

    public Value getDefaultFontFamily()

  Returns the value corresponding to the default font.

  Specified by:
    `getDefaultFontFamily` in interface `CSSContext`

### getLighterFontWeight

    public float getLighterFontWeight(float f)

  Returns a lighter font-weight.

  Specified by:
    `getLighterFontWeight` in interface `CSSContext`

### getBolderFontWeight

    public float getBolderFontWeight(float f)

  Returns a bolder font-weight.

  Specified by:
    `getBolderFontWeight` in interface `CSSContext`

### getPixelUnitToMillimeter

    public float getPixelUnitToMillimeter()

  Returns the size of a px CSS unit in millimeters.

  Specified by:
    `getPixelUnitToMillimeter` in interface `CSSContext`

### getPixelToMillimeter

    public float getPixelToMillimeter()

  Returns the size of a px CSS unit in millimeters. This will be removed after next release.

  Specified by:
    `getPixelToMillimeter` in interface `CSSContext`
  See Also:
    `getPixelUnitToMillimeter()`

### getMediumFontSize

    public float getMediumFontSize()

  Returns the medium font size.

  Specified by:
    `getMediumFontSize` in interface `CSSContext`

### getBlockWidth

    public float getBlockWidth(org.w3c.dom.Element elt)

  Returns the width of the block which directly contains the given element.

  Specified by:
    `getBlockWidth` in interface `CSSContext`

### getBlockHeight

    public float getBlockHeight(org.w3c.dom.Element elt)

  Returns the height of the block which directly contains the given element.

  Specified by:
    `getBlockHeight` in interface `CSSContext`

### checkLoadExternalResource

    public void checkLoadExternalResource(ParsedURL resourceURL,
                                          ParsedURL docURL)
                                   throws java.lang.SecurityException

  This method throws a SecurityException if the resource found at url and referenced from docURL should not be loaded. This is a convenience method to call checkLoadExternalResource on the ExternalResourceSecurity strategy returned by getExternalResourceSecurity.

  Specified by:
    `checkLoadExternalResource` in interface `CSSContext`
  Parameters:
    `resourceURL` - url for the script, as defined in the resource's xlink:href attribute. If that attribute was empty, then this parameter should be null
    `docURL` - url for the document into which the resource was found.
  Throws:
    `java.lang.SecurityException`

### isDynamicDocument

    public boolean isDynamicDocument(org.w3c.dom.Document doc)

  Tells whether the given SVG document is dynamic.

### isInteractiveDocument

    public boolean isInteractiveDocument(org.w3c.dom.Document doc)

  Tells whether the given SVG document is Interactive. We say it is, if it has any <title>, <desc>, or <a> elements, of if the 'cursor' property is anything but Auto on any element.

### checkInteractiveElement

    public boolean checkInteractiveElement(org.w3c.dom.Element e)

  used by isInteractiveDocument to check if document contains any 'interactive' elements.

### checkInteractiveElement

    public boolean checkInteractiveElement(org.w3c.dom.svg.SVGDocument doc,
                                           org.w3c.dom.Element e)

  used by isInteractiveDocument to check if document contains any 'interactive' elements.

### setAnimationLimitingNone

    public void setAnimationLimitingNone()

  Sets the animation limiting mode to "none".

### setAnimationLimitingCPU

    public void setAnimationLimitingCPU(float pc)

  Sets the animation limiting mode to a percentage of CPU.

  Parameters:
    `pc` - the maximum percentage of CPU to use (0 < pc ≤ 1)

### setAnimationLimitingFPS

    public void setAnimationLimitingFPS(float fps)

  Sets the animation limiting mode to a number of frames per second.

  Parameters:
    `fps` - the maximum number of frames per second (fps > 0)

### setAnimationLimitingMode

    protected void setAnimationLimitingMode()

  Set the animationg limiting mode on the animation engine.

### registerSVGBridges

    public void registerSVGBridges()

  Registers the bridges to handle SVG 1.0 elements.

### getBridgeExtensions

    public java.util.List getBridgeExtensions(org.w3c.dom.Document doc)

### getGlobalBridgeExtensions

    public static java.util.List getGlobalBridgeExtensions()

Copyright © 2008 Apache Software Foundation. All Rights Reserved.