org.apache.jasper.compiler
Class JspReader

java.lang.Object
  extended byorg.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, ErrorDispatcher err)
           
 
Method Summary
 void advance(int n)
           
 java.lang.String getFile(int fileid)
           
 boolean hasMoreInput()
           
 Mark mark()
           
 boolean matches(java.lang.String string)
          search the stream for a match to a string
 boolean matchesETag(java.lang.String tagName)
           
 boolean matchesIgnoreCase(java.lang.String string)
           
 int nextChar()
           
 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.
 Mark skipUntilETag(java.lang.String tag)
          Skip until the given end tag is matched in the stream.
 Mark skipUntilIgnoreEsc(java.lang.String limit)
          Skip until the given string is matched in the stream, but ignoring chars initially escaped by a '\'.
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,
                    ErrorDispatcher err)
             throws JasperException,
                    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 JasperException
Throws:
JasperException

hasMoreInput

public boolean hasMoreInput()
                     throws JasperException
Throws:
JasperException

nextChar

public int nextChar()
             throws JasperException
Throws:
JasperException

peekChar

public int peekChar()

mark

public Mark mark()

reset

public void reset(Mark mark)

matchesIgnoreCase

public boolean matchesIgnoreCase(java.lang.String string)
                          throws JasperException
Throws:
JasperException

matches

public boolean matches(java.lang.String string)
                throws JasperException
search the stream for a match to a string

Parameters:
string - The string to match
Returns:
true is one is found, the current position in stream is positioned after the search string, false otherwise, position in stream unchanged.
Throws:
JasperException

matchesETag

public boolean matchesETag(java.lang.String tagName)
                    throws JasperException
Throws:
JasperException

advance

public void advance(int n)
             throws JasperException
Throws:
JasperException

skipSpaces

public int skipSpaces()
               throws JasperException
Throws:
JasperException

skipUntil

public Mark skipUntil(java.lang.String limit)
               throws JasperException
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 (positioned immediately before the search string) if found, null otherwise.
Throws:
JasperException

skipUntilIgnoreEsc

public Mark skipUntilIgnoreEsc(java.lang.String limit)
                        throws JasperException
Skip until the given string is matched in the stream, but ignoring chars initially escaped by a '\'. When returned, the context is positioned past the end of the match.

Returns:
A non-null Mark instance (positioned immediately before the search string) if found, null otherwise.
Throws:
JasperException

skipUntilETag

public Mark skipUntilETag(java.lang.String tag)
                   throws JasperException
Skip until the given end tag is matched in the stream. When returned, the context is positioned past the end of the tag.

Parameters:
tag - The name of the tag whose ETag () to match.
Returns:
A non-null Mark instance (positioned immediately before the ETag) if found, null otherwise.
Throws:
JasperException

parseToken

public java.lang.String parseToken(boolean quoted)
                            throws JasperException
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.
Throws:
JasperException

setSingleFile

public void setSingleFile(boolean val)


Copyright © 2000 Apache Software Foundation. All Rights Reserved.