private void processEvent()

in gateway-provider-rewrite/src/main/java/org/apache/knox/gateway/filter/rewrite/impl/xml/XmlFilterReader.java [148:186]


  private void processEvent( XMLEvent event ) throws ParserConfigurationException, XPathExpressionException, IOException, XMLStreamException {
    int type = event.getEventType();
    switch( type ) {
      case XMLStreamConstants.START_DOCUMENT:
        processStartDocument( (StartDocument)event );
        break;
      case XMLStreamConstants.END_DOCUMENT:
        processEndDocument();
        break;
      case XMLStreamConstants.START_ELEMENT:
        if( parser.peek().getEventType() == XMLStreamConstants.END_ELEMENT ) {
          isEmptyElement = true;
        }
        processStartElement( event.asStartElement());
        break;
      case XMLStreamConstants.END_ELEMENT:
        processEndElement( event.asEndElement() );
        isEmptyElement = false;
        break;
      case XMLStreamConstants.CHARACTERS:
      case XMLStreamConstants.CDATA:
      case XMLStreamConstants.SPACE:
        processCharacters( event.asCharacters() );
        break;
      case XMLStreamConstants.COMMENT:
        processComment( (Comment)event );
        break;
      case XMLStreamConstants.DTD:
      case XMLStreamConstants.NAMESPACE:
      case XMLStreamConstants.ATTRIBUTE:
      case XMLStreamConstants.ENTITY_REFERENCE:
      case XMLStreamConstants.ENTITY_DECLARATION:
      case XMLStreamConstants.NOTATION_DECLARATION:
      case XMLStreamConstants.PROCESSING_INSTRUCTION:
      default:
        // Fail if we run into any of these for now.
        throw new IllegalStateException( Integer.toString( type ) );
    }
  }