org.apache.cocoon.acting.modular
Class DatabaseUpdateAction
java.lang.Object
org.apache.avalon.framework.logger.AbstractLogEnabled
org.apache.cocoon.acting.AbstractAction
org.apache.cocoon.acting.AbstractConfigurableAction
org.apache.cocoon.acting.ConfigurableServiceableAction
org.apache.cocoon.acting.AbstractComplementaryConfigurableAction
org.apache.cocoon.acting.modular.DatabaseAction
org.apache.cocoon.acting.modular.DatabaseUpdateAction
- All Implemented Interfaces:
- Disposable, Component, Configurable, LogEnabled, Serviceable, ThreadSafe, Action
public class DatabaseUpdateAction
- extends DatabaseAction
Updates a record in a database. The action can update one or more
tables, and can update more than one row to a table at a time.
- Version:
- CVS $Id: DatabaseUpdateAction.html 1304258 2012-03-23 10:09:27Z ilgrosso $
- Author:
- Christian Haul
Fields inherited from interface org.apache.cocoon.acting.Action |
ROLE |
Method Summary |
protected Object[][] |
getColumnValues(Configuration tableConf,
DatabaseAction.CacheHelper queryData,
Map objectModel)
Fetch all values for all columns that are needed to do the
database operation. |
protected DatabaseAction.CacheHelper |
getQuery(Configuration table,
Map modeTypes,
Map defaultModeNames)
Get the String representation of the PreparedStatement. |
protected boolean |
honourAutoIncrement()
determine whether autoincrement columns should be honoured by
this operation. |
protected int |
processRow(Map objectModel,
Connection conn,
PreparedStatement statement,
String outputMode,
Configuration table,
DatabaseAction.CacheHelper queryData,
Object[][] columnValues,
int rowIndex,
Map results)
set all necessary ? |
protected String |
selectMode(boolean isAutoIncrement,
Map modes)
determine which mode to use as default mode
here: UPDATE
highly specific to operation INSERT / UPDATE / DELETE / SELECT |
Methods inherited from class org.apache.cocoon.acting.modular.DatabaseAction |
act, configure, dispose, fillModes, getColumnValue, getDataSource, getMode, getOutputName, getOutputName, isLargeObject, processTable, service, setColumn, setColumn, setOutput, setOutputAttribute |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
DatabaseUpdateAction
public DatabaseUpdateAction()
selectMode
protected String selectMode(boolean isAutoIncrement,
Map modes)
- determine which mode to use as default mode
here: UPDATE
highly specific to operation INSERT / UPDATE / DELETE / SELECT
- Specified by:
selectMode
in class DatabaseAction
honourAutoIncrement
protected boolean honourAutoIncrement()
- determine whether autoincrement columns should be honoured by
this operation. This is usually snsible only for INSERTs.
- Specified by:
honourAutoIncrement
in class DatabaseAction
getColumnValues
protected Object[][] getColumnValues(Configuration tableConf,
DatabaseAction.CacheHelper queryData,
Map objectModel)
throws ConfigurationException,
ServiceException
- Fetch all values for all columns that are needed to do the
database operation.
- Throws:
ConfigurationException
ServiceException
getQuery
protected DatabaseAction.CacheHelper getQuery(Configuration table,
Map modeTypes,
Map defaultModeNames)
throws ConfigurationException,
ServiceException
- Get the String representation of the PreparedStatement. This is
mapped to the Configuration object itself, so if it doesn't exist,
it will be created.
- Specified by:
getQuery
in class DatabaseAction
- Parameters:
table
- the table's configuration object
- Returns:
- the insert query as a string
- Throws:
ConfigurationException
ServiceException
processRow
protected int processRow(Map objectModel,
Connection conn,
PreparedStatement statement,
String outputMode,
Configuration table,
DatabaseAction.CacheHelper queryData,
Object[][] columnValues,
int rowIndex,
Map results)
throws SQLException,
ConfigurationException,
Exception
- set all necessary ?s and execute the query
- Specified by:
processRow
in class DatabaseAction
- Throws:
SQLException
ConfigurationException
Exception
Copyright © 1999-2010 The Apache Software Foundation. All Rights Reserved.