|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.batik.bridge.BridgeContext
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 | |
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.DOMCharacterDataModifiedListener
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 CSSEngineListener |
cssPropertiesChangedListener
The CSSEngine listener to receive CSSEngineEvent. |
protected CursorManager |
cursorManager
Manages cursors and performs caching when appropriate |
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 org.w3c.dom.events.EventListener |
domAttrModifiedEventListener
The DOM EventListener to receive 'DOMAttrModified' event. |
protected org.w3c.dom.events.EventListener |
domCharacterDataModifiedListener
The DOM EventListener to receive 'DOMCharacterDataModified' event. |
protected org.w3c.dom.events.EventListener |
domNodeInsertedEventListener
The DOM EventListener to receive 'DOMNodeInserted' event. |
protected org.w3c.dom.events.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 static java.util.List |
extensions
|
protected FocusManager |
focusManager
The EventListener that is responsible of managing DOM focus event. |
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 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. |
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. |
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_INVALID, ERR_URI_IO, ERR_URI_MALFORMED, ERR_URI_REFERENCE_A_DOCUMENT, ERR_URI_UNSECURE, ERR_XLINK_HREF_CIRCULAR_DEPENDENCIES, MSG_BROKEN_LINK_TITLE |
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 |
addUIEventListeners(org.w3c.dom.Document doc)
Adds EventListeners to the input document to handle the cursor property. |
void |
bind(org.w3c.dom.Element element,
GraphicsNode node)
Binds the specified GraphicsNode to the specified Element. |
static boolean |
checkInteractiveElement(org.w3c.dom.Element e)
|
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. |
void |
closeViewport(org.w3c.dom.Element e)
Closes the viewport associated to the specified element. |
void |
dispose()
Disposes this BridgeContext. |
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 |
static java.util.List |
getBridgeExtensions()
Returns the extensions supported by this bridge context. |
protected static BridgeUpdateHandler |
getBridgeUpdateHandler(org.w3c.dom.Node node)
Returns the SVGContext associated to the specified Node or null if any. |
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. |
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 node)
Returns the Element associated to the specified GraphicsNode or null if any. |
java.lang.Object |
getElementData(org.w3c.dom.Node n)
Set Element Data. |
FocusManager |
getFocusManager()
Returns the focus manager. |
java.util.Map |
getFontFamilyMap()
Returns the map of font families |
GraphicsNode |
getGraphicsNode(org.w3c.dom.Element element)
Returns the GraphicsNode associated to the specified Element 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. |
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. |
protected static SVGContext |
getSVGContext(org.w3c.dom.Node node)
Returns the SVGContext associated to the specified Node or null if any. |
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. |
static 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. |
static boolean |
isInteractiveDocument(org.w3c.dom.Document doc)
Tells whether the given SVG document is Interactive. |
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. |
static void |
registerSVGBridges(BridgeContext ctx)
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. |
void |
removeViewport(org.w3c.dom.Element e)
|
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)
Set Element Data. |
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(UpdateManager um)
Sets the update manager. |
protected void |
setUserAgent(UserAgent userAgent)
Sets the user agent to the specified user agent. |
protected void |
storeEventListener(org.w3c.dom.events.EventTarget t,
java.lang.String s,
org.w3c.dom.events.EventListener l,
boolean b)
Adds to the eventListenerSet the specified event listener registration. |
void |
unbind(org.w3c.dom.Element element)
Removes the binding of the specified Element. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
protected org.w3c.dom.Document document
protected GVTBuilder gvtBuilder
protected java.util.Map interpreterMap
protected java.util.Map viewportMap
protected java.util.List viewportStack
protected UserAgent userAgent
protected java.util.Map elementNodeMap
protected java.util.Map nodeElementMap
protected java.util.Map namespaceURIMap
protected java.util.Map elementDataMap
protected InterpreterPool interpreterPool
protected DocumentLoader documentLoader
protected java.awt.geom.Dimension2D documentSize
protected TextPainter textPainter
public static final int STATIC
public static final int INTERACTIVE
public static final int DYNAMIC
protected int dynamicStatus
protected UpdateManager updateManager
protected java.util.Set eventListenerSet
protected org.w3c.dom.events.EventListener domCharacterDataModifiedListener
protected org.w3c.dom.events.EventListener domAttrModifiedEventListener
protected org.w3c.dom.events.EventListener domNodeInsertedEventListener
protected org.w3c.dom.events.EventListener domNodeRemovedEventListener
protected CSSEngineListener cssPropertiesChangedListener
protected FocusManager focusManager
protected CursorManager cursorManager
protected static java.util.List extensions
Constructor Detail |
protected BridgeContext()
public BridgeContext(UserAgent userAgent)
userAgent
- the user agentpublic BridgeContext(UserAgent userAgent, DocumentLoader loader)
userAgent
- the user agentpublic BridgeContext(UserAgent userAgent, InterpreterPool interpreterPool, DocumentLoader documentLoader)
userAgent
- the user agentinterpreterPool
- the interpreter pooldocumentLoader
- document loaderMethod Detail |
protected void initializeDocument(org.w3c.dom.Document document)
public void setTextPainter(TextPainter textPainter)
textPainter
- the text painter for text nodespublic TextPainter getTextPainter()
public org.w3c.dom.Document getDocument()
protected void setDocument(org.w3c.dom.Document document)
document
- the documentpublic java.util.Map getFontFamilyMap()
protected void setFontFamilyMap(java.util.Map fontFamilyMap)
fontFamilyMap
- the map of font familiespublic void setElementData(org.w3c.dom.Node n, java.lang.Object data)
public java.lang.Object getElementData(org.w3c.dom.Node n)
public UserAgent getUserAgent()
protected void setUserAgent(UserAgent userAgent)
userAgent
- the user agentpublic GVTBuilder getGVTBuilder()
protected void setGVTBuilder(GVTBuilder gvtBuilder)
public InterpreterPool getInterpreterPool()
public FocusManager getFocusManager()
public CursorManager getCursorManager()
protected void setInterpreterPool(InterpreterPool interpreterPool)
interpreterPool
- the interpreter poolpublic Interpreter getInterpreter(java.lang.String language)
language
- the scripting languagepublic DocumentLoader getDocumentLoader()
protected void setDocumentLoader(DocumentLoader newDocumentLoader)
newDocumentLoader
- the new document loaderpublic java.awt.geom.Dimension2D getDocumentSize()
protected void setDocumentSize(java.awt.geom.Dimension2D d)
d
- the actual size of the SVG documentpublic boolean isDynamic()
isDynamic
in interface CSSContext
public boolean isInteractive()
isInteractive
in interface CSSContext
public void setDynamicState(int status)
status
- the document dynamicStatuspublic void setDynamic(boolean dynamic)
public void setInteractive(boolean interactive)
public UpdateManager getUpdateManager()
protected void setUpdateManager(UpdateManager um)
public org.w3c.dom.Element getReferencedElement(org.w3c.dom.Element e, java.lang.String uri)
e
- the element referencinguri
- the uri of the referenced elementpublic Viewport getViewport(org.w3c.dom.Element e)
e
- the element interested in its viewportpublic void openViewport(org.w3c.dom.Element e, Viewport viewport)
e
- the element that defines a new viewportviewport
- the viewport of the elementpublic void removeViewport(org.w3c.dom.Element e)
public void closeViewport(org.w3c.dom.Element e)
e
- the element that closes its viewportpublic void bind(org.w3c.dom.Element element, GraphicsNode node)
element
- the element to bind to the specified graphics nodenode
- the graphics node to bind to the specified elementpublic void unbind(org.w3c.dom.Element element)
element
- the element to unbindpublic GraphicsNode getGraphicsNode(org.w3c.dom.Element element)
element
- the element associated to the graphics node to returnpublic org.w3c.dom.Element getElement(GraphicsNode node)
node
- the graphics node associated to the element to returnpublic boolean hasGraphicsNodeBridge(org.w3c.dom.Element element)
element
- the elementpublic Bridge getBridge(org.w3c.dom.Element element)
element
- the elementpublic Bridge getBridge(java.lang.String namespaceURI, java.lang.String localName)
localName
- element's local namepublic void putBridge(java.lang.String namespaceURI, java.lang.String localName, Bridge bridge)
namespaceURI
- the namespace URIlocalName
- the local namebridge
- the bridge that manages the elementpublic void putBridge(Bridge bridge)
bridge
- the bridge that manages the elementpublic void removeBridge(java.lang.String namespaceURI, java.lang.String localName)
namespaceURI
- the namespace URIlocalName
- the local namepublic void addUIEventListeners(org.w3c.dom.Document doc)
public void addDOMListeners()
protected void storeEventListener(org.w3c.dom.events.EventTarget t, java.lang.String s, org.w3c.dom.events.EventListener l, boolean b)
public void dispose()
protected static SVGContext getSVGContext(org.w3c.dom.Node node)
protected static BridgeUpdateHandler getBridgeUpdateHandler(org.w3c.dom.Node node)
public Value getSystemColor(java.lang.String ident)
getSystemColor
in interface CSSContext
public Value getDefaultFontFamily()
getDefaultFontFamily
in interface CSSContext
public float getLighterFontWeight(float f)
getLighterFontWeight
in interface CSSContext
public float getBolderFontWeight(float f)
getBolderFontWeight
in interface CSSContext
public float getPixelUnitToMillimeter()
getPixelUnitToMillimeter
in interface CSSContext
public float getPixelToMillimeter()
getPixelToMillimeter
in interface CSSContext
getPixelUnitToMillimeter()
public float getMediumFontSize()
getMediumFontSize
in interface CSSContext
public float getBlockWidth(org.w3c.dom.Element elt)
getBlockWidth
in interface CSSContext
public float getBlockHeight(org.w3c.dom.Element elt)
getBlockHeight
in interface CSSContext
public void checkLoadExternalResource(ParsedURL resourceURL, ParsedURL docURL) throws java.lang.SecurityException
checkLoadExternalResource
in interface CSSContext
docURL
- url for the document into which the
script was found.
java.lang.SecurityException
public static boolean isDynamicDocument(org.w3c.dom.Document doc)
public static boolean isInteractiveDocument(org.w3c.dom.Document doc)
public static boolean checkInteractiveElement(org.w3c.dom.Element e)
public static void registerSVGBridges(BridgeContext ctx)
ctx
- the bridge context to initializepublic static java.util.List getBridgeExtensions()
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |