Skip navigation links

Oracle® Fusion Middleware Java API Reference for Oracle Coherence
12c (12.1.3.0.0)

E47890-01


com.tangosol.run.xml
Class SimpleParser

java.lang.Object
  extended by com.tangosol.util.Base
      extended by com.tangosol.run.xml.SimpleParser


public class SimpleParser
extends Base

This class uses the XmlTokenizer to produce an XmlDocument from XML text.

Version:
1.00, 2001.07.16
Author:
Cameron Purdy

Field Summary
protected  boolean m_fValidate
          If true, validate XML if it contains an XSD reference
protected  com.tangosol.run.xml.XmlToken m_token
          The "current" token being evaluated.
protected  com.tangosol.run.xml.XmlTokenizer m_toker
          The lexical tokenizer.

 

Constructor Summary
SimpleParser()
          Construct an XML SimpleParser.
SimpleParser(boolean fValidate)
          Construct an XML SimpleParser.

 

Method Summary
protected  com.tangosol.run.xml.XmlToken current()
          Returns the current token and advances to the next token.
protected  boolean hasCurrent()
          Determine if there is a current token.
protected  boolean hasNext()
          Determine if there is a next token.
protected  void init()
          Internal initialization.
protected  XmlDocument instantiateDocument()
          Factory method to instantiate an XmlDocument implementation.
static void main(java.lang.String[] asArgs)
          Unit test.
protected  com.tangosol.run.xml.XmlToken mark()
          Marks the current position and returns it as a token.
protected  com.tangosol.run.xml.XmlToken match(int id)
          Verifies that the current token matches the passed token id and, if so, advances to the next token.
protected  com.tangosol.run.xml.XmlToken match(java.lang.String sName)
          Verifies that the current token is a name token whose name matches the passed String and, if so, advances to the next token.
protected  com.tangosol.run.xml.XmlToken next()
          Advances to and returns the next token.
protected  void parseComment(XmlElement xml)
           
protected  void parseComment(XmlElement xml, boolean fIsDocument)
           
protected  void parseDoctype(XmlDocument xml)
           
protected  void parseDocument(XmlDocument xml)
          Factory method to instantiate an XmlDocument implementation.
protected  void parseElement(XmlElement xml)
          Note: '<' and element name have already been parsed
protected  void parseMisc(XmlElement xml)
           
protected  void parsePi(XmlElement xml)
           
protected  void parsePi(XmlElement xml, boolean fXmlDeclAllowed)
           
 XmlDocument parseXml(java.io.InputStream stream)
          Parse the specified InputStream into an XmlDocument object.
 XmlDocument parseXml(java.io.InputStream stream, java.lang.String sCharset)
          Parse the specified InputStream into an XmlDocument object using the specified charset.
 XmlDocument parseXml(java.io.Reader reader)
          Parse the specified Reader into an XmlDocument object.
 XmlDocument parseXml(java.lang.String sXml)
          Parse the specified String into an XmlDocument object.
 XmlDocument parseXml(java.lang.String sXml, XmlDocument xml)
          Parse the passed script.
protected  void parseXmlDecl(XmlDocument xml)
           
protected  com.tangosol.run.xml.XmlToken peek(int id)
          Tests if the current token matches the passed token id and, if so, advances to the next token.
protected  com.tangosol.run.xml.XmlToken peek(int cat, int subcat)
          Tests if the current token matches the passed token category and sub-category.
protected  com.tangosol.run.xml.XmlToken peek(java.lang.String sName)
          Tests if the current token is a name that matches the passed String and, if so, advances to the next token.
protected  java.io.InputStream skipBOM(java.io.InputStream in)
          Read the provided InputStream to determine if the stream starts with a UTF-8 BOM (http://www.unicode.org/faq/utf_bom.html#BOM).

 

Field Detail

m_fValidate

protected final boolean m_fValidate
If true, validate XML if it contains an XSD reference

m_toker

protected com.tangosol.run.xml.XmlTokenizer m_toker
The lexical tokenizer.

m_token

protected com.tangosol.run.xml.XmlToken m_token
The "current" token being evaluated.

Constructor Detail

SimpleParser

public SimpleParser()
Construct an XML SimpleParser. If the XML contains an XSD reference, the parser will validate using the provided XSD.

SimpleParser

public SimpleParser(boolean fValidate)
Construct an XML SimpleParser.
Parameters:
fValidate - if true, validate XML if it contains an XSD reference

Method Detail

init

protected void init()
Internal initialization.

parseXml

public XmlDocument parseXml(java.lang.String sXml)
                     throws java.io.IOException
Parse the specified String into an XmlDocument object.
Parameters:
sXml - the String to parse
Returns:
an XmlDocument object
Throws:
java.io.IOException

parseXml

public XmlDocument parseXml(java.io.Reader reader)
                     throws java.io.IOException
Parse the specified Reader into an XmlDocument object.
Parameters:
reader - the Reader object
Returns:
an XmlDocument object
Throws:
java.io.IOException

parseXml

public XmlDocument parseXml(java.io.InputStream stream)
                     throws java.io.IOException
Parse the specified InputStream into an XmlDocument object.
Parameters:
stream - the InputStream object
Returns:
an XmlDocument object
Throws:
java.io.IOException

parseXml

public XmlDocument parseXml(java.io.InputStream stream,
                            java.lang.String sCharset)
                     throws java.io.IOException
Parse the specified InputStream into an XmlDocument object using the specified charset.
Parameters:
stream - the InputStream object
sCharset - the charset name
Returns:
an XmlDocument object
Throws:
java.io.IOException

parseXml

public XmlDocument parseXml(java.lang.String sXml,
                            XmlDocument xml)
                     throws java.io.IOException
Parse the passed script.
Parameters:
sXml - the script to parse (as a string)
xml - the XML document object to parse into
Throws:
java.io.IOException

instantiateDocument

protected XmlDocument instantiateDocument()
Factory method to instantiate an XmlDocument implementation.
Returns:
an object implementing XmlDocument

main

public static void main(java.lang.String[] asArgs)
Unit test.

parseDocument

protected void parseDocument(XmlDocument xml)
                      throws com.tangosol.dev.compiler.CompilerException
Factory method to instantiate an XmlDocument implementation.
Parameters:
xml - a blank XmlDocument
Throws:
com.tangosol.dev.compiler.CompilerException

parsePi

protected void parsePi(XmlElement xml)
                throws com.tangosol.dev.compiler.CompilerException
Throws:
com.tangosol.dev.compiler.CompilerException

parsePi

protected void parsePi(XmlElement xml,
                       boolean fXmlDeclAllowed)
                throws com.tangosol.dev.compiler.CompilerException
Throws:
com.tangosol.dev.compiler.CompilerException

parseXmlDecl

protected void parseXmlDecl(XmlDocument xml)
                     throws com.tangosol.dev.compiler.CompilerException
Throws:
com.tangosol.dev.compiler.CompilerException

parseDoctype

protected void parseDoctype(XmlDocument xml)
                     throws com.tangosol.dev.compiler.CompilerException
Throws:
com.tangosol.dev.compiler.CompilerException

parseElement

protected void parseElement(XmlElement xml)
                     throws com.tangosol.dev.compiler.CompilerException
Note: '<' and element name have already been parsed
Throws:
com.tangosol.dev.compiler.CompilerException

parseMisc

protected void parseMisc(XmlElement xml)
                  throws com.tangosol.dev.compiler.CompilerException
Throws:
com.tangosol.dev.compiler.CompilerException

parseComment

protected void parseComment(XmlElement xml)
                     throws com.tangosol.dev.compiler.CompilerException
Throws:
com.tangosol.dev.compiler.CompilerException

parseComment

protected void parseComment(XmlElement xml,
                            boolean fIsDocument)
                     throws com.tangosol.dev.compiler.CompilerException
Throws:
com.tangosol.dev.compiler.CompilerException

hasCurrent

protected boolean hasCurrent()
Determine if there is a current token.
Returns:
true if there is a current token

current

protected com.tangosol.run.xml.XmlToken current()
                                         throws com.tangosol.dev.compiler.CompilerException
Returns the current token and advances to the next token.
Returns:
the current token
Throws:
com.tangosol.dev.compiler.CompilerException - potentially thrown by the tokenizer

hasNext

protected boolean hasNext()
Determine if there is a next token.
Returns:
true if there is a next token

next

protected com.tangosol.run.xml.XmlToken next()
                                      throws com.tangosol.dev.compiler.CompilerException
Advances to and returns the next token.
Returns:
the next token
Throws:
com.tangosol.dev.compiler.CompilerException - potentially thrown by the tokenizer

match

protected com.tangosol.run.xml.XmlToken match(int id)
                                       throws com.tangosol.dev.compiler.CompilerException
Verifies that the current token matches the passed token id and, if so, advances to the next token. Otherwise, a syntax exception is thrown.
Parameters:
id - the token id to match
Returns:
the current token
Throws:
com.tangosol.dev.compiler.SyntaxException - thrown if the token does not match
com.tangosol.dev.compiler.CompilerException - potentially thrown by the tokenizer

match

protected com.tangosol.run.xml.XmlToken match(java.lang.String sName)
                                       throws com.tangosol.dev.compiler.CompilerException
Verifies that the current token is a name token whose name matches the passed String and, if so, advances to the next token. Otherwise, a syntax exception is thrown.
Parameters:
sName - the name token text to match
Returns:
the matched token
Throws:
com.tangosol.dev.compiler.SyntaxException - thrown if the token does not match
com.tangosol.dev.compiler.CompilerException - potentially thrown by the tokenizer

peek

protected com.tangosol.run.xml.XmlToken peek(int id)
                                      throws com.tangosol.dev.compiler.CompilerException
Tests if the current token matches the passed token id and, if so, advances to the next token.
Parameters:
id - the token id to peek for
Returns:
the current token, if matched, or null
Throws:
com.tangosol.dev.compiler.CompilerException - potentially thrown by the tokenizer

peek

protected com.tangosol.run.xml.XmlToken peek(int cat,
                                             int subcat)
                                      throws com.tangosol.dev.compiler.CompilerException
Tests if the current token matches the passed token category and sub-category. If so, it returns the current token and advances to the next token.
Parameters:
cat - the category to peek for
subcat - the sub-category to peek for
Returns:
the current token, if matched, or null
Throws:
com.tangosol.dev.compiler.CompilerException - potentially thrown by the tokenizer

peek

protected com.tangosol.run.xml.XmlToken peek(java.lang.String sName)
                                      throws com.tangosol.dev.compiler.CompilerException
Tests if the current token is a name that matches the passed String and, if so, advances to the next token.
Parameters:
sName - the name token text to peek for
Returns:
id the current token, if matched, or null
Throws:
com.tangosol.dev.compiler.CompilerException - potentially thrown by the tokenizer

mark

protected com.tangosol.run.xml.XmlToken mark()
Marks the current position and returns it as a token.
Returns:
the current token

skipBOM

protected java.io.InputStream skipBOM(java.io.InputStream in)
                               throws java.io.IOException
Read the provided InputStream to determine if the stream starts with a UTF-8 BOM (http://www.unicode.org/faq/utf_bom.html#BOM). If the BOM is present, advance the stream to skip it.

This is a workaround for the inability of the Java UTF-8 encoding to recognize the UTF-8 BOM (http://bugs.sun.com/view_bug.do?bug_id=4508058).

Parameters:
in - InputStream to check for BOM
Returns:
an InputStream with the UTF-8 BOM skipped
Throws:
java.io.IOException

Skip navigation links

Oracle® Fusion Middleware Java API Reference for Oracle Coherence
12c (12.1.3.0.0)

E47890-01


Copyright © 2000, 2014, Oracle and/or its affiliates. All rights reserved.