|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.openjpa.jdbc.kernel.AbstractJDBCSeq
public abstract class AbstractJDBCSeq
Abstract sequence implementation. Handles obtaining the proper connection to used based on whether the sequence is transactional and whether a second datasource is configured.
Field Summary | |
---|---|
protected Object |
current
|
protected int |
type
|
Fields inherited from interface org.apache.openjpa.kernel.Seq |
---|
TYPE_CONTIGUOUS, TYPE_DEFAULT, TYPE_NONTRANSACTIONAL, TYPE_TRANSACTIONAL |
Constructor Summary | |
---|---|
AbstractJDBCSeq()
|
Method Summary | |
---|---|
void |
addSchema(ClassMapping mapping,
SchemaGroup group)
No-op. |
void |
allocate(int additional,
StoreContext ctx,
ClassMetaData meta)
|
protected void |
allocateInternal(int additional,
JDBCStore store,
ClassMapping mapping)
Allocate additional sequence values. |
void |
close()
No-op. |
protected void |
closeConnection(Connection conn)
Close the current connection. |
Object |
current(StoreContext ctx,
ClassMetaData meta)
|
protected Object |
currentInternal(JDBCStore store,
ClassMapping mapping)
Return the current sequence object. |
abstract JDBCConfiguration |
getConfiguration()
Return the JDBCConfiguration for this sequence. |
protected Connection |
getConnection(JDBCStore store)
Return the connection to use based on the type of sequence. |
Object |
next(StoreContext ctx,
ClassMetaData meta)
|
protected abstract Object |
nextInternal(JDBCStore store,
ClassMapping mapping)
Return the next sequence object. |
void |
setType(int type)
Records the sequence type. |
protected boolean |
suspendInJTA()
Detect whether or not OpenJPA should suspend the transaction in a managed environment. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected int type
protected Object current
Constructor Detail |
---|
public AbstractJDBCSeq()
Method Detail |
---|
public void setType(int type)
setType
in interface Seq
public Object next(StoreContext ctx, ClassMetaData meta)
next
in interface Seq
public Object current(StoreContext ctx, ClassMetaData meta)
current
in interface Seq
public void allocate(int additional, StoreContext ctx, ClassMetaData meta)
allocate
in interface Seq
public void addSchema(ClassMapping mapping, SchemaGroup group)
addSchema
in interface JDBCSeq
public void close()
close
in interface Seq
close
in interface org.apache.openjpa.lib.util.Closeable
protected abstract Object nextInternal(JDBCStore store, ClassMapping mapping) throws Exception
Exception
public abstract JDBCConfiguration getConfiguration()
JDBCConfiguration
for this sequence.
protected Object currentInternal(JDBCStore store, ClassMapping mapping) throws Exception
Exception
protected void allocateInternal(int additional, JDBCStore store, ClassMapping mapping) throws Exception
Exception
protected Connection getConnection(JDBCStore store) throws SQLException
Return the connection to use based on the type of sequence. This connection will automatically be closed; do not close it.
TYPE_TRANSACTIONAL
or
TYPE_CONTIGUOUS
the connection from the StoreManager
will be returned.
Otherwise a new connection will be obtained using DataSource2 from the current configuration. In this case autocommit is set to false prior to returning the connection.
SQLException
protected void closeConnection(Connection conn)
TYPE_TRANSACTIONAL
or TYPE_CONTIGUOUS
we will decrement the ref count. Otherwise the connection will be
committed and then closed.
protected boolean suspendInJTA()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |