Class AbstractPage
- java.lang.Object
-
- com.opensymphony.module.sitemesh.parser.AbstractPage
-
- All Implemented Interfaces:
Page
- Direct Known Subclasses:
AbstractHTMLPage
public abstract class AbstractPage extends Object implements Page
Abstract implementation ofPage.Contains base methods for storing and accessing page properties. Also stores
pageDataas byte[] and implements write???() methods.Concrete implementations need only set the
pageDataand calladdProperty(java.lang.String,java.lang.String)to add all the required information.- Version:
- $Revision: 1.6 $
- Author:
- Joe Walnes
- See Also:
Page
-
-
Field Summary
Fields Modifier and Type Field Description protected char[]pageDataDate of page contents.private MappropertiesMap of all properties.private javax.servlet.http.HttpServletRequestrequestRequestURI of original Page.
-
Constructor Summary
Constructors Constructor Description AbstractPage()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voidaddProperty(String name, String value)Add a property to the properties list.StringgetBody()Convenience method to return the contents of the<body>tag.booleangetBooleanProperty(String name)Get a property embedded into thePageas aboolean.intgetContentLength()Length of thePage, in the format before it was parsed.intgetIntProperty(String name)Get a property embedded into thePageas anint.longgetLongProperty(String name)Get a property embedded into thePageas along.StringgetPage()Convenience method to return the contents of thePagein its original format.MapgetProperties()Get aMaprepresenting all the properties in thePage.StringgetProperty(String name)Get a property embedded into thePageas aString.String[]getPropertyKeys()Get all available property keys for thePage.javax.servlet.http.HttpServletRequestgetRequest()Return the request of the original page.StringgetTitle()Return title of from "title" property.booleanisPropertySet(String name)Determine whether a property embedded into thePagehas been set.protected static StringnoNull(String in)Return String as is, or "" if null.voidsetRequest(javax.servlet.http.HttpServletRequest request)Create snapshot of Request.abstract voidwriteBody(Writer out)Write data of html<body>tag.voidwritePage(Writer out)Write the entire contents of thePage, in the format before it was parsed, to theWriter.
-
-
-
Field Detail
-
properties
private final Map properties
Map of all properties. Key is String. Value is java.util.List of multiple String values.
-
pageData
protected char[] pageData
Date of page contents.
-
request
private javax.servlet.http.HttpServletRequest request
RequestURI of original Page.
-
-
Method Detail
-
writePage
public void writePage(Writer out) throws IOException
Description copied from interface:PageWrite the entire contents of thePage, in the format before it was parsed, to theWriter.- Specified by:
writePagein interfacePage- Parameters:
out- Writer to write to.- Throws:
IOException- Rethrown if cannot write to writer.
-
getPage
public String getPage()
Description copied from interface:PageConvenience method to return the contents of thePagein its original format.- Specified by:
getPagein interfacePage- See Also:
Page.writePage(java.io.Writer)
-
writeBody
public abstract void writeBody(Writer out) throws IOException
Write data of html<body>tag.Must be implemented. Data written should not actually contain the body tags, but all the data in between.
- Specified by:
writeBodyin interfacePage- Throws:
IOException
-
getBody
public String getBody()
Description copied from interface:PageConvenience method to return the contents of the<body>tag.- Specified by:
getBodyin interfacePage- See Also:
Page.writeBody(java.io.Writer)
-
getTitle
public String getTitle()
Return title of from "title" property. Never returns null.
-
getContentLength
public int getContentLength()
Description copied from interface:PageLength of thePage, in the format before it was parsed.- Specified by:
getContentLengthin interfacePage- Returns:
- Length of page data (in number of bytes).
-
getProperty
public String getProperty(String name)
Description copied from interface:PageGet a property embedded into thePageas aString.- Specified by:
getPropertyin interfacePage- Parameters:
name- Name of property- Returns:
- Property value
-
getIntProperty
public int getIntProperty(String name)
Description copied from interface:PageGet a property embedded into thePageas anint. Returns 0 if property not specified or not valid number.- Specified by:
getIntPropertyin interfacePage- Parameters:
name- Name of property- Returns:
- Property value
-
getLongProperty
public long getLongProperty(String name)
Description copied from interface:PageGet a property embedded into thePageas along. Returns 0L if property not specified or not valid number.- Specified by:
getLongPropertyin interfacePage- Parameters:
name- Name of property- Returns:
- Property value
-
getBooleanProperty
public boolean getBooleanProperty(String name)
Description copied from interface:PageGet a property embedded into thePageas aboolean. Returns true if value starts with '1', 't' or 'y' (case-insensitive) - otherwise returns false.- Specified by:
getBooleanPropertyin interfacePage- Parameters:
name- Name of property- Returns:
- Property value
-
isPropertySet
public boolean isPropertySet(String name)
Description copied from interface:PageDetermine whether a property embedded into thePagehas been set.- Specified by:
isPropertySetin interfacePage- Parameters:
name- Name of property- Returns:
- Whether it has been set
-
getPropertyKeys
public String[] getPropertyKeys()
Description copied from interface:PageGet all available property keys for thePage.- Specified by:
getPropertyKeysin interfacePage- Returns:
- Property keys
-
getProperties
public Map getProperties()
Description copied from interface:PageGet aMaprepresenting all the properties in thePage.- Specified by:
getPropertiesin interfacePage- Returns:
- Properties map
-
getRequest
public javax.servlet.http.HttpServletRequest getRequest()
Description copied from interface:PageReturn the request of the original page.- Specified by:
getRequestin interfacePage- See Also:
Page.getRequest()
-
setRequest
public void setRequest(javax.servlet.http.HttpServletRequest request)
Create snapshot of Request.- Specified by:
setRequestin interfacePage- See Also:
Page.getRequest()
-
addProperty
public void addProperty(String name, String value)
Add a property to the properties list.- Specified by:
addPropertyin interfacePage- Parameters:
name- Name of propertyvalue- Value of property
-
-