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

## org.apache.cayenne
Class DataObjectUtils

    java.lang.Object
      org.apache.cayenne.DataObjectUtils

    public final class DataObjectUtils

extends java.lang.Object

A collection of utility methods to work with DataObjects.

DataObjects and Primary Keys: All methods that allow to extract primary key values or use primary keys to find objects are provided for convenience. Still the author's belief is that integer sequential primary keys are meaningless in the object model and are pure database artifacts. Therefore relying heavily on direct access to PK provided via this class (or other such Cayenne API) is not a clean design practice in many cases, and sometimes may actually lead to security issues.

Since:
  1.1
Author:
  Andrei Adamchik

Method Summary
`static java.util.Map` | `compoundPKForObject(Persistent dataObject)` Returns a primary key map for a DataObject.
`static int` | `intPKForObject(Persistent dataObject)` Returns an int primary key value for a DataObject.
`static DataObject` | `objectForPK(ObjectContext context, java.lang.Class dataObjectClass, int pk)` Returns an object matching an int primary key.
`static DataObject` | `objectForPK(ObjectContext context, java.lang.Class dataObjectClass, java.util.Map pk)` Returns an object matching a primary key.
`static DataObject` | `objectForPK(ObjectContext context, java.lang.Class dataObjectClass, java.lang.Object pk)` Returns an object matching an Object primary key.
`static DataObject` | `objectForPK(ObjectContext context, ObjectId id)` Returns an object matching ObjectId.
`static DataObject` | `objectForPK(ObjectContext context, java.lang.String objEntityName, int pk)` Returns an object matching an int primary key.
`static DataObject` | `objectForPK(ObjectContext context, java.lang.String objEntityName, java.util.Map pk)` Returns an object matching a primary key.
`static DataObject` | `objectForPK(ObjectContext context, java.lang.String objEntityName, java.lang.Object pk)` Returns an object matching an Object primary key.
`static java.lang.Object` | `objectForQuery(ObjectContext context, Query query)` Returns a DataObject or a DataRow that is a result of a given query.
`static java.lang.Object` | `pkForObject(Persistent dataObject)` Returns a primary key value for a DataObject.

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

Method Detail

### intPKForObject

    public static int intPKForObject(Persistent dataObject)

  Returns an int primary key value for a DataObject. Only works for single column numeric primary keys. If a DataObjects is transient or has an ObjectId that can not be converted to an int PK, an exception is thrown.

### pkForObject

    public static java.lang.Object pkForObject(Persistent dataObject)

  Returns a primary key value for a DataObject. Only works for single column primary keys. If a DataObjects is transient or has a compound ObjectId, an exception is thrown.

### compoundPKForObject

    public static java.util.Map compoundPKForObject(Persistent dataObject)

  Returns a primary key map for a DataObject. This method is the most generic out of all methods for primary key retrieval. It will work for all possible types of primary keys. If a DataObjects is transient, an exception is thrown.

### objectForPK

    public static DataObject objectForPK(ObjectContext context,
                                         java.lang.Class dataObjectClass,
                                         int pk)

  Returns an object matching an int primary key. If the object is mapped to use non-integer PK or a compound PK, CayenneRuntimeException is thrown.

  If this object is already cached in the ObjectStore, it is returned without a query. Otherwise a query is built and executed against the database.

  See Also:
    `objectForPK(ObjectContext, ObjectId)`

### objectForPK

    public static DataObject objectForPK(ObjectContext context,
                                         java.lang.Class dataObjectClass,
                                         java.lang.Object pk)

  Returns an object matching an Object primary key. If the object is mapped to use a compound PK, CayenneRuntimeException is thrown.

  If this object is already cached in the ObjectStore, it is returned without a query. Otherwise a query is built and executed against the database.

  See Also:
    `objectForPK(ObjectContext, ObjectId)`

### objectForPK

    public static DataObject objectForPK(ObjectContext context,
                                         java.lang.Class dataObjectClass,
                                         java.util.Map pk)

  Returns an object matching a primary key. PK map parameter should use database PK column names as keys.

  If this object is already cached in the ObjectStore, it is returned without a query. Otherwise a query is built and executed against the database.

  See Also:
    `objectForPK(ObjectContext, ObjectId)`

### objectForPK

    public static DataObject objectForPK(ObjectContext context,
                                         java.lang.String objEntityName,
                                         int pk)

  Returns an object matching an int primary key. If the object is mapped to use non-integer PK or a compound PK, CayenneRuntimeException is thrown.

  If this object is already cached in the ObjectStore, it is returned without a query. Otherwise a query is built and executed against the database.

  See Also:
    `objectForPK(ObjectContext, ObjectId)`

### objectForPK

    public static DataObject objectForPK(ObjectContext context,
                                         java.lang.String objEntityName,
                                         java.lang.Object pk)

  Returns an object matching an Object primary key. If the object is mapped to use a compound PK, CayenneRuntimeException is thrown.

  If this object is already cached in the ObjectStore, it is returned without a query. Otherwise a query is built and executed against the database.

  See Also:
    `objectForPK(ObjectContext, ObjectId)`

### objectForPK

    public static DataObject objectForPK(ObjectContext context,
                                         java.lang.String objEntityName,
                                         java.util.Map pk)

  Returns an object matching a primary key. PK map parameter should use database PK column names as keys.

  If this object is already cached in the ObjectStore, it is returned without a query. Otherwise a query is built and executed against the database.

  See Also:
    `objectForPK(ObjectContext, ObjectId)`

### objectForPK

    public static DataObject objectForPK(ObjectContext context,
                                         ObjectId id)

  Returns an object matching ObjectId. If this object is already cached in the ObjectStore, it is returned without a query. Otherwise a query is built and executed against the database.

  Returns:
    A DataObject that matched the id, null if no matching objects were found
  Throws:
    `CayenneRuntimeException` - if more than one object matched ObjectId.

### objectForQuery

    public static java.lang.Object objectForQuery(ObjectContext context,
                                                  Query query)

  Returns a DataObject or a DataRow that is a result of a given query. If query returns more than one object, an exception is thrown. If query returns no objects, null is returned.

  Since:
    1.2

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

Copyright © 2001-2006 Apache.org All Rights Reserved.