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

## com.sun.msv.scanner.dtd
Class InputEntity

    java.lang.Object
      com.sun.msv.scanner.dtd.InputEntity

public class InputEntity
extends java.lang.Object

This is how the parser talks to its input entities, of all kinds. The entities are in a stack.

For internal entities, the character arrays are referenced here, and read from as needed (they're read-only). External entities have mutable buffers, that are read into as needed.

Note: This maps CRLF (and CR) to LF without regard for whether it's in an external (parsed) entity or not. The XML 1.0 spec is inconsistent in explaining EOL handling; this is the sensible way.

Version:
  1.4 00/08/05
Author:
  David Brownell, Janet Koenig

Method Summary
`void` | `close()`
`char` | `getc()` gets the next Java character -- might be part of an XML text character represented by a surrogate pair, or be the end of the entity.
`int` | `getColumnNumber()` returns -1; maintaining column numbers hurts performance
`java.lang.String` | `getEncoding()` Returns the name of the encoding in use, else null; the name returned is in as standard a form as we can get.
`static InputEntity` | `getInputEntity(DTDEventListener h, java.util.Locale l)`
`int` | `getLineNumber()` Returns the current line number in this input source
`java.lang.String` | `getName()`
`char` | `getNameChar()` returns the next name char, or NUL ...
`java.lang.String` | `getPublicId()` Returns the public ID of this input source, if known
`java.lang.String` | `getSystemId()` Returns the system ID of this input source, if known
`boolean` | `ignorableWhitespace(DTDEventListener handler)` whitespace in markup (flagged to app, discardable)
`void` | `init(char[] b, java.lang.String name, InputEntity stack, boolean isPE)`
`void` | `init(org.xml.sax.InputSource in, java.lang.String name, InputEntity stack, boolean isPE)`
`boolean` | `isDocument()`
`boolean` | `isEOF()` returns true iff there's no more data to consume ...
`boolean` | `isInternal()`
`boolean` | `isParameterEntity()`
`boolean` | `maybeWhitespace()` optional grammatical whitespace (discarded)
`boolean` | `parsedContent(DTDEventListener docHandler)` normal content; whitespace in markup may be handled specially if the parser uses the content model.
`boolean` | `peek(java.lang.String next, char[] chars)` returns false iff 'next' string isn't as provided, else skips that text and returns true.
`boolean` | `peekc(char c)` lookahead one character
`InputEntity` | `pop()`
`java.lang.String` | `rememberText()`
`void` | `startRemembering()`
`void` | `ungetc()` two character pushback is guaranteed
`boolean` | `unparsedContent(DTDEventListener docHandler, boolean ignorableWhitespace, java.lang.String whitespaceInvalidMessage)` CDATA -- character data, terminated by "]]>" and optionally including unescaped markup delimiters (ampersand and left angle bracket).

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

Method Detail

### getInputEntity

    public static InputEntity getInputEntity(DTDEventListener h,
                                             java.util.Locale l)

### isInternal

    public boolean isInternal()

### isDocument

    public boolean isDocument()

### isParameterEntity

    public boolean isParameterEntity()

### getName

    public java.lang.String getName()

### init

    public void init(org.xml.sax.InputSource in,
                     java.lang.String name,
                     InputEntity stack,
                     boolean isPE)
              throws java.io.IOException,
                     org.xml.sax.SAXException

  Throws:
    `java.io.IOException`
    `org.xml.sax.SAXException`

### init

    public void init(char[] b,
                     java.lang.String name,
                     InputEntity stack,
                     boolean isPE)
              throws org.xml.sax.SAXException

  Throws:
    `org.xml.sax.SAXException`

### pop

    public InputEntity pop()
                    throws java.io.IOException

  Throws:
    `java.io.IOException`

### isEOF

    public boolean isEOF()
                  throws java.io.IOException,
                         org.xml.sax.SAXException

  returns true iff there's no more data to consume ...

  Throws:
    `java.io.IOException`
    `org.xml.sax.SAXException`

### getEncoding

    public java.lang.String getEncoding()

  Returns the name of the encoding in use, else null; the name returned is in as standard a form as we can get.

### getNameChar

    public char getNameChar()
                     throws java.io.IOException,
                            org.xml.sax.SAXException

  returns the next name char, or NUL ... faster than getc(), and the common "name or nmtoken must be next" case won't need ungetc().

  Throws:
    `java.io.IOException`
    `org.xml.sax.SAXException`

### getc

    public char getc()
              throws java.io.IOException,
                     org.xml.sax.SAXException

  gets the next Java character -- might be part of an XML text character represented by a surrogate pair, or be the end of the entity.

  Throws:
    `java.io.IOException`
    `org.xml.sax.SAXException`

### peekc

    public boolean peekc(char c)
                  throws java.io.IOException,
                         org.xml.sax.SAXException

  lookahead one character

  Throws:
    `java.io.IOException`
    `org.xml.sax.SAXException`

### ungetc

    public void ungetc()

  two character pushback is guaranteed

### maybeWhitespace

    public boolean maybeWhitespace()
                            throws java.io.IOException,
                                   org.xml.sax.SAXException

  optional grammatical whitespace (discarded)

  Throws:
    `java.io.IOException`
    `org.xml.sax.SAXException`

### parsedContent

    public boolean parsedContent(DTDEventListener docHandler)
                          throws java.io.IOException,
                                 org.xml.sax.SAXException

  normal content; whitespace in markup may be handled specially if the parser uses the content model.

  content terminates with markup delimiter characters, namely ampersand (&amp;) and left angle bracket (&lt;).

  the document handler's characters() method is called on all the content found

  Throws:
    `java.io.IOException`
    `org.xml.sax.SAXException`

### unparsedContent

    public boolean unparsedContent(DTDEventListener docHandler,
                                   boolean ignorableWhitespace,
                                   java.lang.String whitespaceInvalidMessage)
                            throws java.io.IOException,
                                   org.xml.sax.SAXException

  CDATA -- character data, terminated by "]]>" and optionally including unescaped markup delimiters (ampersand and left angle bracket). This should otherwise be exactly like character data, modulo differences in error report details.

  The document handler's characters() or ignorableWhitespace() methods are invoked on all the character data found

  Parameters:
    `docHandler` - gets callbacks for character data
    `ignorableWhitespace` - if true, whitespace characters will be reported using docHandler.ignorableWhitespace(); implicitly, non-whitespace characters will cause validation errors
    `whitespaceInvalidMessage` - if true, ignorable whitespace causes a validity error report as well as a callback
  Throws:
    `java.io.IOException`
    `org.xml.sax.SAXException`

### ignorableWhitespace

    public boolean ignorableWhitespace(DTDEventListener handler)
                                throws java.io.IOException,
                                       org.xml.sax.SAXException

  whitespace in markup (flagged to app, discardable)

  the document handler's ignorableWhitespace() method is called on all the whitespace found

  Throws:
    `java.io.IOException`
    `org.xml.sax.SAXException`

### peek

    public boolean peek(java.lang.String next,
                        char[] chars)
                 throws java.io.IOException,
                        org.xml.sax.SAXException

  returns false iff 'next' string isn't as provided, else skips that text and returns true.

  NOTE: two alternative string representations are both passed in, since one is faster.

  Throws:
    `java.io.IOException`
    `org.xml.sax.SAXException`

### startRemembering

    public void startRemembering()

### rememberText

    public java.lang.String rememberText()

### getPublicId

    public java.lang.String getPublicId()

  Returns the public ID of this input source, if known

### getSystemId

    public java.lang.String getSystemId()

  Returns the system ID of this input source, if known

### getLineNumber

    public int getLineNumber()

  Returns the current line number in this input source

### getColumnNumber

    public int getColumnNumber()

  returns -1; maintaining column numbers hurts performance

### close

    public void close()

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