## org.apache.jasper.compiler
Class JspReader

    java.lang.Object
      |
      +--org.apache.jasper.compiler.JspReader

public class JspReader
extends java.lang.Object

JspReader is an input buffer for the JSP parser. It should allow unlimited lookahead and pushback. It also has a bunch of parsing utility methods for understanding htmlesque thingies.

Author:
  Anil K. Vijendran, Anselm Baird-Smith, Harish Prabandham, Rajiv Mordani, Mandar Raje, Danno Ferrin

Field Summary
`protected Mark` `current`

Constructor Summary
`protected` `JspReader(JspCompilationContext ctx, java.lang.String file, java.lang.String encoding, java.io.InputStreamReader reader)`

Method Summary
`void` `advance(int n)`
`java.lang.String` `getFile(int fileid)`
`boolean` `hasMoreInput()`
`Mark` `mark()`
`boolean` `matches(java.lang.String string)`
`boolean` `matchesIgnoreCase(java.lang.String string)`
`int` `nextChar()`
`void` `parseParamTag(java.util.Hashtable into)` Parse PARAM tag attributes into the given hashtable.
`void` `parsePluginParamTag(java.util.Hashtable into)` Parse jsp:param tag attributes into the given hashtable.
`org.xml.sax.Attributes` `parseTagAttributes()` Parse some tag attributes.
`org.xml.sax.Attributes` `parseTagAttributesBean()` Parse some tag attributes for Beans.
`java.lang.String` `parseToken(boolean quoted)` Parse a space delimited token.
`int` `peekChar()`
`boolean` `popFile()`
`protected int` `registerSourceFile(java.lang.String file)` Register a new source file.
`void` `reset(Mark mark)`
`void` `setSingleFile(boolean val)`
`int` `skipSpaces()`
`Mark` `skipUntil(java.lang.String limit)` Skip until the given string is matched in the stream.
`protected int` `unregisterSourceFile(java.lang.String file)` Unregister the source file.

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

Field Detail

### current

    protected Mark current

Constructor Detail

### JspReader

    protected JspReader(JspCompilationContext ctx,
                        java.lang.String file,
                        java.lang.String encoding,
                        java.io.InputStreamReader reader)
                 throws ParseException,
                        java.io.FileNotFoundException

Method Detail

### getFile

    public java.lang.String getFile(int fileid)

### registerSourceFile

    protected int registerSourceFile(java.lang.String file)

  Register a new source file. This method is used to implement file inclusion. Each included file gets a uniq identifier (which is the index in the array of source files).

  Returns:
    The index of the now registered file.

### unregisterSourceFile

    protected int unregisterSourceFile(java.lang.String file)

  Unregister the source file. This method is used to implement file inclusion. Each included file gets a uniq identifier (which is the index in the array of source files).

  Returns:
    The index of the now registered file.

### popFile

    public boolean popFile()
                    throws ParseException

    `ParseException`

### hasMoreInput

    public boolean hasMoreInput()
                         throws ParseException

    `ParseException`

### nextChar

    public int nextChar()
                 throws ParseException

    `ParseException`

### peekChar

    public int peekChar()

### mark

    public Mark mark()

### reset

    public void reset(Mark mark)

### matchesIgnoreCase

    public boolean matchesIgnoreCase(java.lang.String string)
                              throws ParseException

    `ParseException`

### matches

    public boolean matches(java.lang.String string)
                    throws ParseException

    `ParseException`

### advance

    public void advance(int n)
                 throws ParseException

    `ParseException`

### skipSpaces

    public int skipSpaces()
                   throws ParseException

    `ParseException`

### skipUntil

    public Mark skipUntil(java.lang.String limit)
                   throws ParseException

  Skip until the given string is matched in the stream. When returned, the context is positioned past the end of the match.

  Returns:
    A non-null `Mark` instance if found, null otherwise.
    `ParseException`

### parseToken

    public java.lang.String parseToken(boolean quoted)
                                throws ParseException

  Parse a space delimited token. If quoted the token will consume all characters up to a matching quote, otherwise, it consumes up to the first delimiter character.

  Parameters:
    `quoted` - If true accept quoted strings.
    `ParseException`

### parseTagAttributesBean

    public org.xml.sax.Attributes parseTagAttributesBean()
                                                  throws ParseException

  Parse some tag attributes for Beans. The stream is assumed to be positioned right after the tag name. The syntax recognized is:

       tag-attrs := empty | attr-list (">" | "-->" | %>)
       attr-list := empty | av spaces attr-list
       empty     := spaces

  Where av is defined by `parseAttributeValue`.

  Returns:
    A Hashtable mapping String instances (variable names) into String instances (variable values).
    `ParseException`

### parseTagAttributes

    public org.xml.sax.Attributes parseTagAttributes()
                                              throws ParseException

  Parse some tag attributes. The stream is assumed to be positioned right after the tag name. The syntax recognized is:

       tag-attrs := empty | attr-list (">" | "-->" | %>)
       attr-list := empty | av spaces attr-list
       empty     := spaces

  Where av is defined by `parseAttributeValue`.

  Returns:
    A Hashtable mapping String instances (variable names) into String instances (variable values).
    `ParseException`

### parseParamTag

    public void parseParamTag(java.util.Hashtable into)
                       throws ParseException

  Parse PARAM tag attributes into the given hashtable. Parses the PARAM tag as defined by:

       <PARAM tag-attributes %gt;

  Two special tag attributes are recognized here:
  1. The name attribute,
  2. The value attribute.
  The resulting name, value pair is stored in the provided hash table.

  Parameters:
    `into` - Storage for parameter values.
    `ParseException`

### parsePluginParamTag

    public void parsePluginParamTag(java.util.Hashtable into)
                             throws ParseException

  Parse jsp:param tag attributes into the given hashtable. Parses the jsp:param tag as defined by:

       <jsp:param tag-attributes %gt;

  Two special tag attributes are recognized here:
  1. The name attribute,
  2. The value attribute.
  The resulting name, value pair is stored in the provided hash table.

  Parameters:
    `into` - Storage for parameter values.
    `ParseException`

### setSingleFile

    public void setSingleFile(boolean val)

Copyright © 2000 Apache Software Foundation. All Rights Reserved.