relaxngcc.parser.state

## Class NGCCInterleaveFilter

- java.lang.Object
- - relaxngcc.parser.state.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

Methods
`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`