fc.web.page
Class PageParser

java.lang.Object
  extended by fc.web.page.PageParser

public final class PageParser
extends Object

Parses a page and writes out the corresponding java file to the specified output. The parser and scanner is combined into one class here for simplicity (a seperate scanner is overkill for a simple LL(1) grammar such as molly pages).


Field Summary
static String d_buffersize
          The name ("buffersize") of the [page buffersize=....] directive
static String d_encoding
          The name ("encoding") of the [page encoding=....] directive.
static String d_mimetype
          The name ("mimetype") of the[@ mimetype=....] directive.
static String d_out
          The name ("out") of the [page out=....] directive
static String d_out_stream1
          A value ("outputstream") of the [page out=outputstream] directive
static String d_out_stream2
          A value ("outputstream") of the [page out=stream] directive
static String d_out_writer
          A value ("writer") of the [page out=writer] directive
static String d_remove_all_emptylines
          The name of the ("remove-all-emptylines") directive
static String d_remove_initial_emptylines
          The name of the ("remove-initial-whitespace") directive
static String d_src_encoding
          The name ("src-encoding") of the [page src-encoding=....] directive.
static String mimetype_none
           
 
Constructor Summary
PageParser(File contextRoot, File input, File output, String classname)
          Creates a new page parser that will use the default log obtained by Log.getDefault()
PageParser(File contextRoot, File input, File output, String classname, Log log)
          Creates a new page parser.
 
Method Summary
static void main(String[] args)
           
 void parse()
          Parses the page.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

d_mimetype

public static String d_mimetype
The name ("mimetype") of the[@ mimetype=....] directive. The value of none or an empty string will turn off writing any mimetype entirely (the user can then write a mimetype via the javax.servlet.ServletResponse.setContentType method manually).

Note, from ServletResponse

Note that the character encoding cannot be communicated via HTTP headers
if the servlet does not specify a content type; however, it is still used
to encode text written via the servlet response's writer.


mimetype_none

public static String mimetype_none

d_encoding

public static String d_encoding
The name ("encoding") of the [page encoding=....] directive.


d_src_encoding

public static String d_src_encoding
The name ("src-encoding") of the [page src-encoding=....] directive.


d_buffersize

public static String d_buffersize
The name ("buffersize") of the [page buffersize=....] directive


d_out

public static String d_out
The name ("out") of the [page out=....] directive


d_out_stream1

public static String d_out_stream1
A value ("outputstream") of the [page out=outputstream] directive


d_out_stream2

public static String d_out_stream2
A value ("outputstream") of the [page out=stream] directive


d_out_writer

public static String d_out_writer
A value ("writer") of the [page out=writer] directive


d_remove_initial_emptylines

public static String d_remove_initial_emptylines
The name of the ("remove-initial-whitespace") directive


d_remove_all_emptylines

public static String d_remove_all_emptylines
The name of the ("remove-all-emptylines") directive

Constructor Detail

PageParser

public PageParser(File contextRoot,
                  File input,
                  File output,
                  String classname)
           throws IOException
Creates a new page parser that will use the default log obtained by Log.getDefault()

Parameters:
contextRoot - absolute path to the webapp context root directory
input - absolute path to the input page file
input - absolute path to the output file (to be written to).
classname - classname to give to the generated java class.
Throws:
IOException

PageParser

public PageParser(File contextRoot,
                  File input,
                  File output,
                  String classname,
                  Log log)
           throws IOException
Creates a new page parser.

Parameters:
contextRoot - absolute path to the webapp context root directory
input - absolute path to the input page file
output - absolute path to the output file (to be written to).
classname - classname to give to the generated java class.
Throws:
IOException
Method Detail

parse

public void parse()
           throws IOException
Parses the page. If the parse is successful, the java source will be generated.

Throws:
IOException - a parse failure occurred. The java source file may or may not be properly generated or written in this case.

main

public static void main(String[] args)
                 throws IOException
Throws:
IOException