You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jdo-commits@db.apache.org by mc...@apache.org on 2007/12/18 19:35:16 UTC
svn commit: r605287 - in /db/jdo/trunk/api2/src:
java/javax/jdo/annotations/FetchPlan.java
java/javax/jdo/annotations/FetchPlans.java
java/javax/jdo/annotations/Query.java schema/javax/jdo/jdo_2_1.xsd
Author: mcaisse
Date: Tue Dec 18 10:35:13 2007
New Revision: 605287
URL: http://svn.apache.org/viewvc?rev=605287&view=rev
Log:
JDO-448
Added:
db/jdo/trunk/api2/src/java/javax/jdo/annotations/FetchPlan.java (with props)
db/jdo/trunk/api2/src/java/javax/jdo/annotations/FetchPlans.java (with props)
Modified:
db/jdo/trunk/api2/src/java/javax/jdo/annotations/Query.java
db/jdo/trunk/api2/src/schema/javax/jdo/jdo_2_1.xsd
Added: db/jdo/trunk/api2/src/java/javax/jdo/annotations/FetchPlan.java
URL: http://svn.apache.org/viewvc/db/jdo/trunk/api2/src/java/javax/jdo/annotations/FetchPlan.java?rev=605287&view=auto
==============================================================================
--- db/jdo/trunk/api2/src/java/javax/jdo/annotations/FetchPlan.java (added)
+++ db/jdo/trunk/api2/src/java/javax/jdo/annotations/FetchPlan.java Tue Dec 18 10:35:13 2007
@@ -0,0 +1,59 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package javax.jdo.annotations;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * Annotation for the fetch plan of a persistence manager, query, or extent.
+ * Corresponds to the xml element "fetch-plan".
+ *
+ * @version 2.1
+ * @since 2.1
+ */
+@Target(ElementType.TYPE)
+@Retention(RetentionPolicy.RUNTIME)
+public @interface FetchPlan
+{
+ /**
+ * Name of the fetch plan.
+ * @return the name of the fetch plan
+ */
+ String name() default "";
+
+ /**
+ * The fetch groups in this fetch plan.
+ * @return the fetch groups
+ */
+ String[] fetchGroups() default "";
+
+ /**
+ * The depth of references to instantiate, starting with the root object.
+ * @return the maxium fetch depth
+ */
+ int maxFetchDepth() default 1;
+
+ /**
+ * The number of instances of multi-valued fields retrieved by queries.
+ * @return the fetch size
+ */
+ int fetchSize() default 0;
+
+}
Propchange: db/jdo/trunk/api2/src/java/javax/jdo/annotations/FetchPlan.java
------------------------------------------------------------------------------
svn:eol-style = LF
Added: db/jdo/trunk/api2/src/java/javax/jdo/annotations/FetchPlans.java
URL: http://svn.apache.org/viewvc/db/jdo/trunk/api2/src/java/javax/jdo/annotations/FetchPlans.java?rev=605287&view=auto
==============================================================================
--- db/jdo/trunk/api2/src/java/javax/jdo/annotations/FetchPlans.java (added)
+++ db/jdo/trunk/api2/src/java/javax/jdo/annotations/FetchPlans.java Tue Dec 18 10:35:13 2007
@@ -0,0 +1,39 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package javax.jdo.annotations;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * Annotation for a group of FetchPlan objects
+ *
+ * @version 2.1
+ * @since 2.1
+ */
+@Target(ElementType.TYPE)
+@Retention(RetentionPolicy.RUNTIME)
+public @interface FetchPlans
+{
+ /**
+ * The Fetch Plans
+ * @return The Fetch Plans
+ */
+ FetchPlan[] value();
+}
\ No newline at end of file
Propchange: db/jdo/trunk/api2/src/java/javax/jdo/annotations/FetchPlans.java
------------------------------------------------------------------------------
svn:eol-style = LF
Modified: db/jdo/trunk/api2/src/java/javax/jdo/annotations/Query.java
URL: http://svn.apache.org/viewvc/db/jdo/trunk/api2/src/java/javax/jdo/annotations/Query.java?rev=605287&r1=605286&r2=605287&view=diff
==============================================================================
--- db/jdo/trunk/api2/src/java/javax/jdo/annotations/Query.java (original)
+++ db/jdo/trunk/api2/src/java/javax/jdo/annotations/Query.java Tue Dec 18 10:35:13 2007
@@ -62,6 +62,11 @@
*/
Class resultClass() default void.class;
+ /** The name of the fetch plan used by this query
+ * @return the fetch plan
+ */
+ String fetchPlan() default "";
+
/** Vendor extensions.
* @return the vendor extensions
*/
Modified: db/jdo/trunk/api2/src/schema/javax/jdo/jdo_2_1.xsd
URL: http://svn.apache.org/viewvc/db/jdo/trunk/api2/src/schema/javax/jdo/jdo_2_1.xsd?rev=605287&r1=605286&r2=605287&view=diff
==============================================================================
--- db/jdo/trunk/api2/src/schema/javax/jdo/jdo_2_1.xsd (original)
+++ db/jdo/trunk/api2/src/schema/javax/jdo/jdo_2_1.xsd Tue Dec 18 10:35:13 2007
@@ -25,6 +25,7 @@
<xs:element ref="extension"/>
<xs:element ref="package"/>
<xs:element ref="query"/>
+ <xs:element ref="fetch-plan"/>
</xs:choice>
<xs:attributeGroup ref="attlist.jdo"/>
</xs:complexType>
@@ -33,6 +34,19 @@
<xs:attribute name="catalog"/>
<xs:attribute name="schema"/>
</xs:attributeGroup>
+ <xs:element name="fetch-plan">
+ <xs:complexType>
+ <xs:choice maxOccurs="unbounded">
+ <xs:element ref="fetch-group"/>
+ </xs:choice>
+ <xs:attributeGroup ref="attlist.fetch-plan"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="attlist.fetch-plan">
+ <xs:attribute name="name" default=""/>
+ <xs:attribute name="max-fetch-depth" default="1"/>
+ <xs:attribute name="fetch-size" default="0"/>
+ </xs:attributeGroup>
<xs:element name="package">
<xs:complexType>
<xs:choice maxOccurs="unbounded">
@@ -1187,6 +1201,7 @@
</xs:simpleType>
</xs:attribute>
<xs:attribute name="result-class"/>
+ <xs:attribute name="fetch-plan"/>
</xs:attributeGroup>
<xs:element name="unique">
<xs:complexType>