Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.cayenne.dba.db2
Class DB2PkGenerator

    java.lang.Object
      org.apache.cayenne.dba.JdbcPkGenerator
          org.apache.cayenne.dba.db2.DB2PkGenerator

All Implemented Interfaces:
  PkGenerator

    public class DB2PkGenerator

extends JdbcPkGenerator

A sequence-based PK generator used by `DB2Adapter`.

Author:
  Andrus Adamchik

Field Summary
`static String` | `SEQUENCE_PREFIX` Deprecated. since 2.0 - other generators do not expose the default prefix.

Fields inherited from class org.apache.cayenne.dba.JdbcPkGenerator
`DEFAULT_PK_CACHE_SIZE, pkCache, pkCacheSize`

Constructor Summary
`DB2PkGenerator()`

Method Summary
`void` | `createAutoPk(DataNode node, List<DbEntity> dbEntities)` Generates necessary database objects to provide automatic primary key support.
`List<String>` | `createAutoPkStatements(List<DbEntity> dbEntities)` Creates a list of CREATE SEQUENCE statements for the list of DbEntities.
`protected String` | `createSequenceString(DbEntity entity)` Returns CREATE SEQUENCE statement for entity.
`void` | `dropAutoPk(DataNode node, List<DbEntity> dbEntities)` Drops PK sequences for all specified DbEntities.
`List<String>` | `dropAutoPkStatements(List<DbEntity> dbEntities)` Creates a list of DROP SEQUENCE statements for the list of DbEntities.
`protected String` | `dropSequenceString(DbEntity entity)` Returns DROP SEQUENCE statement.
`protected List<String>` | `getExistingSequences(DataNode node)` Fetches a list of existing sequences that might match Cayenne generated ones.
`protected long` | `longPkFromDatabase(DataNode node, DbEntity entity)` Performs primary key generation ignoring cache.
`protected int` | `pkFromDatabase(DataNode node, DbEntity ent)` Deprecated. since 3.0
`protected String` | `sequenceName(DbEntity entity)` Returns default sequence name for DbEntity.

Methods inherited from class org.apache.cayenne.dba.JdbcPkGenerator
`autoPkTableExists, binaryPK, dropAutoPkString, generatePk, generatePkForDbEntity, getPkCacheSize, pkCreateString, pkDeleteString, pkSelectString, pkTableCreateString, pkUpdateString, reset, runUpdate, setPkCacheSize`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### SEQUENCE_PREFIX

    public static final String SEQUENCE_PREFIX

  Deprecated. since 2.0 - other generators do not expose the default prefix.
  See Also:
    Constant Field Values

Constructor Detail

### DB2PkGenerator

    public DB2PkGenerator()

Method Detail

### longPkFromDatabase

    protected long longPkFromDatabase(DataNode node,
                                      DbEntity entity)
                               throws Exception

  Description copied from class: `JdbcPkGenerator`
  Performs primary key generation ignoring cache. Generates a range of primary keys as specified by "pkCacheSize" bean property.

  This method is called internally from "generatePkForDbEntity" and then generated range of key values is saved in cache for performance. Subclasses that implement different primary key generation solutions should override this method, not "generatePkForDbEntity".

  Overrides:
    `longPkFromDatabase` in class `JdbcPkGenerator`
  Throws:
    `Exception`
  Since:
    3.0

### pkFromDatabase

    protected int pkFromDatabase(DataNode node,
                                 DbEntity ent)
                          throws Exception

  Deprecated. since 3.0

  Description copied from class: `JdbcPkGenerator`
  Performs primary key generation ignoring cache. Generates a range of primary keys as specified by "pkCacheSize" bean property.

  This method is called internally from "generatePkForDbEntity" and then generated range of key values is saved in cache for performance. Subclasses that implement different primary key generation solutions should override this method, not "generatePkForDbEntity".

  Overrides:
    `pkFromDatabase` in class `JdbcPkGenerator`
  Throws:
    `Exception`

### createAutoPk

    public void createAutoPk(DataNode node,
                             List<DbEntity> dbEntities)
                      throws Exception

  Description copied from interface: `PkGenerator`
  Generates necessary database objects to provide automatic primary key support.

  Specified by:
    `createAutoPk` in interface `PkGenerator`
  Overrides:
    `createAutoPk` in class `JdbcPkGenerator`
  Parameters:
    `node` - node that provides access to a DataSource.
    `dbEntities` - a list of entities that require primary key auto-generation support
  Throws:
    `Exception`

### createAutoPkStatements

    public List<String> createAutoPkStatements(List<DbEntity> dbEntities)

  Creates a list of CREATE SEQUENCE statements for the list of DbEntities.

  Specified by:
    `createAutoPkStatements` in interface `PkGenerator`
  Overrides:
    `createAutoPkStatements` in class `JdbcPkGenerator`

### dropAutoPk

    public void dropAutoPk(DataNode node,
                           List<DbEntity> dbEntities)
                    throws Exception

  Drops PK sequences for all specified DbEntities.

  Specified by:
    `dropAutoPk` in interface `PkGenerator`
  Overrides:
    `dropAutoPk` in class `JdbcPkGenerator`
  Parameters:
    `node` - node that provides access to a DataSource.
    `dbEntities` - a list of entities whose primary key auto-generation support should be dropped.
  Throws:
    `Exception`

### dropAutoPkStatements

    public List<String> dropAutoPkStatements(List<DbEntity> dbEntities)

  Creates a list of DROP SEQUENCE statements for the list of DbEntities.

  Specified by:
    `dropAutoPkStatements` in interface `PkGenerator`
  Overrides:
    `dropAutoPkStatements` in class `JdbcPkGenerator`

### getExistingSequences

    protected List<String> getExistingSequences(DataNode node)
                                         throws SQLException

  Fetches a list of existing sequences that might match Cayenne generated ones.

  Throws:
    `SQLException`

### sequenceName

    protected String sequenceName(DbEntity entity)

  Returns default sequence name for DbEntity.

### dropSequenceString

    protected String dropSequenceString(DbEntity entity)

  Returns DROP SEQUENCE statement.

### createSequenceString

    protected String createSequenceString(DbEntity entity)

  Returns CREATE SEQUENCE statement for entity.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2001-2008 Apache Cayenne. All Rights Reserved.