Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.batik.bridge.svg12
Class DefaultXBLManager

    java.lang.Object
      org.apache.batik.bridge.svg12.DefaultXBLManager

All Implemented Interfaces:
  XBLManager, XBLConstants

    public class DefaultXBLManager

extends Object
implements XBLManager, XBLConstants

A full featured sXBL manager.

Nested Class Summary
`protected class` | `DefaultXBLManager.DefAttrListener` DOM attribute mutation listener for definition elements.
`protected class` | `DefaultXBLManager.DefinitionRecord` Record class for storing information about an XBL definition.
`protected class` | `DefaultXBLManager.DefNodeInsertedListener` DOM node inserted listener for definition elements.
`protected class` | `DefaultXBLManager.DefNodeRemovedListener` DOM node removed listener for definition elements.
`protected class` | `DefaultXBLManager.DocInsertedListener` DOM node inserted listener for the document.
`protected class` | `DefaultXBLManager.DocRemovedListener` DOM node removed listener for the document.
`protected class` | `DefaultXBLManager.DocSubtreeListener` DOM subtree mutation listener for the document.
`protected class` | `DefaultXBLManager.ImportAttrListener` DOM attribute mutation listener for import elements.
`protected class` | `DefaultXBLManager.ImportInsertedListener` DOM node inserted listener for imported XBL trees.
`protected class` | `DefaultXBLManager.ImportRecord` Record class for storing information about an XBL import.
`protected class` | `DefaultXBLManager.ImportRemovedListener` DOM node removed listener for imported XBL trees.
`protected class` | `DefaultXBLManager.ImportSubtreeListener` DOM subtree listener for imported XBL trees.
`protected class` | `DefaultXBLManager.RefAttrListener` DOM attribute mutation listener for referencing definition elements.
`protected class` | `DefaultXBLManager.TemplateMutationListener` DOM mutation listener for template elements.
`protected class` | `DefaultXBLManager.XblChildNodes` To iterate over the XBL child nodes.
`protected class` | `DefaultXBLManager.XBLRecord` XBL record.
`protected class` | `DefaultXBLManager.XblScopedChildNodes` To iterate over the scoped XBL child nodes.

Field Summary
`protected EventListenerList` | `bindingListenerList` Global event listener list for XBL binding related events.
`protected Map` | `contentManagers` Map of shadow trees to content managers.
`protected EventListenerList` | `contentSelectionChangedListenerList` Global event listener list for ContentSelectionChanged events.
`protected BridgeContext` | `ctx` The BridgeContext.
`protected DoublyIndexedTable` | `definitionLists` Map of namespace URI/local name pairs to ordered sets of definition records.
`protected DoublyIndexedTable` | `definitions` Map of definition element/import element pairs to definition records.
`protected DefaultXBLManager.DocInsertedListener` | `docInsertedListener` DOM node inserted listener for the document.
`protected DefaultXBLManager.DocRemovedListener` | `docRemovedListener` DOM node removed listener for the document.
`protected DefaultXBLManager.DocSubtreeListener` | `docSubtreeListener` DOM subtree mutation listener for the document.
`protected Document` | `document` The document.
`protected DefaultXBLManager.ImportAttrListener` | `importAttrListener` DOM attribute listener for import elements.
`protected Map` | `imports` Map of import elements to import records.
`protected boolean` | `isProcessing` Whether XBL processing is currently taking place.
`protected DefaultXBLManager.RefAttrListener` | `refAttrListener` DOM attribute listener for referencing definition elements.

Fields inherited from interface org.apache.batik.util.XBLConstants
`XBL_BINDINGS_ATTRIBUTE, XBL_BOUND_EVENT_TYPE, XBL_CONTENT_TAG, XBL_DEFINITION_TAG, XBL_ELEMENT_ATTRIBUTE, XBL_HANDLER_GROUP_TAG, XBL_IMPORT_TAG, XBL_INCLUDES_ATTRIBUTE, XBL_NAMESPACE_URI, XBL_ONBOUND_ATTRIBUTE, XBL_ONPREBIND_ATTRIBUTE, XBL_ONUNBINDING_ATTRIBUTE, XBL_PREBIND_EVENT_TYPE, XBL_REF_ATTRIBUTE, XBL_SHADOW_TREE_TAG, XBL_TEMPLATE_TAG, XBL_UNBINDING_EVENT_TYPE, XBL_XBL_TAG`

Constructor Summary
`DefaultXBLManager(Document doc, BridgeContext ctx)` Creates a new DefaultXBLManager for the given document.

Method Summary
`void` | `addBindingListener(BindingListener l)` Adds the specified BindingListener to the global listener list.
`void` | `addContentSelectionChangedListener(ContentSelectionChangedListener l)` Adds the specified ContentSelectionChangedListener to the global listener list.
`protected void` | `addDefinition(String namespaceURI, String localName, XBLOMDefinitionElement def, Element imp)` Adds an xbl:definition element to the list of definitions that could possibly affect elements with the specified QName.
`protected void` | `addDefinitionElementListeners(XBLOMDefinitionElement def, DefaultXBLManager.ImportRecord ir)` Adds DOM mutation listeners to the given definition element.
`protected void` | `addDefinitionRef(Element defRef)` Adds a definition through its referring definition element (one with a 'ref' attribute).
`protected void` | `addImport(Element imp)` Imports bindings from another document.
`protected void` | `addImportedDefinitions(Element imp, Node n)` Adds the definitions in the given imported subtree.
`protected void` | `addTemplateElementListeners(XBLOMTemplateElement template, DefaultXBLManager.ImportRecord ir)` Adds DOM mutation listeners to the given template element.
`protected void` | `bind(Element e)` Binds each bindable element in the given element's subtree.
`protected XBLOMShadowTreeElement` | `cloneTemplate(XBLOMTemplateElement template)` Clones a template element for use as a shadow tree.
`static int` | `computeBubbleLimit(Node from, Node to)` Determines the number of nodes events should bubble if the mouse pointer has moved from one element to another.
`protected void` | `dispatchBindingChangedEvent(Element bindableElement, Element shadowTree)` Dispatches a BindingEvent the registered listeners.
`protected void` | `fireShadowTreeEvent(BindableElement elt, String type, XBLShadowTreeElement e)` Fires a ShadowTreeEvent of the given type on this element.
`protected DefaultXBLManager.DefinitionRecord` | `getActiveDefinition(String namespaceURI, String localName)` Returns the definition record of the active definition for namespace URI/local name pair.
`ContentManager` | `getContentManager(Node n)` Returns the ContentManager that handles the shadow tree the given node resides in.
`protected Object[]` | `getContentSelectionChangedListeners()` Returns an array of the gloabl ContentSelectionChangedListeners.
`protected DefaultXBLManager.XBLRecord` | `getRecord(Node n)` Returns the XBL record for the given node.
`Element` | `getXblBoundElement(Node n)` Get the bound element whose shadow tree a node resides in.
`NodeList` | `getXblChildNodes(Node n)` Get the list of child nodes of a node in the fully flattened tree.
`XBLOMContentElement` | `getXblContentElement(Node n)` Returns the content element that caused the given node to be present in the flattened tree.
`NodeList` | `getXblDefinitions(Node n)` Get the xbl:definition elements currently binding an element.
`Node` | `getXblFirstChild(Node n)` Get the first child node of a node in the fully flattened tree.
`Element` | `getXblFirstElementChild(Node n)` Get the first element child of a node in the fully flattened tree.
`Node` | `getXblLastChild(Node n)` Get the last child node of a node in the fully flattened tree.
`Element` | `getXblLastElementChild(Node n)` Get the last element child of a node in the fully flattened tree.
`Element` | `getXblNextElementSibling(Node n)` Get the first element that follows a node in the xblParentNode's xblChildNodes list.
`Node` | `getXblNextSibling(Node n)` Get the node which directly follows a node in the xblParentNode's xblChildNodes list.
`Node` | `getXblParentNode(Node n)` Get the parent of a node in the fully flattened tree.
`Element` | `getXblPreviousElementSibling(Node n)` Get the first element that precedes the a node in the xblParentNode's xblChildNodes list.
`Node` | `getXblPreviousSibling(Node n)` Get the node which directly precedes a node in the xblParentNode's xblChildNodes list.
`NodeList` | `getXblScopedChildNodes(Node n)` Get the list of child nodes of a node in the fully flattened tree that are within the same shadow scope.
`Element` | `getXblShadowTree(Node n)` Get the shadow tree of a node.
`void` | `invalidateChildNodes(Node n)` Mark the xblChildNodes and xblScopedChildNodes variables as invalid.
`protected boolean` | `isActiveDefinition(XBLOMDefinitionElement def, Element imp)` Returns whether the given definition element is the active one for its element name.
`boolean` | `isProcessing()` Returns whether XBL processing is currently enabled.
`protected void` | `rebind(String namespaceURI, String localName, Element e)` Rebinds each bindable element of the given name in the given element's subtree.
`void` | `removeBindingListener(BindingListener l)` Removes the specified BindingListener from the global listener list.
`void` | `removeContentSelectionChangedListener(ContentSelectionChangedListener l)` Removes the specified ContentSelectionChangedListener from the global listener list.
`protected void` | `removeDefinition(DefaultXBLManager.DefinitionRecord defRec)` Removes an xbl:definition element from the list of definitions that could possibly affect elements with the specified QName.
`protected void` | `removeDefinitionElementListeners(XBLOMDefinitionElement def, DefaultXBLManager.ImportRecord ir)` Removes DOM mutation listeners from the given definition element.
`protected void` | `removeDefinitionRef(Element defRef)` Removes a definition through its referring definition element (one with a 'ref' attribute).
`protected void` | `removeImport(Element imp)` Removes an import.
`protected void` | `removeTemplateElementListeners(XBLOMTemplateElement template, DefaultXBLManager.ImportRecord ir)` Removes DOM mutation listeners from the given template element.
`protected void` | `setActiveDefinition(BindableElement elt, DefaultXBLManager.DefinitionRecord defRec)` Sets the given definition as the active one for a particular bindable element.
`protected void` | `setXblShadowTree(BindableElement elt, XBLOMShadowTreeElement newShadow)` Sets the shadow tree for the given bindable element.
`void` | `startProcessing()` Starts XBL processing on the document.
`void` | `stopProcessing()` Stops XBL processing on the document.
`protected void` | `unbind(Element e)` Unbinds each bindable element in the given element's subtree.
`protected void` | `updateLinks(Node n)` Updates the xblPreviousSibling and xblNextSibling properties of the given XBL node.

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

Field Detail

### isProcessing

    protected boolean isProcessing

  Whether XBL processing is currently taking place.

### document

    protected Document document

  The document.

### ctx

    protected BridgeContext ctx

  The BridgeContext.

### definitionLists

    protected DoublyIndexedTable definitionLists

  Map of namespace URI/local name pairs to ordered sets of definition records.

### definitions

    protected DoublyIndexedTable definitions

  Map of definition element/import element pairs to definition records.

### contentManagers

    protected Map contentManagers

  Map of shadow trees to content managers.

### imports

    protected Map imports

  Map of import elements to import records.

### docInsertedListener

    protected DefaultXBLManager.DocInsertedListener docInsertedListener

  DOM node inserted listener for the document.

### docRemovedListener

    protected DefaultXBLManager.DocRemovedListener docRemovedListener

  DOM node removed listener for the document.

### docSubtreeListener

    protected DefaultXBLManager.DocSubtreeListener docSubtreeListener

  DOM subtree mutation listener for the document.

### importAttrListener

    protected DefaultXBLManager.ImportAttrListener importAttrListener

  DOM attribute listener for import elements.

### refAttrListener

    protected DefaultXBLManager.RefAttrListener refAttrListener

  DOM attribute listener for referencing definition elements.

### bindingListenerList

    protected EventListenerList bindingListenerList

  Global event listener list for XBL binding related events.

### contentSelectionChangedListenerList

    protected EventListenerList contentSelectionChangedListenerList

  Global event listener list for ContentSelectionChanged events.

Constructor Detail

### DefaultXBLManager

    public DefaultXBLManager(Document doc,
                             BridgeContext ctx)

  Creates a new DefaultXBLManager for the given document.

Method Detail

### startProcessing

    public void startProcessing()

  Starts XBL processing on the document.

  Specified by:
    `startProcessing` in interface `XBLManager`

### stopProcessing

    public void stopProcessing()

  Stops XBL processing on the document.

  Specified by:
    `stopProcessing` in interface `XBLManager`

### isProcessing

    public boolean isProcessing()

  Returns whether XBL processing is currently enabled.

  Specified by:
    `isProcessing` in interface `XBLManager`

### addDefinitionRef

    protected void addDefinitionRef(Element defRef)

  Adds a definition through its referring definition element (one with a 'ref' attribute).

### removeDefinitionRef

    protected void removeDefinitionRef(Element defRef)

  Removes a definition through its referring definition element (one with a 'ref' attribute).

### addImport

    protected void addImport(Element imp)

  Imports bindings from another document.

### addImportedDefinitions

    protected void addImportedDefinitions(Element imp,
                                          Node n)

  Adds the definitions in the given imported subtree.

### removeImport

    protected void removeImport(Element imp)

  Removes an import.

### addDefinition

    protected void addDefinition(String namespaceURI,
                                 String localName,
                                 XBLOMDefinitionElement def,
                                 Element imp)

  Adds an xbl:definition element to the list of definitions that could possibly affect elements with the specified QName. This may or may not actually cause a new binding to come in to effect, as this new definition element may be added earlier in the document than another already in effect.

  Parameters:
    `namespaceURI` - the namespace URI of the bound elements
    `localName` - the local name of the bound elements
    `def` - the xbl:definition element
    `imp` - the xbl:import or xbl;definition element through which this definition is being added, or null if the binding is in the original document

### addDefinitionElementListeners

    protected void addDefinitionElementListeners(XBLOMDefinitionElement def,
                                                 DefaultXBLManager.ImportRecord ir)

  Adds DOM mutation listeners to the given definition element.

### addTemplateElementListeners

    protected void addTemplateElementListeners(XBLOMTemplateElement template,
                                               DefaultXBLManager.ImportRecord ir)

  Adds DOM mutation listeners to the given template element.

### removeDefinition

    protected void removeDefinition(DefaultXBLManager.DefinitionRecord defRec)

  Removes an xbl:definition element from the list of definitions that could possibly affect elements with the specified QName. This will only cause a new binding to come in to effect if it is currently active.

### removeDefinitionElementListeners

    protected void removeDefinitionElementListeners(XBLOMDefinitionElement def,
                                                    DefaultXBLManager.ImportRecord ir)

  Removes DOM mutation listeners from the given definition element.

### removeTemplateElementListeners

    protected void removeTemplateElementListeners(XBLOMTemplateElement template,
                                                  DefaultXBLManager.ImportRecord ir)

  Removes DOM mutation listeners from the given template element.

### getActiveDefinition

    protected DefaultXBLManager.DefinitionRecord getActiveDefinition(String namespaceURI,
                                                                     String localName)

  Returns the definition record of the active definition for namespace URI/local name pair.

### unbind

    protected void unbind(Element e)

  Unbinds each bindable element in the given element's subtree.

### bind

    protected void bind(Element e)

  Binds each bindable element in the given element's subtree.

### rebind

    protected void rebind(String namespaceURI,
                          String localName,
                          Element e)

  Rebinds each bindable element of the given name in the given element's subtree.

### setActiveDefinition

    protected void setActiveDefinition(BindableElement elt,
                                       DefaultXBLManager.DefinitionRecord defRec)

  Sets the given definition as the active one for a particular bindable element.

### setXblShadowTree

    protected void setXblShadowTree(BindableElement elt,
                                    XBLOMShadowTreeElement newShadow)

  Sets the shadow tree for the given bindable element.

### fireShadowTreeEvent

    protected void fireShadowTreeEvent(BindableElement elt,
                                       String type,
                                       XBLShadowTreeElement e)

  Fires a ShadowTreeEvent of the given type on this element.

### cloneTemplate

    protected XBLOMShadowTreeElement cloneTemplate(XBLOMTemplateElement template)

  Clones a template element for use as a shadow tree.

### getXblParentNode

    public Node getXblParentNode(Node n)

  Get the parent of a node in the fully flattened tree.

  Specified by:
    `getXblParentNode` in interface `XBLManager`

### getXblChildNodes

    public NodeList getXblChildNodes(Node n)

  Get the list of child nodes of a node in the fully flattened tree.

  Specified by:
    `getXblChildNodes` in interface `XBLManager`

### getXblScopedChildNodes

    public NodeList getXblScopedChildNodes(Node n)

  Get the list of child nodes of a node in the fully flattened tree that are within the same shadow scope.

  Specified by:
    `getXblScopedChildNodes` in interface `XBLManager`

### getXblFirstChild

    public Node getXblFirstChild(Node n)

  Get the first child node of a node in the fully flattened tree.

  Specified by:
    `getXblFirstChild` in interface `XBLManager`

### getXblLastChild

    public Node getXblLastChild(Node n)

  Get the last child node of a node in the fully flattened tree.

  Specified by:
    `getXblLastChild` in interface `XBLManager`

### getXblPreviousSibling

    public Node getXblPreviousSibling(Node n)

  Get the node which directly precedes a node in the xblParentNode's xblChildNodes list.

  Specified by:
    `getXblPreviousSibling` in interface `XBLManager`

### getXblNextSibling

    public Node getXblNextSibling(Node n)

  Get the node which directly follows a node in the xblParentNode's xblChildNodes list.

  Specified by:
    `getXblNextSibling` in interface `XBLManager`

### getXblFirstElementChild

    public Element getXblFirstElementChild(Node n)

  Get the first element child of a node in the fully flattened tree.

  Specified by:
    `getXblFirstElementChild` in interface `XBLManager`

### getXblLastElementChild

    public Element getXblLastElementChild(Node n)

  Get the last element child of a node in the fully flattened tree.

  Specified by:
    `getXblLastElementChild` in interface `XBLManager`

### getXblPreviousElementSibling

    public Element getXblPreviousElementSibling(Node n)

  Get the first element that precedes the a node in the xblParentNode's xblChildNodes list.

  Specified by:
    `getXblPreviousElementSibling` in interface `XBLManager`

### getXblNextElementSibling

    public Element getXblNextElementSibling(Node n)

  Get the first element that follows a node in the xblParentNode's xblChildNodes list.

  Specified by:
    `getXblNextElementSibling` in interface `XBLManager`

### getXblBoundElement

    public Element getXblBoundElement(Node n)

  Get the bound element whose shadow tree a node resides in.

  Specified by:
    `getXblBoundElement` in interface `XBLManager`

### getXblShadowTree

    public Element getXblShadowTree(Node n)

  Get the shadow tree of a node.

  Specified by:
    `getXblShadowTree` in interface `XBLManager`

### getXblDefinitions

    public NodeList getXblDefinitions(Node n)

  Get the xbl:definition elements currently binding an element.

  Specified by:
    `getXblDefinitions` in interface `XBLManager`

### getRecord

    protected DefaultXBLManager.XBLRecord getRecord(Node n)

  Returns the XBL record for the given node.

### updateLinks

    protected void updateLinks(Node n)

  Updates the xblPreviousSibling and xblNextSibling properties of the given XBL node.

### getXblContentElement

    public XBLOMContentElement getXblContentElement(Node n)

  Returns the content element that caused the given node to be present in the flattened tree.

### computeBubbleLimit

    public static int computeBubbleLimit(Node from,
                                         Node to)

  Determines the number of nodes events should bubble if the mouse pointer has moved from one element to another.

  Parameters:
    `from` - the element from which the mouse pointer moved
    `to` - the element to which the mouse pointer moved

### getContentManager

    public ContentManager getContentManager(Node n)

  Returns the ContentManager that handles the shadow tree the given node resides in.

### invalidateChildNodes

    public void invalidateChildNodes(Node n)

  Mark the xblChildNodes and xblScopedChildNodes variables as invalid.

### addContentSelectionChangedListener

    public void addContentSelectionChangedListener(ContentSelectionChangedListener l)

  Adds the specified ContentSelectionChangedListener to the global listener list.

### removeContentSelectionChangedListener

    public void removeContentSelectionChangedListener(ContentSelectionChangedListener l)

  Removes the specified ContentSelectionChangedListener from the global listener list.

### getContentSelectionChangedListeners

    protected Object[] getContentSelectionChangedListeners()

  Returns an array of the gloabl ContentSelectionChangedListeners.

### addBindingListener

    public void addBindingListener(BindingListener l)

  Adds the specified BindingListener to the global listener list.

### removeBindingListener

    public void removeBindingListener(BindingListener l)

  Removes the specified BindingListener from the global listener list.

### dispatchBindingChangedEvent

    protected void dispatchBindingChangedEvent(Element bindableElement,
                                               Element shadowTree)

  Dispatches a BindingEvent the registered listeners.

  Parameters:
    `bindableElement` - the bindable element whose binding has changed
    `shadowTree` - the new shadow tree of the bindable element

### isActiveDefinition

    protected boolean isActiveDefinition(XBLOMDefinitionElement def,
                                         Element imp)

  Returns whether the given definition element is the active one for its element name.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2008 Apache Software Foundation. All Rights Reserved.