You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openjpa.apache.org by aw...@apache.org on 2006/12/08 21:20:24 UTC
svn commit: r484738 -
/incubator/openjpa/trunk/openjpa-project/src/doc/manual/ref_guide_pc.xml
Author: awhite
Date: Fri Dec 8 12:20:22 2006
New Revision: 484738
URL: http://svn.apache.org/viewvc?view=rev&rev=484738
Log:
Document capabilities of new proxy manager.
Modified:
incubator/openjpa/trunk/openjpa-project/src/doc/manual/ref_guide_pc.xml
Modified: incubator/openjpa/trunk/openjpa-project/src/doc/manual/ref_guide_pc.xml
URL: http://svn.apache.org/viewvc/incubator/openjpa/trunk/openjpa-project/src/doc/manual/ref_guide_pc.xml?view=diff&rev=484738&r1=484737&r2=484738
==============================================================================
--- incubator/openjpa/trunk/openjpa-project/src/doc/manual/ref_guide_pc.xml (original)
+++ incubator/openjpa/trunk/openjpa-project/src/doc/manual/ref_guide_pc.xml Fri Dec 8 12:20:22 2006
@@ -1056,9 +1056,9 @@
OpenJPA smart proxies by using fields of type <classname>java.util.Set
</classname>, <classname>java.util.TreeSet</classname>, and <classname>
java.util.HashSet</classname> for your collections whenever possible. Smart
-proxies for these types are more efficient than proxies for <classname>List
-</classname>s. You can also design your own smart proxies to further optimize
-OpenJPA for your usage patterns. See the section on
+proxies for these types are more efficient than proxies for <classname>
+List</classname>s. You can also design your own smart proxies to further
+optimize OpenJPA for your usage patterns. See the section on
<link linkend="ref_guide_pc_scos_proxy_custom">custom proxies</link> for
details.
</para>
@@ -1222,9 +1222,49 @@
<literal>true</literal>.
</para>
</listitem>
+ <listitem>
+ <para>
+<literal>AssertAllowedType</literal>: Whether to immediately throw an exception
+if you attempt to add an element to a collection or map that is not assignable
+to the element type declared in metadata. Defaults to <literal>false</literal>.
+ </para>
+ </listitem>
+ </itemizedlist>
+ <para>
+The default proxy manager can proxy the standard methods of any
+<classname>Collection</classname>, <classname>List</classname>,
+<classname>Map</classname>, <classname>Queue</classname>,
+<classname>Date</classname>, or <classname>Calendar</classname> class,
+including custom implementations. It can also proxy custom classes whose
+accessor and mutator methods follow JavaBean naming conventions. Your custom
+types must, however, meet the following criteria:
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>
+Custom container types must have a public no-arg constructor or a public
+constructor that takes a single <classname>Comparator</classname> parameter.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+Custom date types must have a public no-arg constructor or a public
+constructor that takes a single <classname>long</classname> parameter
+representing the current time.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+Other custom types must have a public no-arg constructor or a public copy
+constructor. If a custom types does not have a copy constructor, it must be
+possible to fully copy an instance A by creating a new instance B and calling
+each of B's setters with the value from the corresponding getter on A.
+ </para>
+ </listitem>
</itemizedlist>
<para>
-For custom behavior, OpenJPA allows you to define your own proxy classes, and
+If you have custom classes that must be proxied and do not meet these
+requirements, OpenJPA allows you to define your own proxy classes and
your own proxy manager. See the <literal>openjpa.util</literal> package
<ulink url="../javadoc/">Javadoc</ulink> for details on the interfaces involved,
and the utility classes OpenJPA provides to assist you.