org.apache.cocoon.components.modules.database
Class PgsqlAutoIncrementModule
java.lang.Object
|
+--org.apache.cocoon.components.modules.database.PgsqlAutoIncrementModule
- All Implemented Interfaces:
- AutoIncrementModule, org.apache.avalon.framework.component.Component, org.apache.avalon.framework.thread.ThreadSafe
- public class PgsqlAutoIncrementModule
- extends java.lang.Object
- implements AutoIncrementModule, org.apache.avalon.framework.thread.ThreadSafe
Abstraction layer to encapsulate different DBMS behaviour for autoincrement columns.
Here: PostgreSQL
sequences. The default sequence name is constructed from the table
name, a "_", the column name, and the suffix "_seq". To use a
different sequence name, set an attribute "sequence" for the
modeConf e.g. <mode name="auto" type="auto" sequence="my_sequence"/>.
- Version:
- CVS $Id: PgsqlAutoIncrementModule.java,v 1.1.2.1 2002/11/17 19:12:50 haul Exp $
- Author:
- Philipp Hahn
Method Summary |
java.lang.Object |
getPostValue(org.apache.avalon.framework.configuration.Configuration tableConf,
org.apache.avalon.framework.configuration.Configuration columnConf,
org.apache.avalon.framework.configuration.Configuration modeConf,
java.sql.Connection conn,
java.sql.Statement stmt,
java.util.Map objectModel)
Return key attribute value of last inserted row. |
java.lang.Object |
getPreValue(org.apache.avalon.framework.configuration.Configuration tableConf,
org.apache.avalon.framework.configuration.Configuration columnConf,
org.apache.avalon.framework.configuration.Configuration modeConf,
java.sql.Connection conn,
java.util.Map objectModel)
Provide the value for the key attribute column.
|
java.lang.String |
getSubquery(org.apache.avalon.framework.configuration.Configuration tableConf,
org.apache.avalon.framework.configuration.Configuration columnConf,
org.apache.avalon.framework.configuration.Configuration modeConf)
Provide subquery string for the key attribute column.
|
boolean |
includeAsValue()
Boolean whether the key attribute needs to be included in the
insert query as an attribute value (no subquery). |
boolean |
includeInQuery()
Boolean whether the key attribute column needs to be included
in the insert query. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
PgsqlAutoIncrementModule
public PgsqlAutoIncrementModule()
getPostValue
public java.lang.Object getPostValue(org.apache.avalon.framework.configuration.Configuration tableConf,
org.apache.avalon.framework.configuration.Configuration columnConf,
org.apache.avalon.framework.configuration.Configuration modeConf,
java.sql.Connection conn,
java.sql.Statement stmt,
java.util.Map objectModel)
throws java.sql.SQLException,
org.apache.avalon.framework.configuration.ConfigurationException
- Description copied from interface:
AutoIncrementModule
- Return key attribute value of last inserted row.
- Specified by:
getPostValue
in interface AutoIncrementModule
- Following copied from interface:
org.apache.cocoon.components.modules.database.AutoIncrementModule
- Parameters:
name
- a String that specifies what the caller thinks
would identify a set of parameters. This is mainly a fallback
if no modeConf is present.tableConf
- Table's configuration from resource description.columnConf
- column's configuration from resource description.mdoeConf
- this mode's configuration from resource description.conn
- Connectionstmt
- Statement that was executed to insert the last row.request
- The request object- Returns:
- value representing the last key value value.
includeInQuery
public boolean includeInQuery()
- Description copied from interface:
AutoIncrementModule
- Boolean whether the key attribute column needs to be included
in the insert query.
- Specified by:
includeInQuery
in interface AutoIncrementModule
- Following copied from interface:
org.apache.cocoon.components.modules.database.AutoIncrementModule
- Returns:
- true if the column is needed, false if the column
should be skipped.
includeAsValue
public boolean includeAsValue()
- Description copied from interface:
AutoIncrementModule
- Boolean whether the key attribute needs to be included in the
insert query as an attribute value (no subquery).
- Specified by:
includeAsValue
in interface AutoIncrementModule
- Following copied from interface:
org.apache.cocoon.components.modules.database.AutoIncrementModule
- Returns:
- true if a value is needed, false if a subquery
expression is used or the column is skipped altogether.
getPreValue
public java.lang.Object getPreValue(org.apache.avalon.framework.configuration.Configuration tableConf,
org.apache.avalon.framework.configuration.Configuration columnConf,
org.apache.avalon.framework.configuration.Configuration modeConf,
java.sql.Connection conn,
java.util.Map objectModel)
throws java.sql.SQLException,
org.apache.avalon.framework.configuration.ConfigurationException
- Description copied from interface:
AutoIncrementModule
- Provide the value for the key attribute column.
If a value for the key value column is needed (i.e. the column
is not skipped), this value is computed here.
- Specified by:
getPreValue
in interface AutoIncrementModule
- Following copied from interface:
org.apache.cocoon.components.modules.database.AutoIncrementModule
- Parameters:
tableConf
- Table's configuration from resource description.columnConf
- column's configuration from resource description.mdoeConf
- this mode's configuration from resource description.conn
- Connectionrequest
- The request objectidx
- In case of multiple rows to be inserted, index to the desired row- Returns:
- exact value for key attribute column
getSubquery
public java.lang.String getSubquery(org.apache.avalon.framework.configuration.Configuration tableConf,
org.apache.avalon.framework.configuration.Configuration columnConf,
org.apache.avalon.framework.configuration.Configuration modeConf)
throws org.apache.avalon.framework.configuration.ConfigurationException
- Description copied from interface:
AutoIncrementModule
- Provide subquery string for the key attribute column.
If a value for the autoincrement column is needed (i.e. the
column is not skipped), and the value can be determined through
a nested subquery, this function provides the subquery as a
string.
- Specified by:
getSubquery
in interface AutoIncrementModule
- Following copied from interface:
org.apache.cocoon.components.modules.database.AutoIncrementModule
- Returns:
- subquery string for autoincrement column.
Copyright � 1999-2002 Apache Software Foundation. All Rights Reserved.