relaxngcc.datatype.parser
Class NGCCInterleaveFilter

java.lang.Object
  extended byrelaxngcc.datatype.parser.NGCCInterleaveFilter
All Implemented Interfaces:
NGCCEventReceiver, NGCCEventSource

public abstract class NGCCInterleaveFilter
extends java.lang.Object
implements NGCCEventSource, NGCCEventReceiver

Dispatches incoming events into sub handlers appropriately so that the interleaving semantics will be correctly realized.

Author:
Kohsuke Kawaguchi (kk@kohsuke.org)

Method Summary
 void enterAttribute(java.lang.String uri, java.lang.String localName, java.lang.String qname)
           
 void enterElement(java.lang.String uri, java.lang.String localName, java.lang.String qname, org.xml.sax.Attributes atts)
           
 void joinByEnterAttribute(NGCCEventReceiver source, java.lang.String uri, java.lang.String local, java.lang.String qname)
           
 void joinByEnterElement(NGCCEventReceiver source, java.lang.String uri, java.lang.String local, java.lang.String qname, org.xml.sax.Attributes atts)
          Joins all the child receivers.
 void joinByLeaveAttribute(NGCCEventReceiver source, java.lang.String uri, java.lang.String local, java.lang.String qname)
           
 void joinByLeaveElement(NGCCEventReceiver source, java.lang.String uri, java.lang.String local, java.lang.String qname)
           
 void joinByText(NGCCEventReceiver source, java.lang.String value)
           
 void leaveAttribute(java.lang.String uri, java.lang.String localName, java.lang.String qname)
           
 void leaveElement(java.lang.String uri, java.lang.String localName, java.lang.String qname)
           
 int replace(NGCCEventReceiver oldHandler, NGCCEventReceiver newHandler)
          Replaces an old handler with a new handler, and returns ID of the EventReceiver thread.
 void sendEnterAttribute(int threadId, java.lang.String uri, java.lang.String local, java.lang.String qname)
           
 void sendEnterElement(int threadId, java.lang.String uri, java.lang.String local, java.lang.String qname, org.xml.sax.Attributes atts)
          Sends an enter element event to the specified EventReceiver thread.
 void sendLeaveAttribute(int threadId, java.lang.String uri, java.lang.String local, java.lang.String qname)
           
 void sendLeaveElement(int threadId, java.lang.String uri, java.lang.String local, java.lang.String qname)
           
 void sendText(int threadId, java.lang.String value)
           
 void text(java.lang.String value)
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

replace

public int replace(NGCCEventReceiver oldHandler,
                   NGCCEventReceiver newHandler)
Description copied from interface: NGCCEventSource
Replaces an old handler with a new handler, and returns ID of the EventReceiver thread.

Specified by:
replace in interface NGCCEventSource

enterElement

public void enterElement(java.lang.String uri,
                         java.lang.String localName,
                         java.lang.String qname,
                         org.xml.sax.Attributes atts)
                  throws org.xml.sax.SAXException
Specified by:
enterElement in interface NGCCEventReceiver
Throws:
org.xml.sax.SAXException

leaveElement

public void leaveElement(java.lang.String uri,
                         java.lang.String localName,
                         java.lang.String qname)
                  throws org.xml.sax.SAXException
Specified by:
leaveElement in interface NGCCEventReceiver
Throws:
org.xml.sax.SAXException

enterAttribute

public void enterAttribute(java.lang.String uri,
                           java.lang.String localName,
                           java.lang.String qname)
                    throws org.xml.sax.SAXException
Specified by:
enterAttribute in interface NGCCEventReceiver
Throws:
org.xml.sax.SAXException

leaveAttribute

public void leaveAttribute(java.lang.String uri,
                           java.lang.String localName,
                           java.lang.String qname)
                    throws org.xml.sax.SAXException
Specified by:
leaveAttribute in interface NGCCEventReceiver
Throws:
org.xml.sax.SAXException

text

public void text(java.lang.String value)
          throws org.xml.sax.SAXException
Specified by:
text in interface NGCCEventReceiver
Throws:
org.xml.sax.SAXException

joinByEnterElement

public void joinByEnterElement(NGCCEventReceiver source,
                               java.lang.String uri,
                               java.lang.String local,
                               java.lang.String qname,
                               org.xml.sax.Attributes atts)
                        throws org.xml.sax.SAXException
Joins all the child receivers.

This method is called by a child receiver when it sees something that it cannot handle, or by this object itself when it sees an event that it can't process.

This method forces children to move to its final state, then revert to the parent.

Parameters:
source - If this method is called by one of the child receivers, the receiver object. If this method is called by itself, null.
Throws:
org.xml.sax.SAXException

joinByLeaveElement

public void joinByLeaveElement(NGCCEventReceiver source,
                               java.lang.String uri,
                               java.lang.String local,
                               java.lang.String qname)
                        throws org.xml.sax.SAXException
Throws:
org.xml.sax.SAXException

joinByEnterAttribute

public void joinByEnterAttribute(NGCCEventReceiver source,
                                 java.lang.String uri,
                                 java.lang.String local,
                                 java.lang.String qname)
                          throws org.xml.sax.SAXException
Throws:
org.xml.sax.SAXException

joinByLeaveAttribute

public void joinByLeaveAttribute(NGCCEventReceiver source,
                                 java.lang.String uri,
                                 java.lang.String local,
                                 java.lang.String qname)
                          throws org.xml.sax.SAXException
Throws:
org.xml.sax.SAXException

joinByText

public void joinByText(NGCCEventReceiver source,
                       java.lang.String value)
                throws org.xml.sax.SAXException
Throws:
org.xml.sax.SAXException

sendEnterAttribute

public void sendEnterAttribute(int threadId,
                               java.lang.String uri,
                               java.lang.String local,
                               java.lang.String qname)
                        throws org.xml.sax.SAXException
Specified by:
sendEnterAttribute in interface NGCCEventSource
Throws:
org.xml.sax.SAXException

sendEnterElement

public void sendEnterElement(int threadId,
                             java.lang.String uri,
                             java.lang.String local,
                             java.lang.String qname,
                             org.xml.sax.Attributes atts)
                      throws org.xml.sax.SAXException
Description copied from interface: NGCCEventSource
Sends an enter element event to the specified EventReceiver thread.

Specified by:
sendEnterElement in interface NGCCEventSource
Throws:
org.xml.sax.SAXException

sendLeaveAttribute

public void sendLeaveAttribute(int threadId,
                               java.lang.String uri,
                               java.lang.String local,
                               java.lang.String qname)
                        throws org.xml.sax.SAXException
Specified by:
sendLeaveAttribute in interface NGCCEventSource
Throws:
org.xml.sax.SAXException

sendLeaveElement

public void sendLeaveElement(int threadId,
                             java.lang.String uri,
                             java.lang.String local,
                             java.lang.String qname)
                      throws org.xml.sax.SAXException
Specified by:
sendLeaveElement in interface NGCCEventSource
Throws:
org.xml.sax.SAXException

sendText

public void sendText(int threadId,
                     java.lang.String value)
              throws org.xml.sax.SAXException
Specified by:
sendText in interface NGCCEventSource
Throws:
org.xml.sax.SAXException