blob: abb50adc5e14621b689281400610f70ba798602b [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:42 EDT 2006 -->
<TITLE>
ExtendedType (Cayenne API Documentation - v.1.2)
</TITLE>
<META NAME="keywords" CONTENT="org.objectstyle.cayenne.access.types.ExtendedType interface">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../objectstyle-javadoc.css" TITLE="Style">
<SCRIPT type="text/javascript">
function windowTitle()
{
parent.document.title="ExtendedType (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/access/types/EnumType.html" title="class in org.objectstyle.cayenne.access.types"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../../org/objectstyle/cayenne/access/types/ExtendedTypeFactory.html" title="interface in org.objectstyle.cayenne.access.types"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../../index.html?org/objectstyle/cayenne/access/types/ExtendedType.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="ExtendedType.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.access.types</FONT>
<BR>
Interface ExtendedType</H2>
<DL>
<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../../../../org/objectstyle/cayenne/access/types/AbstractType.html" title="class in org.objectstyle.cayenne.access.types">AbstractType</A>, <A HREF="../../../../../org/objectstyle/cayenne/access/types/BooleanType.html" title="class in org.objectstyle.cayenne.access.types">BooleanType</A>, <A HREF="../../../../../org/objectstyle/cayenne/access/types/ByteArrayType.html" title="class in org.objectstyle.cayenne.access.types">ByteArrayType</A>, <A HREF="../../../../../org/objectstyle/cayenne/access/types/ByteType.html" title="class in org.objectstyle.cayenne.access.types">ByteType</A>, <A HREF="../../../../../org/objectstyle/cayenne/access/types/CharType.html" title="class in org.objectstyle.cayenne.access.types">CharType</A>, <A HREF="../../../../../org/objectstyle/cayenne/access/types/DefaultType.html" title="class in org.objectstyle.cayenne.access.types">DefaultType</A>, <A HREF="../../../../../org/objectstyle/cayenne/access/types/EnumType.html" title="class in org.objectstyle.cayenne.access.types">EnumType</A>, <A HREF="../../../../../org/objectstyle/cayenne/dba/oracle/OracleUtilDateType.html" title="class in org.objectstyle.cayenne.dba.oracle">OracleUtilDateType</A>, <A HREF="../../../../../org/objectstyle/cayenne/access/types/ShortType.html" title="class in org.objectstyle.cayenne.access.types">ShortType</A>, <A HREF="../../../../../org/objectstyle/cayenne/access/types/UtilDateType.html" title="class in org.objectstyle.cayenne.access.types">UtilDateType</A></DD>
</DL>
<HR>
<DL>
<DT><PRE>public interface <B>ExtendedType</B></DL>
</PRE>
<P>
Defines methods to read Java objects from JDBC ResultSets and write as parameters of
PreparedStatements.
<P>
<P>
<DL>
<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>&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/objectstyle/cayenne/access/types/ExtendedType.html#getClassName()">getClassName</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a full name of Java class that this ExtendedType supports.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.Object</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/objectstyle/cayenne/access/types/ExtendedType.html#materializeObject(java.sql.CallableStatement, int, int)">materializeObject</A></B>(java.sql.CallableStatement&nbsp;rs,
int&nbsp;index,
int&nbsp;type)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Reads an object from a stored procedure OUT parameter, converting it to class
returned by 'getClassName' method.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.Object</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/objectstyle/cayenne/access/types/ExtendedType.html#materializeObject(java.sql.ResultSet, int, int)">materializeObject</A></B>(java.sql.ResultSet&nbsp;rs,
int&nbsp;index,
int&nbsp;type)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Reads an object from JDBC ResultSet column, converting it to class returned by
'getClassName' method.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/objectstyle/cayenne/access/types/ExtendedType.html#setJdbcObject(java.sql.PreparedStatement, java.lang.Object, int, int, int)">setJdbcObject</A></B>(java.sql.PreparedStatement&nbsp;statement,
java.lang.Object&nbsp;value,
int&nbsp;pos,
int&nbsp;type,
int&nbsp;precision)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Initializes a single parameter of a PreparedStatement with object value.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/objectstyle/cayenne/access/types/ExtendedType.html#validateProperty(java.lang.Object, java.lang.String, java.lang.Object, org.objectstyle.cayenne.map.DbAttribute, org.objectstyle.cayenne.validation.ValidationResult)">validateProperty</A></B>(java.lang.Object&nbsp;source,
java.lang.String&nbsp;property,
java.lang.Object&nbsp;value,
<A HREF="../../../../../org/objectstyle/cayenne/map/DbAttribute.html" title="class in org.objectstyle.cayenne.map">DbAttribute</A>&nbsp;dbAttribute,
<A HREF="../../../../../org/objectstyle/cayenne/validation/ValidationResult.html" title="class in org.objectstyle.cayenne.validation">ValidationResult</A>&nbsp;validationResult)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Performs validation of an object property.</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="getClassName()"><!-- --></A><H3>
getClassName</H3>
<PRE>
java.lang.String <B>getClassName</B>()</PRE>
<DL>
<DD>Returns a full name of Java class that this ExtendedType supports.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="validateProperty(java.lang.Object, java.lang.String, java.lang.Object, org.objectstyle.cayenne.map.DbAttribute, org.objectstyle.cayenne.validation.ValidationResult)"><!-- --></A><H3>
validateProperty</H3>
<PRE>
boolean <B>validateProperty</B>(java.lang.Object&nbsp;source,
java.lang.String&nbsp;property,
java.lang.Object&nbsp;value,
<A HREF="../../../../../org/objectstyle/cayenne/map/DbAttribute.html" title="class in org.objectstyle.cayenne.map">DbAttribute</A>&nbsp;dbAttribute,
<A HREF="../../../../../org/objectstyle/cayenne/validation/ValidationResult.html" title="class in org.objectstyle.cayenne.validation">ValidationResult</A>&nbsp;validationResult)</PRE>
<DL>
<DD>Performs validation of an object property. Property is considered valid if this it
satisfies the database constraints known to this ExtendedType. In case of
validation failure, failures are appended to the ValidationResult object and
<code>false</code> is returned.
<P>
<DD><DL>
<DT><B>Since:</B></DT>
<DD>1.1</DD>
</DL>
</DD>
</DL>
<HR>
<A NAME="setJdbcObject(java.sql.PreparedStatement, java.lang.Object, int, int, int)"><!-- --></A><H3>
setJdbcObject</H3>
<PRE>
void <B>setJdbcObject</B>(java.sql.PreparedStatement&nbsp;statement,
java.lang.Object&nbsp;value,
int&nbsp;pos,
int&nbsp;type,
int&nbsp;precision)
throws java.lang.Exception</PRE>
<DL>
<DD>Initializes a single parameter of a PreparedStatement with object value.
<P>
<DD><DL>
<DT><B>Throws:</B>
<DD><CODE>java.lang.Exception</CODE></DL>
</DD>
</DL>
<HR>
<A NAME="materializeObject(java.sql.ResultSet, int, int)"><!-- --></A><H3>
materializeObject</H3>
<PRE>
java.lang.Object <B>materializeObject</B>(java.sql.ResultSet&nbsp;rs,
int&nbsp;index,
int&nbsp;type)
throws java.lang.Exception</PRE>
<DL>
<DD>Reads an object from JDBC ResultSet column, converting it to class returned by
'getClassName' method.
<P>
<DD><DL>
<DT><B>Throws:</B>
<DD><CODE>java.lang.Exception</CODE> - if read error ocurred, or an object can't be converted to a
target Java class.</DL>
</DD>
</DL>
<HR>
<A NAME="materializeObject(java.sql.CallableStatement, int, int)"><!-- --></A><H3>
materializeObject</H3>
<PRE>
java.lang.Object <B>materializeObject</B>(java.sql.CallableStatement&nbsp;rs,
int&nbsp;index,
int&nbsp;type)
throws java.lang.Exception</PRE>
<DL>
<DD>Reads an object from a stored procedure OUT parameter, converting it to class
returned by 'getClassName' method.
<P>
<DD><DL>
<DT><B>Throws:</B>
<DD><CODE>java.lang.Exception</CODE> - if read error ocurred, or an object can't be converted to a
target Java class.</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/access/types/EnumType.html" title="class in org.objectstyle.cayenne.access.types"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../../org/objectstyle/cayenne/access/types/ExtendedTypeFactory.html" title="interface in org.objectstyle.cayenne.access.types"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../../index.html?org/objectstyle/cayenne/access/types/ExtendedType.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="ExtendedType.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>