blob: e700af818421a92a39739c5843825eac6c3a8a87 [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:45:52 EDT 2006 -->
<TITLE>
BaseClassDescriptor (Apache Cayenne API Documentation - v.2.0-incubating-SNAPSHOT)
</TITLE>
<META NAME="keywords" CONTENT="org.apache.cayenne.property.BaseClassDescriptor class">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../apache-javadoc.css" TITLE="Style">
<SCRIPT type="text/javascript">
function windowTitle()
{
parent.document.title="BaseClassDescriptor (Apache Cayenne API Documentation - v.2.0-incubating-SNAPSHOT)";
}
</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/apache/cayenne/property/ArcProperty.html" title="interface in org.apache.cayenne.property"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../org/apache/cayenne/property/BeanAccessor.html" title="class in org.apache.cayenne.property"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../index.html?org/apache/cayenne/property/BaseClassDescriptor.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="BaseClassDescriptor.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;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&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.apache.cayenne.property</FONT>
<BR>
Class BaseClassDescriptor</H2>
<PRE>
java.lang.Object
<IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.cayenne.property.BaseClassDescriptor</B>
</PRE>
<DL>
<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../org/apache/cayenne/property/ClassDescriptor.html" title="interface in org.apache.cayenne.property">ClassDescriptor</A></DD>
</DL>
<DL>
<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../../org/apache/cayenne/map/EntityDescriptor.html" title="class in org.apache.cayenne.map">EntityDescriptor</A></DD>
</DL>
<HR>
<DL>
<DT><PRE>public abstract class <B>BaseClassDescriptor</B><DT>extends java.lang.Object<DT>implements <A HREF="../../../../org/apache/cayenne/property/ClassDescriptor.html" title="interface in org.apache.cayenne.property">ClassDescriptor</A></DL>
</PRE>
<P>
A superclass of Cayenne ClassDescriptors. Defines all main bean descriptor parameters
and operations. Subclasses would provide methods to initialize the descriptor.
<P>
<P>
<DL>
<DT><B>Since:</B></DT>
<DD>1.2</DD>
<DT><B>Author:</B></DT>
<DD>Andrus Adamchik</DD>
</DL>
<HR>
<P>
<!-- =========== FIELD SUMMARY =========== -->
<A NAME="field_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>Field Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;java.util.Map</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/cayenne/property/BaseClassDescriptor.html#declaredProperties">declaredProperties</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;java.lang.Class</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/cayenne/property/BaseClassDescriptor.html#objectClass">objectClass</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../../org/apache/cayenne/property/PropertyAccessor.html" title="interface in org.apache.cayenne.property">PropertyAccessor</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/cayenne/property/BaseClassDescriptor.html#persistenceStateProperty">persistenceStateProperty</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;java.util.Map</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/cayenne/property/BaseClassDescriptor.html#subclassDescriptors">subclassDescriptors</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../../org/apache/cayenne/property/ClassDescriptor.html" title="interface in org.apache.cayenne.property">ClassDescriptor</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/cayenne/property/BaseClassDescriptor.html#superclassDescriptor">superclassDescriptor</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;java.util.Map</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/cayenne/property/BaseClassDescriptor.html#valueHolderProperties">valueHolderProperties</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<A NAME="constructor_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>Constructor Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../org/apache/cayenne/property/BaseClassDescriptor.html#BaseClassDescriptor(org.apache.cayenne.property.ClassDescriptor)">BaseClassDescriptor</A></B>(<A HREF="../../../../org/apache/cayenne/property/ClassDescriptor.html" title="interface in org.apache.cayenne.property">ClassDescriptor</A>&nbsp;superclassDescriptor)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates an uncompiled BaseClassDescriptor.</TD>
</TR>
</TABLE>
&nbsp;
<!-- ========== 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.Object</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/cayenne/property/BaseClassDescriptor.html#createObject()">createObject</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a new instance of a class described by this object.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/apache/cayenne/property/Property.html" title="interface in org.apache.cayenne.property">Property</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/cayenne/property/BaseClassDescriptor.html#getDeclaredProperty(java.lang.String)">getDeclaredProperty</A></B>(java.lang.String&nbsp;propertyName)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a Java Bean property descriptor matching property name or null if no such
property is found.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.Class</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/cayenne/property/BaseClassDescriptor.html#getObjectClass()">getObjectClass</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a bean class mapped by this descriptor.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.util.Iterator</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/cayenne/property/BaseClassDescriptor.html#getProperties()">getProperties</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns an Iterator over descriptor properties.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/apache/cayenne/property/Property.html" title="interface in org.apache.cayenne.property">Property</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/cayenne/property/BaseClassDescriptor.html#getProperty(java.lang.String)">getProperty</A></B>(java.lang.String&nbsp;propertyName)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Recursively looks up property descriptor in this class descriptor and all
superclass descriptors.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/apache/cayenne/property/ClassDescriptor.html" title="interface in org.apache.cayenne.property">ClassDescriptor</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/cayenne/property/BaseClassDescriptor.html#getSubclassDescriptor(java.lang.Class)">getSubclassDescriptor</A></B>(java.lang.Class&nbsp;objectClass)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the most "specialized" descriptor for a given class.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/apache/cayenne/property/ClassDescriptor.html" title="interface in org.apache.cayenne.property">ClassDescriptor</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/cayenne/property/BaseClassDescriptor.html#getSuperclassDescriptor()">getSuperclassDescriptor</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a descriptor of the mapped superclass or null if the descriptor's entity
sits at the top of inheritance hierarchy.</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/apache/cayenne/property/BaseClassDescriptor.html#injectValueHolders(java.lang.Object)">injectValueHolders</A></B>(java.lang.Object&nbsp;object)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Invokes 'prepareForAccess' of a super descriptor and then invokes
'prepareForAccess' of each declared property.</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/apache/cayenne/property/BaseClassDescriptor.html#isFault(java.lang.Object)">isFault</A></B>(java.lang.Object&nbsp;object)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns true if an object is not fully resolved.</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/apache/cayenne/property/BaseClassDescriptor.html#isValid()">isValid</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns true if a descriptor is initialized and ready for operation.</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/apache/cayenne/property/BaseClassDescriptor.html#shallowMerge(java.lang.Object, java.lang.Object)">shallowMerge</A></B>(java.lang.Object&nbsp;from,
java.lang.Object&nbsp;to)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Copies object properties from one object to another.</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/apache/cayenne/property/BaseClassDescriptor.html#visitProperties(org.apache.cayenne.property.PropertyVisitor)">visitProperties</A></B>(<A HREF="../../../../org/apache/cayenne/property/PropertyVisitor.html" title="interface in org.apache.cayenne.property">PropertyVisitor</A>&nbsp;visitor)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Passes the visitor to all properties "visit" method, terminating properties walk
through in case one of the properties returns false.</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>
<!-- ============ FIELD DETAIL =========== -->
<A NAME="field_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>Field Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="superclassDescriptor"><!-- --></A><H3>
superclassDescriptor</H3>
<PRE>
protected <A HREF="../../../../org/apache/cayenne/property/ClassDescriptor.html" title="interface in org.apache.cayenne.property">ClassDescriptor</A> <B>superclassDescriptor</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<A NAME="objectClass"><!-- --></A><H3>
objectClass</H3>
<PRE>
protected java.lang.Class <B>objectClass</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<A NAME="declaredProperties"><!-- --></A><H3>
declaredProperties</H3>
<PRE>
protected java.util.Map <B>declaredProperties</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<A NAME="valueHolderProperties"><!-- --></A><H3>
valueHolderProperties</H3>
<PRE>
protected java.util.Map <B>valueHolderProperties</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<A NAME="subclassDescriptors"><!-- --></A><H3>
subclassDescriptors</H3>
<PRE>
protected java.util.Map <B>subclassDescriptors</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<A NAME="persistenceStateProperty"><!-- --></A><H3>
persistenceStateProperty</H3>
<PRE>
protected <A HREF="../../../../org/apache/cayenne/property/PropertyAccessor.html" title="interface in org.apache.cayenne.property">PropertyAccessor</A> <B>persistenceStateProperty</B></PRE>
<DL>
<DL>
</DL>
</DL>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<A NAME="constructor_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>Constructor Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="BaseClassDescriptor(org.apache.cayenne.property.ClassDescriptor)"><!-- --></A><H3>
BaseClassDescriptor</H3>
<PRE>
public <B>BaseClassDescriptor</B>(<A HREF="../../../../org/apache/cayenne/property/ClassDescriptor.html" title="interface in org.apache.cayenne.property">ClassDescriptor</A>&nbsp;superclassDescriptor)</PRE>
<DL>
<DD>Creates an uncompiled BaseClassDescriptor. Subclasses may add a call to "compile"
in the constructor after finishing their initialization.
<P>
</DL>
<!-- ============ 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="isFault(java.lang.Object)"><!-- --></A><H3>
isFault</H3>
<PRE>
public boolean <B>isFault</B>(java.lang.Object&nbsp;object)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/cayenne/property/ClassDescriptor.html#isFault(java.lang.Object)">ClassDescriptor</A></CODE></B></DD>
<DD>Returns true if an object is not fully resolved.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/cayenne/property/ClassDescriptor.html#isFault(java.lang.Object)">isFault</A></CODE> in interface <CODE><A HREF="../../../../org/apache/cayenne/property/ClassDescriptor.html" title="interface in org.apache.cayenne.property">ClassDescriptor</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="isValid()"><!-- --></A><H3>
isValid</H3>
<PRE>
public boolean <B>isValid</B>()</PRE>
<DL>
<DD>Returns true if a descriptor is initialized and ready for operation.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="getObjectClass()"><!-- --></A><H3>
getObjectClass</H3>
<PRE>
public java.lang.Class <B>getObjectClass</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/cayenne/property/ClassDescriptor.html#getObjectClass()">ClassDescriptor</A></CODE></B></DD>
<DD>Returns a bean class mapped by this descriptor.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/cayenne/property/ClassDescriptor.html#getObjectClass()">getObjectClass</A></CODE> in interface <CODE><A HREF="../../../../org/apache/cayenne/property/ClassDescriptor.html" title="interface in org.apache.cayenne.property">ClassDescriptor</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="getSubclassDescriptor(java.lang.Class)"><!-- --></A><H3>
getSubclassDescriptor</H3>
<PRE>
public <A HREF="../../../../org/apache/cayenne/property/ClassDescriptor.html" title="interface in org.apache.cayenne.property">ClassDescriptor</A> <B>getSubclassDescriptor</B>(java.lang.Class&nbsp;objectClass)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/cayenne/property/ClassDescriptor.html#getSubclassDescriptor(java.lang.Class)">ClassDescriptor</A></CODE></B></DD>
<DD>Returns the most "specialized" descriptor for a given class. This method assumes
that the following is true:
<pre>
this.getObjectClass().isAssignableFrom(objectClass)
</pre>
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/cayenne/property/ClassDescriptor.html#getSubclassDescriptor(java.lang.Class)">getSubclassDescriptor</A></CODE> in interface <CODE><A HREF="../../../../org/apache/cayenne/property/ClassDescriptor.html" title="interface in org.apache.cayenne.property">ClassDescriptor</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="getProperties()"><!-- --></A><H3>
getProperties</H3>
<PRE>
public java.util.Iterator <B>getProperties</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/cayenne/property/ClassDescriptor.html#getProperties()">ClassDescriptor</A></CODE></B></DD>
<DD>Returns an Iterator over descriptor properties.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/cayenne/property/ClassDescriptor.html#getProperties()">getProperties</A></CODE> in interface <CODE><A HREF="../../../../org/apache/cayenne/property/ClassDescriptor.html" title="interface in org.apache.cayenne.property">ClassDescriptor</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="getProperty(java.lang.String)"><!-- --></A><H3>
getProperty</H3>
<PRE>
public <A HREF="../../../../org/apache/cayenne/property/Property.html" title="interface in org.apache.cayenne.property">Property</A> <B>getProperty</B>(java.lang.String&nbsp;propertyName)</PRE>
<DL>
<DD>Recursively looks up property descriptor in this class descriptor and all
superclass descriptors.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/cayenne/property/ClassDescriptor.html#getProperty(java.lang.String)">getProperty</A></CODE> in interface <CODE><A HREF="../../../../org/apache/cayenne/property/ClassDescriptor.html" title="interface in org.apache.cayenne.property">ClassDescriptor</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="getDeclaredProperty(java.lang.String)"><!-- --></A><H3>
getDeclaredProperty</H3>
<PRE>
public <A HREF="../../../../org/apache/cayenne/property/Property.html" title="interface in org.apache.cayenne.property">Property</A> <B>getDeclaredProperty</B>(java.lang.String&nbsp;propertyName)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/cayenne/property/ClassDescriptor.html#getDeclaredProperty(java.lang.String)">ClassDescriptor</A></CODE></B></DD>
<DD>Returns a Java Bean property descriptor matching property name or null if no such
property is found. Lookup DOES NOT including properties from the superclass
decsriptors. Returned property maybe any one of simple, value holder or collection
properties.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/cayenne/property/ClassDescriptor.html#getDeclaredProperty(java.lang.String)">getDeclaredProperty</A></CODE> in interface <CODE><A HREF="../../../../org/apache/cayenne/property/ClassDescriptor.html" title="interface in org.apache.cayenne.property">ClassDescriptor</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="getSuperclassDescriptor()"><!-- --></A><H3>
getSuperclassDescriptor</H3>
<PRE>
public <A HREF="../../../../org/apache/cayenne/property/ClassDescriptor.html" title="interface in org.apache.cayenne.property">ClassDescriptor</A> <B>getSuperclassDescriptor</B>()</PRE>
<DL>
<DD>Returns a descriptor of the mapped superclass or null if the descriptor's entity
sits at the top of inheritance hierarchy.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/cayenne/property/ClassDescriptor.html#getSuperclassDescriptor()">getSuperclassDescriptor</A></CODE> in interface <CODE><A HREF="../../../../org/apache/cayenne/property/ClassDescriptor.html" title="interface in org.apache.cayenne.property">ClassDescriptor</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="createObject()"><!-- --></A><H3>
createObject</H3>
<PRE>
public java.lang.Object <B>createObject</B>()</PRE>
<DL>
<DD>Creates a new instance of a class described by this object.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/cayenne/property/ClassDescriptor.html#createObject()">createObject</A></CODE> in interface <CODE><A HREF="../../../../org/apache/cayenne/property/ClassDescriptor.html" title="interface in org.apache.cayenne.property">ClassDescriptor</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="injectValueHolders(java.lang.Object)"><!-- --></A><H3>
injectValueHolders</H3>
<PRE>
public void <B>injectValueHolders</B>(java.lang.Object&nbsp;object)
throws <A HREF="../../../../org/apache/cayenne/property/PropertyAccessException.html" title="class in org.apache.cayenne.property">PropertyAccessException</A></PRE>
<DL>
<DD>Invokes 'prepareForAccess' of a super descriptor and then invokes
'prepareForAccess' of each declared property.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/cayenne/property/ClassDescriptor.html#injectValueHolders(java.lang.Object)">injectValueHolders</A></CODE> in interface <CODE><A HREF="../../../../org/apache/cayenne/property/ClassDescriptor.html" title="interface in org.apache.cayenne.property">ClassDescriptor</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../org/apache/cayenne/property/PropertyAccessException.html" title="class in org.apache.cayenne.property">PropertyAccessException</A></CODE></DL>
</DD>
</DL>
<HR>
<A NAME="shallowMerge(java.lang.Object, java.lang.Object)"><!-- --></A><H3>
shallowMerge</H3>
<PRE>
public void <B>shallowMerge</B>(java.lang.Object&nbsp;from,
java.lang.Object&nbsp;to)
throws <A HREF="../../../../org/apache/cayenne/property/PropertyAccessException.html" title="class in org.apache.cayenne.property">PropertyAccessException</A></PRE>
<DL>
<DD>Copies object properties from one object to another. Invokes 'shallowCopy' of a
super descriptor and then invokes 'shallowCopy' of each declared property.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/cayenne/property/ClassDescriptor.html#shallowMerge(java.lang.Object, java.lang.Object)">shallowMerge</A></CODE> in interface <CODE><A HREF="../../../../org/apache/cayenne/property/ClassDescriptor.html" title="interface in org.apache.cayenne.property">ClassDescriptor</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../org/apache/cayenne/property/PropertyAccessException.html" title="class in org.apache.cayenne.property">PropertyAccessException</A></CODE></DL>
</DD>
</DL>
<HR>
<A NAME="visitProperties(org.apache.cayenne.property.PropertyVisitor)"><!-- --></A><H3>
visitProperties</H3>
<PRE>
public boolean <B>visitProperties</B>(<A HREF="../../../../org/apache/cayenne/property/PropertyVisitor.html" title="interface in org.apache.cayenne.property">PropertyVisitor</A>&nbsp;visitor)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/cayenne/property/ClassDescriptor.html#visitProperties(org.apache.cayenne.property.PropertyVisitor)">ClassDescriptor</A></CODE></B></DD>
<DD>Passes the visitor to all properties "visit" method, terminating properties walk
through in case one of the properties returns false. Returns true if all visited
properties returned true, false - if one property returned false.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/cayenne/property/ClassDescriptor.html#visitProperties(org.apache.cayenne.property.PropertyVisitor)">visitProperties</A></CODE> in interface <CODE><A HREF="../../../../org/apache/cayenne/property/ClassDescriptor.html" title="interface in org.apache.cayenne.property">ClassDescriptor</A></CODE></DL>
</DD>
<DD><DL>
</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/apache/cayenne/property/ArcProperty.html" title="interface in org.apache.cayenne.property"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../org/apache/cayenne/property/BeanAccessor.html" title="class in org.apache.cayenne.property"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../index.html?org/apache/cayenne/property/BaseClassDescriptor.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="BaseClassDescriptor.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;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<HR>
<i>Copyright &#169; 2001-2006 <a href=
"http://apache.org" target="_top">Apache.org</a> All Rights Reserved.</i>
</BODY>
</HTML>