EspressReport 6.6

quadbase.common.param
Class HtmlParameterPageWriter

java.lang.Object
  extended by java.io.Writer
      extended by java.io.PrintWriter
          extended by quadbase.common.param.ParameterPageWriter
              extended by quadbase.common.param.HtmlParameterPageWriter
All Implemented Interfaces:
java.io.Closeable, java.io.Flushable, java.lang.Appendable
Direct Known Subclasses:
CssHtmlParameterPageWriter

public class HtmlParameterPageWriter
extends ParameterPageWriter

Writer that writes ParameterPage in HTML format. The entire HTML parameter page can be written by the method writePage(). Further, sub-components of the entire HTML parameter page can also be written by using the writeBody(), writeHead(), writeXXX methods.

 The following is an outline for the parameter page generated:
 

<head> // generated through the writeHead() method <link> // points to the location of the style sheet </head> <body> // generated through the writeBody() method <div> // generated through the writeTableTitle() method </div> <form> // generated through the writeBodyBody() method in the superclass <table>

<td> // display parameter titles, </td>

<td> <div> // display parameter values or inputbox, </div> </td>

// ... Repeat for each parameter </table>

<input type="submit"> // button to submit the form <input type="reset"> // button to reset the form </form> </body>

See Also:
CssHtmlParameterPageWriter

Field Summary
static java.lang.String DEFAULT_DATE_FORMAT
           
static java.lang.String DEFAULT_TIMESTAMP_FORMAT
           
protected  quadbase.common.param.HtmlWriter html
          the underlying HTML writer
protected  java.lang.String serverName
          name of the server
protected  java.lang.String servletDirectory
          path to the servlet classes (ex.
protected  java.lang.String servletName
          name of the servlet
protected  int servletRunnerPort
          the port the servlets container is running on
 
Fields inherited from class quadbase.common.param.ParameterPageWriter
alignment, backgroundColor, backgroundImage, dateParameterCalendar, dateParameterCalendarDatepicker, dateParameterSelection, dateVariable, dateVariableDatepicker, dbInfo, docTitle, extraFormContent, footer, format, header, page, paramDateFormat, paramNameArr, paramPageExportFormats, paramPageLayout, paramPageResetEnabled, paramValueArr, securityLevel, tableBackgroundColor, tableBorderColor, tableBorderThickness, tableOuterBorderOnly, targetLoc, textColor, textFont, textSize, textStyle, titleText, titleTextColor, titleTextFont, titleTextSize, titleTextStyle
 
Fields inherited from class java.io.PrintWriter
out
 
Fields inherited from class java.io.Writer
lock
 
Constructor Summary
HtmlParameterPageWriter(ParameterPage page, java.io.Writer out)
          Allocates a HtmlParameterPageWriter writing to a specified output with specified ParameterPage content.
 
Method Summary
 boolean[] getHiddenParameters()
          Gets whether each parameter is a hidden parameter with value of the parameter's default value.
protected  quadbase.common.param.HtmlWriter getHtmlWriter()
          Gets the underlying HTML Writer.
 java.lang.String[] getParamDisplayNames()
          Gets the array of parameter display names.
protected  java.lang.String getServletName()
          Gets the full address of the servlet extracted from the ParameterPage.
protected  void printCalendarJavascript(java.lang.String name, Param param)
           
protected  void printDateVariableJavascript(java.lang.String name)
           
 void setHiddenParameters(boolean[] state)
          Sets whether each parameter is a hidden parameter with value of the parameter's default value.
 void setHiddenParameterValues(java.lang.Object[] val)
          Sets whether each parameter is a hidden parameter with specific value The order of the Object[] is according to getParamDisplayNames, or the order in which the parameters appear when using report.getAllParameters().get(i).
 void setJavaScriptLibPath(java.lang.String javaScriptLibPath)
           
 void setParamDisplayNames(java.lang.String[] names)
          Sets the array of parameter display names.
 void writeBody()
          Writes the content between the <body> and </body> tags (writes tags as well) of the HTML parameter page and centers it on the page.
 void writeBodyBody()
          Writes only the main components (table title, form, parameter table, form buttons) of the contents inside the <body> and </body> tags (does not write tags) of the HTML parameter page.
protected  void writeBodyFooter()
          Writes the conclusion/footer component (the String footer that is set using ParameterPage.setFooter()) of the contents inside the <body> and </body> tags of the HTML parameter page.
protected  void writeBodyHeader()
          Writes the preface/header component (the String header that is set using ParameterPage.setHeader()) of the contents inside the <body> and </body> tags of the HTML parameter page.
protected  void writeFormButtons()
          Writes the form buttons (submit and reset).
 void writeHead()
          Writes only the content between the <head> and </head> tags of the parameter page.
protected  void writeHeadJavascript()
           
protected  void writeHiddenParamValue(java.lang.String name, java.lang.String value)
          Writes a hidden parameter value component.
 void writePage()
          Writes the entire parameter page to the output writer in HTML format.
protected  void writePageExportFormats()
          Writes the page exporting formats selection list.
protected  void writeParamName(java.lang.String paramName)
          Writes a parameter name component inside the parameter table.
 void writeParamTable()
          Writes the HTML code for the parameter table.
 void writeParamTable(boolean getDistinctValue)
           
protected  void writeParamTableCategory(java.lang.String paramName, java.lang.String tdAttributes)
          Writes a parameter table category component inside the parameter table enclosed in <TD> and </TD> tags.
protected  void writeParamTableCloseTag()
          Writes the </TABLE> tag for the parameter table.
protected  void writeParamTableMain(java.lang.String tableDataBorderColorStr, boolean getDistinctValue)
          Writes a part of the parameter table for main report parameters.
protected  void writeParamTableOpenTag()
          Writes the <TABLE> tag for the parameter table.
protected  void writeParamTableValue(java.lang.String name, java.lang.String value, java.lang.String tdAttributes)
          Writes a parameter table value component inside the parameter table enclosed in <TD> and </TD> tags.
protected  void writeParamTableValue(java.lang.String name, java.lang.String value, java.lang.String tdAttributes, Param param)
          Writes a parameter table value component inside the parameter table enclosed in <TD> and </TD> tags.
protected  void writeParamTableValues(java.lang.String name, java.lang.String selectAttributes, java.util.Vector values, java.lang.String paramValue, java.lang.String tdAttributes)
          Writes a parameter table values component inside the parameter table enclosed in <TD> and </TD> tags.
protected  void writeParamValue(java.lang.String name, java.lang.String value)
          Writes a parameter value component.
protected  void writeParamValue(java.lang.String name, java.lang.String value, Param param)
          Writes a parameter value component.
protected  void writeParamValueDate(java.lang.String name, java.lang.String value, Param param)
          Writes the parameter value component.
protected  void writeParamValues(java.lang.String name, java.lang.String attributes, java.util.Vector values, java.lang.String paramValue)
          Writes a parameter values component.
protected  void writeParamValuesOptions(java.util.Vector values, java.lang.String paramValue)
           
protected  quadbase.common.param.CompleteParamPrompt writeParamValuesOptionsYUI(java.util.Vector values, java.lang.String paramValue)
           
protected  void writeResetButton()
          Writes the reset button.
protected  void writeSubmitButton()
          Writes the submit button.
 void writeTableTitle()
          Writes the title of the parameter table.
 
Methods inherited from class quadbase.common.param.ParameterPageWriter
refresh
 
Methods inherited from class java.io.PrintWriter
append, append, append, checkError, close, flush, format, format, print, print, print, print, print, print, print, print, print, printf, printf, println, println, println, println, println, println, println, println, println, println, setError, write, write, write, write, write
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT_TIMESTAMP_FORMAT

public static final java.lang.String DEFAULT_TIMESTAMP_FORMAT
See Also:
Constant Field Values

DEFAULT_DATE_FORMAT

public static final java.lang.String DEFAULT_DATE_FORMAT
See Also:
Constant Field Values

servletName

protected java.lang.String servletName
name of the servlet


serverName

protected java.lang.String serverName
name of the server


servletDirectory

protected java.lang.String servletDirectory
path to the servlet classes (ex. servlet/)


servletRunnerPort

protected int servletRunnerPort
the port the servlets container is running on


html

protected quadbase.common.param.HtmlWriter html
the underlying HTML writer

Constructor Detail

HtmlParameterPageWriter

public HtmlParameterPageWriter(ParameterPage page,
                               java.io.Writer out)
Allocates a HtmlParameterPageWriter writing to a specified output with specified ParameterPage content.

Parameters:
page - the ParameterPage to write
out - the output to write to
Method Detail

writePage

public void writePage()
               throws java.io.IOException
Writes the entire parameter page to the output writer in HTML format.

Specified by:
writePage in class ParameterPageWriter
Throws:
java.io.IOException

writeBody

public void writeBody()
Writes the content between the <body> and </body> tags (writes tags as well) of the HTML parameter page and centers it on the page. This includes the table title, form, parameter table and form buttons.


writeBodyBody

public void writeBodyBody()
Writes only the main components (table title, form, parameter table, form buttons) of the contents inside the <body> and </body> tags (does not write tags) of the HTML parameter page.

If using CssHtmlParameterPageWriter, the following CSS Tags are used:

    <table class="paramTable">
    <td class="paramTableCategory">
    <td class="paramTableValues">
    <div class="paramValue_X"> // X represents the index of the parameter
    <select class="paramValue_X_input"> // X represents the index of the parameter
    <input class="submitButton">
    <input class="resetButton">


writeTableTitle

public void writeTableTitle()
Writes the title of the parameter table.


writeHead

public void writeHead()
Writes only the content between the <head> and </head> tags of the parameter page.


writeParamTable

public void writeParamTable()
Writes the HTML code for the parameter table.


writeParamTable

public void writeParamTable(boolean getDistinctValue)

writeParamTableMain

protected void writeParamTableMain(java.lang.String tableDataBorderColorStr,
                                   boolean getDistinctValue)
Writes a part of the parameter table for main report parameters.


writeBodyHeader

protected void writeBodyHeader()
Writes the preface/header component (the String header that is set using ParameterPage.setHeader()) of the contents inside the <body> and </body> tags of the HTML parameter page.


writeBodyFooter

protected void writeBodyFooter()
Writes the conclusion/footer component (the String footer that is set using ParameterPage.setFooter()) of the contents inside the <body> and </body> tags of the HTML parameter page.


writeParamTableOpenTag

protected void writeParamTableOpenTag()
Writes the <TABLE> tag for the parameter table.


writeParamTableCloseTag

protected void writeParamTableCloseTag()
Writes the </TABLE> tag for the parameter table.


writeParamTableCategory

protected void writeParamTableCategory(java.lang.String paramName,
                                       java.lang.String tdAttributes)
Writes a parameter table category component inside the parameter table enclosed in <TD> and </TD> tags. A parameter table category is a generalized component for all parameter names.

Parameters:
paramName - the name of the parameter
tdAttributes - the attributes for the <TD> tag

writeParamName

protected void writeParamName(java.lang.String paramName)
Writes a parameter name component inside the parameter table. A parameter name is the name of the parameter that is shown to identify a parameter.

Parameters:
paramName - the name of the parameter

writeParamTableValues

protected void writeParamTableValues(java.lang.String name,
                                     java.lang.String selectAttributes,
                                     java.util.Vector values,
                                     java.lang.String paramValue,
                                     java.lang.String tdAttributes)
Writes a parameter table values component inside the parameter table enclosed in <TD> and </TD> tags. A parameter table values component is a generalized component for all parameter values components.

Parameters:
name - the name of the INPUT element
selectAttributes - the attributes for the selection list
values - the list of possible values that the parameter can take
paramValue - the selected parameter value
tdAttributes - the attributes for the <TD> tag

writeParamTableValue

protected void writeParamTableValue(java.lang.String name,
                                    java.lang.String value,
                                    java.lang.String tdAttributes)
Writes a parameter table value component inside the parameter table enclosed in <TD> and </TD> tags. A parameter table value component is a generalized component for all parameter value components.

Parameters:
name - the name of the INPUT element
value - the default value of the text box
tdAttributes - the attributes for the <TD> tag

writeParamTableValue

protected void writeParamTableValue(java.lang.String name,
                                    java.lang.String value,
                                    java.lang.String tdAttributes,
                                    Param param)
Writes a parameter table value component inside the parameter table enclosed in <TD> and </TD> tags. A parameter table value component is a generalized component for all parameter value components.

Parameters:
name - the name of the INPUT element
value - the default value of the text box
tdAttributes - the attributes for the <TD> tag
param - the Param object that represents a parameter

writeParamValue

protected void writeParamValue(java.lang.String name,
                               java.lang.String value)
Writes a parameter value component. A parameter value component is an input text box for inputting a parameter value for a parameter.

Parameters:
name - the name of the INPUT element
value - the default value of the text box

writeHiddenParamValue

protected void writeHiddenParamValue(java.lang.String name,
                                     java.lang.String value)
Writes a hidden parameter value component. A parameter value component is an hidden input box with value from the default value of the parameter.

Parameters:
name - the name of the INPUT element
value - the default value of the parameter

writeParamValueDate

protected void writeParamValueDate(java.lang.String name,
                                   java.lang.String value,
                                   Param param)
Writes the parameter value component. If it is a date and date parameter selection is OFF and date parameter calendar is ON, prints the calendar javascript image and function call.

Parameters:
name - the name of the INPUT element
value - the default value of the text box
param - the parameter that holds information about custom date format if applicable.

writeParamValue

protected void writeParamValue(java.lang.String name,
                               java.lang.String value,
                               Param param)
Writes a parameter value component. A parameter value component is an input text box for inputting a parameter value for a parameter.

Parameters:
name - the name of the INPUT element
value - the default value of the text box
param - the Param object that represents a query parameter

writeParamValues

protected void writeParamValues(java.lang.String name,
                                java.lang.String attributes,
                                java.util.Vector values,
                                java.lang.String paramValue)
Writes a parameter values component. A parameter values component is a select list for choosing the parameter value for a parameter.

Parameters:
name - the name of the SELECT element
attributes - the String of attributes to be included in the SELECT element (ex. <SELECT attributes></SELECT>
values - a vector of values to be included in the options of the select list
paramValue - the value to be selected, if it exists in the VALUES argument

writeParamValuesOptions

protected void writeParamValuesOptions(java.util.Vector values,
                                       java.lang.String paramValue)

writeParamValuesOptionsYUI

protected quadbase.common.param.CompleteParamPrompt writeParamValuesOptionsYUI(java.util.Vector values,
                                                                               java.lang.String paramValue)

writePageExportFormats

protected void writePageExportFormats()
Writes the page exporting formats selection list.


writeFormButtons

protected void writeFormButtons()
Writes the form buttons (submit and reset).


writeSubmitButton

protected void writeSubmitButton()
Writes the submit button.


writeResetButton

protected void writeResetButton()
Writes the reset button.


printDateVariableJavascript

protected void printDateVariableJavascript(java.lang.String name)

printCalendarJavascript

protected void printCalendarJavascript(java.lang.String name,
                                       Param param)

writeHeadJavascript

protected void writeHeadJavascript()

getParamDisplayNames

public java.lang.String[] getParamDisplayNames()
Gets the array of parameter display names.


setParamDisplayNames

public void setParamDisplayNames(java.lang.String[] names)
Sets the array of parameter display names. Can be used to change the final display name of the parameter when written in HTML.


setJavaScriptLibPath

public void setJavaScriptLibPath(java.lang.String javaScriptLibPath)

setHiddenParameterValues

public void setHiddenParameterValues(java.lang.Object[] val)
Sets whether each parameter is a hidden parameter with specific value The order of the Object[] is according to getParamDisplayNames, or the order in which the parameters appear when using report.getAllParameters().get(i).

Parameters:
the - i'th parameter value

getServletName

protected java.lang.String getServletName()
Gets the full address of the servlet extracted from the ParameterPage. For example, http://<ip>:<port>/<servlet-dir>/ParamReportGeneratorServlet


getHtmlWriter

protected quadbase.common.param.HtmlWriter getHtmlWriter()
Gets the underlying HTML Writer. Use this to add HTML Tags to the parameter page.


getHiddenParameters

public boolean[] getHiddenParameters()
Gets whether each parameter is a hidden parameter with value of the parameter's default value. Please see setHiddenParameters(boolean[]) for more detail. Default is all false (nothing is hidden)


setHiddenParameters

public void setHiddenParameters(boolean[] state)
Sets whether each parameter is a hidden parameter with value of the parameter's default value. The order of the boolean[] is according to getParamDisplayNames, or the order in which the parameters appear when using report.getAllParameters().get(i).

Parameters:
the - i'th parameter is hidden if state[i] = true

EspressReport 6.6