Update of /cvsroot/xdoclet/xdoclet/modules/jdo/src/xdoclet/modules/jdo
In directory 
sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26492/modules/jdo/src/xdoclet/modules/jdo

Modified Files:
        JdoXmlMetadataSubTask.java 
Log Message:
Added project-wide default-fetch-depth (which is overridden by field-tag 
"fetch-depth").

Index: JdoXmlMetadataSubTask.java
===================================================================
RCS file: 
/cvsroot/xdoclet/xdoclet/modules/jdo/src/xdoclet/modules/jdo/JdoXmlMetadataSubTask.java,v
retrieving revision 1.15
retrieving revision 1.16
diff -C2 -r1.15 -r1.16
*** JdoXmlMetadataSubTask.java  29 Aug 2005 20:28:50 -0000      1.15
--- JdoXmlMetadataSubTask.java  17 Sep 2005 15:49:34 -0000      1.16
***************
*** 61,64 ****
--- 61,68 ----
      private String  project = "metadata";
  
+     /**
+      * @see   #setFetchDepth(int)
+      */
+     private int     fetchDepth = -1;
  
      /**
***************
*** 80,83 ****
--- 84,95 ----
      }
  
+     /**
+      * @return   Returns the fetch-depth as set by [EMAIL PROTECTED] 
#setFetchDepth(int)} or -1 if nothing was set.
+      */
+     public int getFetchDepth()
+     {
+         return fetchDepth;
+     }
+ 
      public void setProject(String project)
      {
***************
*** 91,94 ****
--- 103,124 ----
  
      /**
+      * The JDO spec defines that a fetch-depth of 1 shall be used if a field 
has no fetch-depth declared. In case you
+      * don't like this default, you must tag every field with a different 
fetch-depth. This is an annoying work if you
+      * want to have the same for the majority of your fields. Hence, you have 
the possibility to declare the <code>fetchDepth</code>
+      * attribute for the <code>jdometadata</code> subtask. This will cause 
every field to be tagged with this default,
+      * if the field doesn't have a fetch-depth declared. If the field has a 
fetch-depth, this one is used.
+      *
+      * @param fetchDepth  Either -1 to indicate that no default-fetch-depth 
should be set, or 0 for infinite depth, or a
+      *      positive number indicating how many levels the detaching shall 
dive into the object-graph.
+      */
+     public void setFetchDepth(int fetchDepth)
+     {
+         if (fetchDepth < -1)
+             throw new IllegalArgumentException("fetchDepth=" + fetchDepth + " 
is illegal! Must be -1 to deactivate the default-fetch-depth or a number >= 
0!");
+ 
+         this.fetchDepth = fetchDepth;
+     }
+ 
+     /**
       * Called to validate configuration parameters.
       *



-------------------------------------------------------
SF.Net email is sponsored by:
Tame your development challenges with Apache's Geronimo App Server. 
Download it for free - -and be entered to win a 42" plasma tv or your very
own Sony(tm)PSP.  Click here to play: http://sourceforge.net/geronimo.php
_______________________________________________
xdoclet-devel mailing list
xdoclet-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/xdoclet-devel

Reply via email to