Class AbstractPage
- java.lang.Object
-
- com.opensymphony.module.sitemesh.parser.AbstractPage
-
- All Implemented Interfaces:
Page
- Direct Known Subclasses:
AbstractHTMLPage
,UnParsedPage
public abstract class AbstractPage extends java.lang.Object implements Page
Abstract implementation ofPage
.Contains base methods for storing and accessing page properties. Also stores
pageData
as byte[] and implements write???() methods.Concrete implementations need only set the
pageData
and calladdProperty(java.lang.String,java.lang.String)
to add all the required information.- Version:
- $Revision: 1.2 $
- Author:
- Joe Walnes
- See Also:
Page
-
-
Field Summary
Fields Modifier and Type Field Description (package private) char[]
pageData
Date of page contents.private java.util.Map
properties
Map of all properties.private javax.servlet.http.HttpServletRequest
request
RequestURI 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 void
addProperty(java.lang.String name, java.lang.String value)
Add a property to the properties list.boolean
getBooleanProperty(java.lang.String name)
Get a property embedded into thePage
as aboolean
.int
getContentLength()
Length of thePage
, in the format before it was parsed.int
getIntProperty(java.lang.String name)
Get a property embedded into thePage
as anint
.long
getLongProperty(java.lang.String name)
Get a property embedded into thePage
as along
.java.util.Map
getProperties()
Get aMap
representing all the properties in thePage
.java.lang.String
getProperty(java.lang.String name)
Get a property embedded into thePage
as aString
.java.lang.String[]
getPropertyKeys()
Get all available property keys for thePage
.javax.servlet.http.HttpServletRequest
getRequest()
Return the request of the original page.java.lang.String
getTitle()
Return title of from "title" property.boolean
isPropertySet(java.lang.String name)
Determine whether a property embedded into thePage
has been set.protected static java.lang.String
noNull(java.lang.String in)
Return String as is, or "" if null.void
setRequest(javax.servlet.http.HttpServletRequest request)
Create snapshot of Request.abstract void
writeBody(java.io.Writer out)
Write data of html<body>
tag.void
writePage(java.io.Writer out)
Write the entire contents of thePage
, in the format before it was parsed, to theWriter
.
-
-
-
Method Detail
-
writePage
public void writePage(java.io.Writer out) throws java.io.IOException
Description copied from interface:Page
Write the entire contents of thePage
, in the format before it was parsed, to theWriter
.
-
writeBody
public abstract void writeBody(java.io.Writer out) throws java.io.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.
-
getTitle
public java.lang.String getTitle()
Return title of from "title" property. Never returns null.
-
getContentLength
public int getContentLength()
Description copied from interface:Page
Length of thePage
, in the format before it was parsed.- Specified by:
getContentLength
in interfacePage
- Returns:
- Length of page data (in number of bytes).
-
getProperty
public java.lang.String getProperty(java.lang.String name)
Description copied from interface:Page
Get a property embedded into thePage
as aString
.- Specified by:
getProperty
in interfacePage
- Parameters:
name
- Name of property- Returns:
- Property value
-
getIntProperty
public int getIntProperty(java.lang.String name)
Description copied from interface:Page
Get a property embedded into thePage
as anint
. Returns 0 if property not specified or not valid number.- Specified by:
getIntProperty
in interfacePage
- Parameters:
name
- Name of property- Returns:
- Property value
-
getLongProperty
public long getLongProperty(java.lang.String name)
Description copied from interface:Page
Get a property embedded into thePage
as along
. Returns 0L if property not specified or not valid number.- Specified by:
getLongProperty
in interfacePage
- Parameters:
name
- Name of property- Returns:
- Property value
-
getBooleanProperty
public boolean getBooleanProperty(java.lang.String name)
Description copied from interface:Page
Get a property embedded into thePage
as aboolean
. Returns true if value starts with '1', 't' or 'y' (case-insensitive) - otherwise returns false.- Specified by:
getBooleanProperty
in interfacePage
- Parameters:
name
- Name of property- Returns:
- Property value
-
isPropertySet
public boolean isPropertySet(java.lang.String name)
Description copied from interface:Page
Determine whether a property embedded into thePage
has been set.- Specified by:
isPropertySet
in interfacePage
- Parameters:
name
- Name of property- Returns:
- Whether it has been set
-
getPropertyKeys
public java.lang.String[] getPropertyKeys()
Description copied from interface:Page
Get all available property keys for thePage
.- Specified by:
getPropertyKeys
in interfacePage
- Returns:
- Property keys
-
getProperties
public java.util.Map getProperties()
Description copied from interface:Page
Get aMap
representing all the properties in thePage
.- Specified by:
getProperties
in interfacePage
- Returns:
- Properties map
-
getRequest
public javax.servlet.http.HttpServletRequest getRequest()
Description copied from interface:Page
Return the request of the original page.- Specified by:
getRequest
in interfacePage
- See Also:
Page.getRequest()
-
setRequest
public void setRequest(javax.servlet.http.HttpServletRequest request)
Create snapshot of Request.- Specified by:
setRequest
in interfacePage
- See Also:
Page.getRequest()
-
addProperty
public void addProperty(java.lang.String name, java.lang.String value)
Add a property to the properties list.- Specified by:
addProperty
in interfacePage
- Parameters:
name
- Name of propertyvalue
- Value of property
-
noNull
protected static java.lang.String noNull(java.lang.String in)
Return String as is, or "" if null. (Prevents NullPointerExceptions)
-
-