blob: 1955454f095b64f938908ac7a13c59470e2893b2 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.5.0_06) on Wed Jul 19 14:42:40 EDT 2006 -->
<TITLE>
DataObjectUtils (Cayenne API Documentation - v.1.2)
</TITLE>
<META NAME="keywords" CONTENT="org.objectstyle.cayenne.DataObjectUtils class">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../objectstyle-javadoc.css" TITLE="Style">
<SCRIPT type="text/javascript">
function windowTitle()
{
parent.document.title="DataObjectUtils (Cayenne API Documentation - v.1.2)";
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>
</HEAD>
<BODY BGCOLOR="white" onload="windowTitle();">
<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../org/objectstyle/cayenne/DataObject.html" title="interface in org.objectstyle.cayenne"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../org/objectstyle/cayenne/DataRow.html" title="class in org.objectstyle.cayenne"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../index.html?org/objectstyle/cayenne/DataObjectUtils.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="DataObjectUtils.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->
<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
org.objectstyle.cayenne</FONT>
<BR>
Class DataObjectUtils</H2>
<PRE>
java.lang.Object
<IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>org.objectstyle.cayenne.DataObjectUtils</B>
</PRE>
<HR>
<DL>
<DT><PRE>public final class <B>DataObjectUtils</B><DT>extends java.lang.Object</DL>
</PRE>
<P>
A collection of utility methods to work with DataObjects.
<p>
<i>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. </i>
</p>
<P>
<P>
<DL>
<DT><B>Since:</B></DT>
<DD>1.1</DD>
<DT><B>Author:</B></DT>
<DD>Andrei Adamchik</DD>
</DL>
<HR>
<P>
<!-- ========== METHOD SUMMARY =========== -->
<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Method Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;java.util.Map</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/objectstyle/cayenne/DataObjectUtils.html#compoundPKForObject(org.objectstyle.cayenne.Persistent)">compoundPKForObject</A></B>(<A HREF="../../../org/objectstyle/cayenne/Persistent.html" title="interface in org.objectstyle.cayenne">Persistent</A>&nbsp;dataObject)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a primary key map for a DataObject.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/objectstyle/cayenne/DataObjectUtils.html#intPKForObject(org.objectstyle.cayenne.Persistent)">intPKForObject</A></B>(<A HREF="../../../org/objectstyle/cayenne/Persistent.html" title="interface in org.objectstyle.cayenne">Persistent</A>&nbsp;dataObject)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns an int primary key value for a DataObject.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;<A HREF="../../../org/objectstyle/cayenne/DataObject.html" title="interface in org.objectstyle.cayenne">DataObject</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/objectstyle/cayenne/DataObjectUtils.html#objectForPK(org.objectstyle.cayenne.ObjectContext, java.lang.Class, int)">objectForPK</A></B>(<A HREF="../../../org/objectstyle/cayenne/ObjectContext.html" title="interface in org.objectstyle.cayenne">ObjectContext</A>&nbsp;context,
java.lang.Class&nbsp;dataObjectClass,
int&nbsp;pk)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns an object matching an int primary key.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;<A HREF="../../../org/objectstyle/cayenne/DataObject.html" title="interface in org.objectstyle.cayenne">DataObject</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/objectstyle/cayenne/DataObjectUtils.html#objectForPK(org.objectstyle.cayenne.ObjectContext, java.lang.Class, java.util.Map)">objectForPK</A></B>(<A HREF="../../../org/objectstyle/cayenne/ObjectContext.html" title="interface in org.objectstyle.cayenne">ObjectContext</A>&nbsp;context,
java.lang.Class&nbsp;dataObjectClass,
java.util.Map&nbsp;pk)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns an object matching a primary key.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;<A HREF="../../../org/objectstyle/cayenne/DataObject.html" title="interface in org.objectstyle.cayenne">DataObject</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/objectstyle/cayenne/DataObjectUtils.html#objectForPK(org.objectstyle.cayenne.ObjectContext, java.lang.Class, java.lang.Object)">objectForPK</A></B>(<A HREF="../../../org/objectstyle/cayenne/ObjectContext.html" title="interface in org.objectstyle.cayenne">ObjectContext</A>&nbsp;context,
java.lang.Class&nbsp;dataObjectClass,
java.lang.Object&nbsp;pk)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns an object matching an Object primary key.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;<A HREF="../../../org/objectstyle/cayenne/DataObject.html" title="interface in org.objectstyle.cayenne">DataObject</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/objectstyle/cayenne/DataObjectUtils.html#objectForPK(org.objectstyle.cayenne.ObjectContext, org.objectstyle.cayenne.ObjectId)">objectForPK</A></B>(<A HREF="../../../org/objectstyle/cayenne/ObjectContext.html" title="interface in org.objectstyle.cayenne">ObjectContext</A>&nbsp;context,
<A HREF="../../../org/objectstyle/cayenne/ObjectId.html" title="class in org.objectstyle.cayenne">ObjectId</A>&nbsp;id)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns an object matching ObjectId.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;<A HREF="../../../org/objectstyle/cayenne/DataObject.html" title="interface in org.objectstyle.cayenne">DataObject</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/objectstyle/cayenne/DataObjectUtils.html#objectForPK(org.objectstyle.cayenne.ObjectContext, java.lang.String, int)">objectForPK</A></B>(<A HREF="../../../org/objectstyle/cayenne/ObjectContext.html" title="interface in org.objectstyle.cayenne">ObjectContext</A>&nbsp;context,
java.lang.String&nbsp;objEntityName,
int&nbsp;pk)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns an object matching an int primary key.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;<A HREF="../../../org/objectstyle/cayenne/DataObject.html" title="interface in org.objectstyle.cayenne">DataObject</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/objectstyle/cayenne/DataObjectUtils.html#objectForPK(org.objectstyle.cayenne.ObjectContext, java.lang.String, java.util.Map)">objectForPK</A></B>(<A HREF="../../../org/objectstyle/cayenne/ObjectContext.html" title="interface in org.objectstyle.cayenne">ObjectContext</A>&nbsp;context,
java.lang.String&nbsp;objEntityName,
java.util.Map&nbsp;pk)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns an object matching a primary key.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;<A HREF="../../../org/objectstyle/cayenne/DataObject.html" title="interface in org.objectstyle.cayenne">DataObject</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/objectstyle/cayenne/DataObjectUtils.html#objectForPK(org.objectstyle.cayenne.ObjectContext, java.lang.String, java.lang.Object)">objectForPK</A></B>(<A HREF="../../../org/objectstyle/cayenne/ObjectContext.html" title="interface in org.objectstyle.cayenne">ObjectContext</A>&nbsp;context,
java.lang.String&nbsp;objEntityName,
java.lang.Object&nbsp;pk)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns an object matching an Object primary key.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;java.lang.Object</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/objectstyle/cayenne/DataObjectUtils.html#objectForQuery(org.objectstyle.cayenne.ObjectContext, org.objectstyle.cayenne.query.Query)">objectForQuery</A></B>(<A HREF="../../../org/objectstyle/cayenne/ObjectContext.html" title="interface in org.objectstyle.cayenne">ObjectContext</A>&nbsp;context,
<A HREF="../../../org/objectstyle/cayenne/query/Query.html" title="interface in org.objectstyle.cayenne.query">Query</A>&nbsp;query)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a DataObject or a DataRow that is a result of a given query.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;java.lang.Object</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/objectstyle/cayenne/DataObjectUtils.html#pkForObject(org.objectstyle.cayenne.Persistent)">pkForObject</A></B>(<A HREF="../../../org/objectstyle/cayenne/Persistent.html" title="interface in org.objectstyle.cayenne">Persistent</A>&nbsp;dataObject)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a primary key value for a DataObject.</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>
<!-- ============ METHOD DETAIL ========== -->
<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Method Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="intPKForObject(org.objectstyle.cayenne.Persistent)"><!-- --></A><H3>
intPKForObject</H3>
<PRE>
public static int <B>intPKForObject</B>(<A HREF="../../../org/objectstyle/cayenne/Persistent.html" title="interface in org.objectstyle.cayenne">Persistent</A>&nbsp;dataObject)</PRE>
<DL>
<DD>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.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="pkForObject(org.objectstyle.cayenne.Persistent)"><!-- --></A><H3>
pkForObject</H3>
<PRE>
public static java.lang.Object <B>pkForObject</B>(<A HREF="../../../org/objectstyle/cayenne/Persistent.html" title="interface in org.objectstyle.cayenne">Persistent</A>&nbsp;dataObject)</PRE>
<DL>
<DD>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.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="compoundPKForObject(org.objectstyle.cayenne.Persistent)"><!-- --></A><H3>
compoundPKForObject</H3>
<PRE>
public static java.util.Map <B>compoundPKForObject</B>(<A HREF="../../../org/objectstyle/cayenne/Persistent.html" title="interface in org.objectstyle.cayenne">Persistent</A>&nbsp;dataObject)</PRE>
<DL>
<DD>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.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="objectForPK(org.objectstyle.cayenne.ObjectContext, java.lang.Class, int)"><!-- --></A><H3>
objectForPK</H3>
<PRE>
public static <A HREF="../../../org/objectstyle/cayenne/DataObject.html" title="interface in org.objectstyle.cayenne">DataObject</A> <B>objectForPK</B>(<A HREF="../../../org/objectstyle/cayenne/ObjectContext.html" title="interface in org.objectstyle.cayenne">ObjectContext</A>&nbsp;context,
java.lang.Class&nbsp;dataObjectClass,
int&nbsp;pk)</PRE>
<DL>
<DD>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.
<p>
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.
</p>
<P>
<DD><DL>
<DT><B>See Also:</B><DD><A HREF="../../../org/objectstyle/cayenne/DataObjectUtils.html#objectForPK(org.objectstyle.cayenne.ObjectContext, org.objectstyle.cayenne.ObjectId)"><CODE>objectForPK(ObjectContext, ObjectId)</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="objectForPK(org.objectstyle.cayenne.ObjectContext, java.lang.Class, java.lang.Object)"><!-- --></A><H3>
objectForPK</H3>
<PRE>
public static <A HREF="../../../org/objectstyle/cayenne/DataObject.html" title="interface in org.objectstyle.cayenne">DataObject</A> <B>objectForPK</B>(<A HREF="../../../org/objectstyle/cayenne/ObjectContext.html" title="interface in org.objectstyle.cayenne">ObjectContext</A>&nbsp;context,
java.lang.Class&nbsp;dataObjectClass,
java.lang.Object&nbsp;pk)</PRE>
<DL>
<DD>Returns an object matching an Object primary key. If the object is mapped to use a
compound PK, CayenneRuntimeException is thrown.
<p>
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.
</p>
<P>
<DD><DL>
<DT><B>See Also:</B><DD><A HREF="../../../org/objectstyle/cayenne/DataObjectUtils.html#objectForPK(org.objectstyle.cayenne.ObjectContext, org.objectstyle.cayenne.ObjectId)"><CODE>objectForPK(ObjectContext, ObjectId)</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="objectForPK(org.objectstyle.cayenne.ObjectContext, java.lang.Class, java.util.Map)"><!-- --></A><H3>
objectForPK</H3>
<PRE>
public static <A HREF="../../../org/objectstyle/cayenne/DataObject.html" title="interface in org.objectstyle.cayenne">DataObject</A> <B>objectForPK</B>(<A HREF="../../../org/objectstyle/cayenne/ObjectContext.html" title="interface in org.objectstyle.cayenne">ObjectContext</A>&nbsp;context,
java.lang.Class&nbsp;dataObjectClass,
java.util.Map&nbsp;pk)</PRE>
<DL>
<DD>Returns an object matching a primary key. PK map parameter should use database PK
column names as keys.
<p>
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.
</p>
<P>
<DD><DL>
<DT><B>See Also:</B><DD><A HREF="../../../org/objectstyle/cayenne/DataObjectUtils.html#objectForPK(org.objectstyle.cayenne.ObjectContext, org.objectstyle.cayenne.ObjectId)"><CODE>objectForPK(ObjectContext, ObjectId)</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="objectForPK(org.objectstyle.cayenne.ObjectContext, java.lang.String, int)"><!-- --></A><H3>
objectForPK</H3>
<PRE>
public static <A HREF="../../../org/objectstyle/cayenne/DataObject.html" title="interface in org.objectstyle.cayenne">DataObject</A> <B>objectForPK</B>(<A HREF="../../../org/objectstyle/cayenne/ObjectContext.html" title="interface in org.objectstyle.cayenne">ObjectContext</A>&nbsp;context,
java.lang.String&nbsp;objEntityName,
int&nbsp;pk)</PRE>
<DL>
<DD>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.
<p>
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.
</p>
<P>
<DD><DL>
<DT><B>See Also:</B><DD><A HREF="../../../org/objectstyle/cayenne/DataObjectUtils.html#objectForPK(org.objectstyle.cayenne.ObjectContext, org.objectstyle.cayenne.ObjectId)"><CODE>objectForPK(ObjectContext, ObjectId)</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="objectForPK(org.objectstyle.cayenne.ObjectContext, java.lang.String, java.lang.Object)"><!-- --></A><H3>
objectForPK</H3>
<PRE>
public static <A HREF="../../../org/objectstyle/cayenne/DataObject.html" title="interface in org.objectstyle.cayenne">DataObject</A> <B>objectForPK</B>(<A HREF="../../../org/objectstyle/cayenne/ObjectContext.html" title="interface in org.objectstyle.cayenne">ObjectContext</A>&nbsp;context,
java.lang.String&nbsp;objEntityName,
java.lang.Object&nbsp;pk)</PRE>
<DL>
<DD>Returns an object matching an Object primary key. If the object is mapped to use a
compound PK, CayenneRuntimeException is thrown.
<p>
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.
</p>
<P>
<DD><DL>
<DT><B>See Also:</B><DD><A HREF="../../../org/objectstyle/cayenne/DataObjectUtils.html#objectForPK(org.objectstyle.cayenne.ObjectContext, org.objectstyle.cayenne.ObjectId)"><CODE>objectForPK(ObjectContext, ObjectId)</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="objectForPK(org.objectstyle.cayenne.ObjectContext, java.lang.String, java.util.Map)"><!-- --></A><H3>
objectForPK</H3>
<PRE>
public static <A HREF="../../../org/objectstyle/cayenne/DataObject.html" title="interface in org.objectstyle.cayenne">DataObject</A> <B>objectForPK</B>(<A HREF="../../../org/objectstyle/cayenne/ObjectContext.html" title="interface in org.objectstyle.cayenne">ObjectContext</A>&nbsp;context,
java.lang.String&nbsp;objEntityName,
java.util.Map&nbsp;pk)</PRE>
<DL>
<DD>Returns an object matching a primary key. PK map parameter should use database PK
column names as keys.
<p>
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.
</p>
<P>
<DD><DL>
<DT><B>See Also:</B><DD><A HREF="../../../org/objectstyle/cayenne/DataObjectUtils.html#objectForPK(org.objectstyle.cayenne.ObjectContext, org.objectstyle.cayenne.ObjectId)"><CODE>objectForPK(ObjectContext, ObjectId)</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="objectForPK(org.objectstyle.cayenne.ObjectContext, org.objectstyle.cayenne.ObjectId)"><!-- --></A><H3>
objectForPK</H3>
<PRE>
public static <A HREF="../../../org/objectstyle/cayenne/DataObject.html" title="interface in org.objectstyle.cayenne">DataObject</A> <B>objectForPK</B>(<A HREF="../../../org/objectstyle/cayenne/ObjectContext.html" title="interface in org.objectstyle.cayenne">ObjectContext</A>&nbsp;context,
<A HREF="../../../org/objectstyle/cayenne/ObjectId.html" title="class in org.objectstyle.cayenne">ObjectId</A>&nbsp;id)</PRE>
<DL>
<DD>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.
<P>
<DD><DL>
<DT><B>Returns:</B><DD>A DataObject that matched the id, null if no matching objects were found
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../org/objectstyle/cayenne/CayenneRuntimeException.html" title="class in org.objectstyle.cayenne">CayenneRuntimeException</A></CODE> - if more than one object matched ObjectId.</DL>
</DD>
</DL>
<HR>
<A NAME="objectForQuery(org.objectstyle.cayenne.ObjectContext, org.objectstyle.cayenne.query.Query)"><!-- --></A><H3>
objectForQuery</H3>
<PRE>
public static java.lang.Object <B>objectForQuery</B>(<A HREF="../../../org/objectstyle/cayenne/ObjectContext.html" title="interface in org.objectstyle.cayenne">ObjectContext</A>&nbsp;context,
<A HREF="../../../org/objectstyle/cayenne/query/Query.html" title="interface in org.objectstyle.cayenne.query">Query</A>&nbsp;query)</PRE>
<DL>
<DD>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.
<P>
<DD><DL>
<DT><B>Since:</B></DT>
<DD>1.2</DD>
</DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../org/objectstyle/cayenne/DataObject.html" title="interface in org.objectstyle.cayenne"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../org/objectstyle/cayenne/DataRow.html" title="class in org.objectstyle.cayenne"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../index.html?org/objectstyle/cayenne/DataObjectUtils.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="DataObjectUtils.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<HR>
<!--@SFLOGO@--> &nbsp; <i>Copyright &#169; 2001-2006 <a href=
"http://objectstyle.org" target="_top">ObjectStyle.org</a> All Rights Reserved.</i>
</BODY>
</HTML>