|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--org.apache.avalon.framework.logger.AbstractLoggable | +--org.apache.cocoon.reading.AbstractReader | +--org.apache.cocoon.reading.DatabaseReader
This Reader pulls a resource from a database. It is configured with the Connection to use, parameters specify the table and column to pull the image from, and source specifies the source key information.
Fields inherited from class org.apache.cocoon.reading.AbstractReader |
objectModel, out, parameters, resolver, source |
Fields inherited from interface org.apache.cocoon.reading.Reader |
ROLE |
Constructor Summary | |
DatabaseReader()
|
Method Summary | |
void |
compose(org.apache.avalon.framework.component.ComponentManager manager)
Compose the object so that we get the Component s we need from
the ComponentManager . |
void |
configure(org.apache.avalon.framework.configuration.Configuration conf)
Configure the Reader so that we can use the same database
for all instances. |
void |
dispose()
dispose() |
void |
generate()
Generates the resource we need to retrieve verbatim from the database. |
long |
generateKey()
Generate the unique key. |
CacheValidity |
generateValidity()
Generate the validity object. |
java.lang.String |
getMimeType()
Get the mime-type of the output of this Serializer
This default implementation returns null to indicate that the
mime-type specified in the sitemap is to be used |
java.lang.String |
getQuery()
This method builds the query string used for accessing the database. |
boolean |
modifiedSince(java.sql.ResultSet set,
Request request,
Response response)
Tests whether a resource has been modified or not. |
void |
recycle()
Recycle the component |
void |
serialize(Response response)
This method actually performs the serialization. |
void |
setup(SourceResolver resolver,
java.util.Map objectModel,
java.lang.String src,
org.apache.avalon.framework.parameters.Parameters par)
Set the SourceResolver the object model Map ,
the source and sitemap Parameters used to process the request. |
Methods inherited from class org.apache.cocoon.reading.AbstractReader |
getLastModified, setOutputStream, shouldSetContentLength |
Methods inherited from class org.apache.avalon.framework.logger.AbstractLoggable |
getLogger, setLogger, setupLogger, setupLogger, setupLogger |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public DatabaseReader()
Method Detail |
public void compose(org.apache.avalon.framework.component.ComponentManager manager) throws org.apache.avalon.framework.component.ComponentException
Component
s we need from
the ComponentManager
.compose
in interface org.apache.avalon.framework.component.Composable
public void configure(org.apache.avalon.framework.configuration.Configuration conf) throws org.apache.avalon.framework.configuration.ConfigurationException
Reader
so that we can use the same database
for all instances.configure
in interface org.apache.avalon.framework.configuration.Configurable
public void setup(SourceResolver resolver, java.util.Map objectModel, java.lang.String src, org.apache.avalon.framework.parameters.Parameters par) throws ProcessingException, org.xml.sax.SAXException, java.io.IOException
SourceResolver
the object model Map
,
the source and sitemap Parameters
used to process the request.setup
in class AbstractReader
public void generate() throws ProcessingException, org.xml.sax.SAXException, java.io.IOException
<parameter name="table" value="database_table_name"/> <parameter name="image" value="database_resource_column_name"/> <parameter name="key" value="database_lookup_key_column_name"/>Please note that if any of those parameters are missing, this
Reader
cannot function. There are a number of other
parameters that allow you to provide hints for the reader to
optimize resource use:
<parameter name="last-modified" value="database_timestamp_column_name"/> <parameter name="content-type" value="content_mime_type"/> <parameter name="expires" value="number_of_millis_before_refresh"/> <parameter name="where" value="alternate_key = 'foo'"/> <parameter name="order-by" value="alternate_key DESC"/>Lastly, the
key
value is derived from the value of
the source
string.public java.lang.String getQuery() throws java.lang.Exception
public boolean modifiedSince(java.sql.ResultSet set, Request request, Response response) throws java.sql.SQLException
Timestamp
column.
In the absence of such a column this method always
returns true
. This is because databases are much
more prone to change than filesystems, and don't have intrinsic
timestamps on column updates.public void serialize(Response response) throws java.io.IOException, java.sql.SQLException
public long generateKey()
generateKey
in interface Cacheable
public CacheValidity generateValidity()
generateValidity
in interface Cacheable
null
if the
component is currently not cacheable.public void recycle()
AbstractReader
recycle
in class AbstractReader
public void dispose()
dispose
in interface org.apache.avalon.framework.activity.Disposable
public java.lang.String getMimeType()
AbstractReader
Serializer
This default implementation returns null to indicate that the
mime-type specified in the sitemap is to be usedgetMimeType
in class AbstractReader
|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |