db-jdo-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From c..@apache.org
Subject svn commit: r557331 - /db/jdo/trunk/api2/src/java/javax/jdo/annotations/
Date Wed, 18 Jul 2007 16:58:38 GMT
Author: clr
Date: Wed Jul 18 09:58:32 2007
New Revision: 557331

URL: http://svn.apache.org/viewvc?view=rev&rev=557331
Log:
JDO-403 Added generateForeignKey and foreignKey to Element, Key, Value
Added uniqueKey and index to Element, Key, Value
Added generatePrimaryKey and primaryKey to Join
Updated javadoc

M    annotations/Join.java
M    annotations/Extensions.java
M    annotations/PersistenceAware.java
M    annotations/Query.java
M    annotations/FetchGroup.java
M    annotations/Unique.java
M    annotations/NullValue.java
M    annotations/Implements.java
M    annotations/Joins.java
M    annotations/Field.java
M    annotations/Property.java
M    annotations/ForeignKeys.java
M    annotations/Version.java
M    annotations/IdGeneratorStrategy.java
M    annotations/Embedded.java
M    annotations/Serialized.java
M    annotations/ForeignKey.java
M    annotations/Transactional.java
M    annotations/Index.java
M    annotations/Discriminator.java
M    annotations/Transient.java
M    annotations/Order.java
M    annotations/Value.java
M    annotations/Queries.java
M    annotations/Indices.java
M    annotations/Key.java
M    annotations/Inheritance.java
M    annotations/Element.java
M    annotations/Uniques.java
M    annotations/PrimaryKey.java
M    annotations/Column.java

Modified:
    db/jdo/trunk/api2/src/java/javax/jdo/annotations/Column.java
    db/jdo/trunk/api2/src/java/javax/jdo/annotations/Discriminator.java
    db/jdo/trunk/api2/src/java/javax/jdo/annotations/Element.java
    db/jdo/trunk/api2/src/java/javax/jdo/annotations/Embedded.java
    db/jdo/trunk/api2/src/java/javax/jdo/annotations/Extensions.java
    db/jdo/trunk/api2/src/java/javax/jdo/annotations/FetchGroup.java
    db/jdo/trunk/api2/src/java/javax/jdo/annotations/Field.java
    db/jdo/trunk/api2/src/java/javax/jdo/annotations/ForeignKey.java
    db/jdo/trunk/api2/src/java/javax/jdo/annotations/ForeignKeys.java
    db/jdo/trunk/api2/src/java/javax/jdo/annotations/IdGeneratorStrategy.java
    db/jdo/trunk/api2/src/java/javax/jdo/annotations/Implements.java
    db/jdo/trunk/api2/src/java/javax/jdo/annotations/Index.java
    db/jdo/trunk/api2/src/java/javax/jdo/annotations/Indices.java
    db/jdo/trunk/api2/src/java/javax/jdo/annotations/Inheritance.java
    db/jdo/trunk/api2/src/java/javax/jdo/annotations/Join.java
    db/jdo/trunk/api2/src/java/javax/jdo/annotations/Joins.java
    db/jdo/trunk/api2/src/java/javax/jdo/annotations/Key.java
    db/jdo/trunk/api2/src/java/javax/jdo/annotations/NullValue.java
    db/jdo/trunk/api2/src/java/javax/jdo/annotations/Order.java
    db/jdo/trunk/api2/src/java/javax/jdo/annotations/PersistenceAware.java
    db/jdo/trunk/api2/src/java/javax/jdo/annotations/PrimaryKey.java
    db/jdo/trunk/api2/src/java/javax/jdo/annotations/Property.java
    db/jdo/trunk/api2/src/java/javax/jdo/annotations/Queries.java
    db/jdo/trunk/api2/src/java/javax/jdo/annotations/Query.java
    db/jdo/trunk/api2/src/java/javax/jdo/annotations/Serialized.java
    db/jdo/trunk/api2/src/java/javax/jdo/annotations/Transactional.java
    db/jdo/trunk/api2/src/java/javax/jdo/annotations/Transient.java
    db/jdo/trunk/api2/src/java/javax/jdo/annotations/Unique.java
    db/jdo/trunk/api2/src/java/javax/jdo/annotations/Uniques.java
    db/jdo/trunk/api2/src/java/javax/jdo/annotations/Value.java
    db/jdo/trunk/api2/src/java/javax/jdo/annotations/Version.java

Modified: db/jdo/trunk/api2/src/java/javax/jdo/annotations/Column.java
URL: http://svn.apache.org/viewvc/db/jdo/trunk/api2/src/java/javax/jdo/annotations/Column.java?view=diff&rev=557331&r1=557330&r2=557331
==============================================================================
--- db/jdo/trunk/api2/src/java/javax/jdo/annotations/Column.java (original)
+++ db/jdo/trunk/api2/src/java/javax/jdo/annotations/Column.java Wed Jul 18 09:58:32 2007
@@ -34,61 +34,65 @@
 {
     /**
      * Name of the column.
-     * @return Name of the column
+     * @return the name of the column
      */
     String name() default "";
 
     /**
-     * Target column for this column when part of a foreign key relation.
-     * @return Target column for this column when part of a foreign key relation.
+     * Target column for this column in the other table when part of a 
+     * foreign key relation.
+     * @return the target column in the other table for this column 
+     * when part of a foreign key relation.
      */
     String target() default "";
 
     /**
-     * Target field for this column when part of a bidirectional relation.
-     * @return Target field for this column when part of a bidirectional relation.
+     * Target field in the other class or interface for this column 
+     * when part of a bidirectional relation.
+     * @return the target field for this column when part of 
+     * a bidirectional relation.
      */
     String targetField() default "";
 
     /**
-     * JDBC Type for this column
-     * @return JDBC Type for this column
+     * JDBC Type for this column.
+     * @return JDBC type for this column
      */
     String jdbcType() default "";
 
     /**
-     * SQL Type for this column
-     * @return SQL Type for this column
+     * SQL Type for this column.
+     * @return SQL type for this column
      */
     String sqlType() default "";
 
     /**
-     * Maximum length of data stored in this column
-     * @return Maximum length of data stored in this column
+     * Maximum length of data stored in this column.
+     * @return the maximum length of data stored in this column
      */
     int length() default -1;
 
     /**
-     * Scale for the column when handling floating point values
-     * @return Scale for the column when handling floating point values
+     * Scale for the column when handling floating point values.
+     * @return the scale for the column when handling floating point values
      */
     int scale() default -1;
 
     /**
-     * Whether the column allows nulls to be inserted.
-     * @return Whether the column allows nulls to be inserted.
+     * Whether the column allows null values to be inserted.
+     * @return whether the column allows null values to be inserted
      */
     String allowsNull() default "";
 
     /**
-     * Default value for this column
-     * @return Default value for this column
+     * Default value for this column.
+     * @return the default value for this column
      */
     String defaultValue() default "";
 
     /**
      * Value to be inserted when this is an "unmapped" column
-     * @return Value to be inserted when this is an "unmapped" column
+     * @return the value to be inserted when this is an "unmapped" column
      */
     String insertValue() default "";
 }

Modified: db/jdo/trunk/api2/src/java/javax/jdo/annotations/Discriminator.java
URL: http://svn.apache.org/viewvc/db/jdo/trunk/api2/src/java/javax/jdo/annotations/Discriminator.java?view=diff&rev=557331&r1=557330&r2=557331
==============================================================================
--- db/jdo/trunk/api2/src/java/javax/jdo/annotations/Discriminator.java (original)
+++ db/jdo/trunk/api2/src/java/javax/jdo/annotations/Discriminator.java Wed Jul 18 09:58:32 2007
@@ -35,20 +35,20 @@
     /**
      * Strategy to use for discriminator. The discriminator determines
      * the class associated with a row in the datastore.
-     * @return Strategy to use for discriminator.
+     * @return the strategy to use for discriminator
      */
     DiscriminatorStrategy strategy() 
         default DiscriminatorStrategy.UNKNOWN;
 
     /**
      * Whether the discriminator is indexed.
-     * @return Whether the discriminator is indexed.
+     * @return whether the discriminator is indexed
      */
     String indexed() default "";
 
     /**
      * Name of the column for the discriminator
-     * @return Name of the column for the discriminator
+     * @return the name of the column for the discriminator
      */
     String column() default "";
 
@@ -56,13 +56,13 @@
      * The value for the discriminator for objects of this class 
      * when using "value-map" strategy.
      * @return The value for the discriminator for objects of this class 
-     * when using "value-map" strategy.
+     * when using "value-map" strategy
      */
     String value() default "";
 
     /**
      * The column(s) making up the discriminator.
-     * @return The column(s) making up the discriminator.
+     * @return the column(s) making up the discriminator
      */
     Column[] columns() default {};
 }

Modified: db/jdo/trunk/api2/src/java/javax/jdo/annotations/Element.java
URL: http://svn.apache.org/viewvc/db/jdo/trunk/api2/src/java/javax/jdo/annotations/Element.java?view=diff&rev=557331&r1=557330&r2=557331
==============================================================================
--- db/jdo/trunk/api2/src/java/javax/jdo/annotations/Element.java (original)
+++ db/jdo/trunk/api2/src/java/javax/jdo/annotations/Element.java Wed Jul 18 09:58:32 2007
@@ -44,78 +44,101 @@
      * Types of the elements. This is used as an alternative to "type" when 
      * the implementation supports specification of multiple element types. 
      * If "type" is specified then this is ignored.
-     * @return The types of elements
+     * @return the types of elements
      */
     Class[] types() default {};
 
     /**
-     * Whether the element is to be stored serialised (into a join table)
-     * @return Whether the element is to be stored serialised 
+     * Whether the element is to be stored serialized (into a join table)
+     * @return whether the element is to be stored serialized 
      * (into a join table)
      */
     String serialized() default "";
 
     /**
-     * Whether the element is to be stored embedded (into a join table)
-     * @return Whether the element is to be stored embedded (into a join table)
+     * Whether the element is to be stored embedded (into a join table).
+     * @return whether the element is to be stored embedded (into a join table)
      */
     String embedded() default "";
 
     /**
      * Whether the element is dependent on the owner, and will be deleted 
-     * when the owner is deleted
-     * @return Whether the element is dependent on the owner, and will be 
+     * when the owner is deleted.
+     * @return whether the element is dependent on the owner, and will be 
      * deleted when the owner is deleted
      */
     String dependent() default "";
 
     /**
-     * Name of the table for the element
-     * @return Name of the table for the element
+     * Name of the table for the element.
+     * @return name of the table for the element
      */
     String table() default "";
 
     /**
-     * Name of the column to store the element in
-     * @return Name of the column to store the element in
+     * Name of the column to store the element in.
+     * @return name of the column to store the element in
      */
     String column() default "";
 
     /**
-     * Delete action to apply to any foreign-key for the element
-     * @return Delete action to apply to any foreign-key for the element
+     * Delete action to apply to any foreign key for the element.
+     * @return delete action to apply to any foreign key for the element
      */
     ForeignKeyAction deleteAction() default ForeignKeyAction.UNKNOWN;
 
     /**
-     * Update action to apply to any foreign-key for the element
-     * @return Update action to apply to any foreign-key for the element
+     * Update action to apply to any foreign key for the element
+     * @return update action to apply to any foreign key for the element
      */
     ForeignKeyAction updateAction() default ForeignKeyAction.UNKNOWN;
 
     /**
-     * Whether the element column(s) should be indexed.
-     * @return Whether the element column(s) should be indexed.
+     * Whether the value column(s) should be indexed.
+     * @return whether the value column(s) should be indexed.
      */
     String indexed() default "";
 
+    /** The name of the index to generate. 
+     * @return the name of the index
+     */
+    String index() default "";
+
     /**
-     * Whether the element column(s) contents are unique
-     * @return Whether the element column(s) contents are unique
+     * Whether a unique constraint should be generated or assumed.
+     * @return whether a unique constraint should be generated or assumed
      */
     String unique() default "";
 
     /**
+     * The name of the unique key constraint to generate.
+     * @return the name of the unique key constraint
+     */
+    String uniqueKey() default "";
+
+    /**
      * Name of the field in the target class that forms a bidirectional 
      * relationship with this field. 
-     * @return Name of the field in the target class that forms a bidirectional 
+     * @return name of the field in the target class that forms a bidirectional 
      * relationship with this field
      */
     String mappedBy() default "";
 
     /**
      * The column(s) for the element.
-     * @return The column(s) for the element.
+     * @return the column(s) for the element
      */
     Column[] columns() default {};
+
+    /** Generate or assume a foreign key constraint exists on the column
+     * or columns associated with this join. Specify "true" or "false".
+     * @return whether to generate or assume a primary key constraint
+     */
+    String generateForeignKey() default "";
+
+    /** Name for a generated primary key constraint.
+     * @return the name of the generated primary key constraint
+     */
+    String foreignKey() default "";
+
 }

Modified: db/jdo/trunk/api2/src/java/javax/jdo/annotations/Embedded.java
URL: http://svn.apache.org/viewvc/db/jdo/trunk/api2/src/java/javax/jdo/annotations/Embedded.java?view=diff&rev=557331&r1=557330&r2=557331
==============================================================================
--- db/jdo/trunk/api2/src/java/javax/jdo/annotations/Embedded.java (original)
+++ db/jdo/trunk/api2/src/java/javax/jdo/annotations/Embedded.java Wed Jul 18 09:58:32 2007
@@ -51,10 +51,12 @@
     String nullIndicatorValue() default "";
 
     /** Field definitions for this embedding. 
+     * @return the fields embedded in the field or property being annotated
      */
     Field[] fields() default {};
 
     /** Property definitions for this embedding. 
-     */
+      * @return the properties embedded in the field or property being annotated
+    */
     Property[] properties() default {};
 }

Modified: db/jdo/trunk/api2/src/java/javax/jdo/annotations/Extensions.java
URL: http://svn.apache.org/viewvc/db/jdo/trunk/api2/src/java/javax/jdo/annotations/Extensions.java?view=diff&rev=557331&r1=557330&r2=557331
==============================================================================
--- db/jdo/trunk/api2/src/java/javax/jdo/annotations/Extensions.java (original)
+++ db/jdo/trunk/api2/src/java/javax/jdo/annotations/Extensions.java Wed Jul 18 09:58:32 2007
@@ -33,7 +33,7 @@
 {
     /**
      * The extensions.
-     * @return The extensions
+     * @return the extensions
      */
     Extension[] value();
 }

Modified: db/jdo/trunk/api2/src/java/javax/jdo/annotations/FetchGroup.java
URL: http://svn.apache.org/viewvc/db/jdo/trunk/api2/src/java/javax/jdo/annotations/FetchGroup.java?view=diff&rev=557331&r1=557330&r2=557331
==============================================================================
--- db/jdo/trunk/api2/src/java/javax/jdo/annotations/FetchGroup.java (original)
+++ db/jdo/trunk/api2/src/java/javax/jdo/annotations/FetchGroup.java Wed Jul 18 09:58:32 2007
@@ -34,20 +34,20 @@
 {
     /**
      * Name of the fetch group.
-     * @return the name of the fetch group.
+     * @return the name of the fetch group
      */
     String name() default "";
 
     /**
      * Whether we should load this group as part of the post load process.
-     * @return Whether we should load this group as part of the post load 
+     * @return whether we should load this group as part of the post load 
      * process.
      */
     String postLoad() default "";
 
     /**
-     * Field definition for the fetch group
-     * @return Field definition for the fetch group
+     * Field definition for the fetch group.
+     * @return field definition for the fetch group
      */
     FetchField[] fields();
 

Modified: db/jdo/trunk/api2/src/java/javax/jdo/annotations/Field.java
URL: http://svn.apache.org/viewvc/db/jdo/trunk/api2/src/java/javax/jdo/annotations/Field.java?view=diff&rev=557331&r1=557330&r2=557331
==============================================================================
--- db/jdo/trunk/api2/src/java/javax/jdo/annotations/Field.java (original)
+++ db/jdo/trunk/api2/src/java/javax/jdo/annotations/Field.java Wed Jul 18 09:58:32 2007
@@ -84,7 +84,7 @@
     String sequence() default "";
 
     /** Name of the fetch-group to use when this field is loaded 
-     * due to being referenced when not already loaded 
+     * due to being referenced when not already loaded.
      * @return the name of the load fetch group
      */
     String loadFetchGroup() default "";
@@ -128,7 +128,10 @@
      */
     String nullIndicatorColumn() default "";
 
-    /** Name of the field when this is embedded in another object. 
+    /** Name of the field when this is embedded in another object.
+     * The fully-qualified field name is used. For example, 
+     * "line.point.x" refers to the field x in class Point that is embedded
+     * in class Line that is embedded in a field called line.
      * @return the name of the field
      */
     String name() default ""; 

Modified: db/jdo/trunk/api2/src/java/javax/jdo/annotations/ForeignKey.java
URL: http://svn.apache.org/viewvc/db/jdo/trunk/api2/src/java/javax/jdo/annotations/ForeignKey.java?view=diff&rev=557331&r1=557330&r2=557331
==============================================================================
--- db/jdo/trunk/api2/src/java/javax/jdo/annotations/ForeignKey.java (original)
+++ db/jdo/trunk/api2/src/java/javax/jdo/annotations/ForeignKey.java Wed Jul 18 09:58:32 2007
@@ -28,30 +28,49 @@
  * @version 2.1
  * @since 2.1
  */
-@Target({ElementType.TYPE, ElementType.FIELD, ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME)
+@Target({ElementType.TYPE, ElementType.FIELD, ElementType.METHOD}) 
+@Retention(RetentionPolicy.RUNTIME)
 public @interface ForeignKey
 {
-    /** Name of the foreign-key. */
+    /** Name of the foreign key.
+     * @return the name of the foreign key
+     */
     String name() default "";
 
-    /** Table for the foreign-key. */
+    /** Table for the foreign key. This is needed iff annotating a type where
+     * the foreign key is not defined on the primary table for the type.
+     * @return the table on which the foreign key is defined
+     */
     String table() default "";
 
-    /** Whether this foreign-key is deferred */
+    /** Whether this foreign key is deferred 
+     * (constraint is checked only at commit).
+     * @return whether this foreign key is deferred
+     */
     String deferred() default "";
 
-    /** Whether this foreign-key is unique */
+    /** Whether this foreign key is unique.
+     * @return whether this foreign key is unique
+     */
     String unique() default "";
 
-    /** The delete action of this FK */
+    /** The delete action of this foreign key.
+     * @return the delete action of this foreign key
+     */
     ForeignKeyAction deleteAction() default ForeignKeyAction.RESTRICT;
 
-    /** The update action of this FK */
+    /** The update action of this foreign key.
+     * @return the update action of this foreign key
+     */
     ForeignKeyAction updateAction() default ForeignKeyAction.RESTRICT;
 
-    /** Field names that comprise this index. */
+    /** Field names that comprise this foreign key.
+     * @return the field names that comprise this foreign key
+     */
     String[] fields() default {};
 
-    /** Columns that comprise this index. */
+    /** Columns that comprise this foreign key.
+     * @return the columns that comprise this foreign key
+     */
     Column[] columns() default {};
 }

Modified: db/jdo/trunk/api2/src/java/javax/jdo/annotations/ForeignKeys.java
URL: http://svn.apache.org/viewvc/db/jdo/trunk/api2/src/java/javax/jdo/annotations/ForeignKeys.java?view=diff&rev=557331&r1=557330&r2=557331
==============================================================================
--- db/jdo/trunk/api2/src/java/javax/jdo/annotations/ForeignKeys.java (original)
+++ db/jdo/trunk/api2/src/java/javax/jdo/annotations/ForeignKeys.java Wed Jul 18 09:58:32 2007
@@ -27,7 +27,8 @@
  * @version 2.1
  * @since 2.1
  */
-@Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.TYPE) 
+@Retention(RetentionPolicy.RUNTIME)
 public @interface ForeignKeys
 {
     /**

Modified: db/jdo/trunk/api2/src/java/javax/jdo/annotations/IdGeneratorStrategy.java
URL: http://svn.apache.org/viewvc/db/jdo/trunk/api2/src/java/javax/jdo/annotations/IdGeneratorStrategy.java?view=diff&rev=557331&r1=557330&r2=557331
==============================================================================
--- db/jdo/trunk/api2/src/java/javax/jdo/annotations/IdGeneratorStrategy.java (original)
+++ db/jdo/trunk/api2/src/java/javax/jdo/annotations/IdGeneratorStrategy.java Wed Jul 18 09:58:32 2007
@@ -31,5 +31,4 @@
     INCREMENT,
     UUIDSTRING,
     UUIDHEX
-    // Allow for implementations own types ... e.g add CUSTOM as an option
 };

Modified: db/jdo/trunk/api2/src/java/javax/jdo/annotations/Implements.java
URL: http://svn.apache.org/viewvc/db/jdo/trunk/api2/src/java/javax/jdo/annotations/Implements.java?view=diff&rev=557331&r1=557330&r2=557331
==============================================================================
--- db/jdo/trunk/api2/src/java/javax/jdo/annotations/Implements.java (original)
+++ db/jdo/trunk/api2/src/java/javax/jdo/annotations/Implements.java Wed Jul 18 09:58:32 2007
@@ -28,9 +28,13 @@
  * @version 2.1
  * @since 2.1
  */
-@Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.TYPE) 
+@Retention(RetentionPolicy.RUNTIME)
 public @interface Implements
 {
-    /** Interfaces implemented by this PersistenceCapable (class names of the interfaces). */
+    /** Interfaces implemented by this PersistenceCapable (class names 
+     * of the interfaces).
+     * @return the names of interfaces implemented by the class
+     */
     String[] value();
 }

Modified: db/jdo/trunk/api2/src/java/javax/jdo/annotations/Index.java
URL: http://svn.apache.org/viewvc/db/jdo/trunk/api2/src/java/javax/jdo/annotations/Index.java?view=diff&rev=557331&r1=557330&r2=557331
==============================================================================
--- db/jdo/trunk/api2/src/java/javax/jdo/annotations/Index.java (original)
+++ db/jdo/trunk/api2/src/java/javax/jdo/annotations/Index.java Wed Jul 18 09:58:32 2007
@@ -28,21 +28,30 @@
  * @version 2.1
  * @since 2.1
  */
-@Target({ElementType.TYPE, ElementType.FIELD, ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME)
+@Target({ElementType.TYPE, ElementType.FIELD, ElementType.METHOD}) 
+@Retention(RetentionPolicy.RUNTIME)
 public @interface Index
 {
-    /** Name of the index */
+    /** Name of the index
+     * @return the name of the index
+     */
     String name() default "";
 
-    /** Table for the index (if required). */
+    /** Table for the index. This is needed iff annotating a type where
+     * the index is not defined on the primary table for the type.
+     * @return the table on which the index is defined
+     */
     String table() default "";
 
-    /** Whether this index is unique */
+    /** Whether this index is unique 
+     */
     String unique() default "";
 
-    /** Field names that comprise this index. */
+    /** Field names that comprise this index. 
+     */
     String[] fields() default {};
 
-    /** Columns that comprise this index. */
+    /** Columns that comprise this index. 
+     */
     Column[] columns() default {};
 }

Modified: db/jdo/trunk/api2/src/java/javax/jdo/annotations/Indices.java
URL: http://svn.apache.org/viewvc/db/jdo/trunk/api2/src/java/javax/jdo/annotations/Indices.java?view=diff&rev=557331&r1=557330&r2=557331
==============================================================================
--- db/jdo/trunk/api2/src/java/javax/jdo/annotations/Indices.java (original)
+++ db/jdo/trunk/api2/src/java/javax/jdo/annotations/Indices.java Wed Jul 18 09:58:32 2007
@@ -27,7 +27,8 @@
  * @version 2.1
  * @since 2.1
  */
-@Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.TYPE) 
+@Retention(RetentionPolicy.RUNTIME)
 public @interface Indices
 {
     /**

Modified: db/jdo/trunk/api2/src/java/javax/jdo/annotations/Inheritance.java
URL: http://svn.apache.org/viewvc/db/jdo/trunk/api2/src/java/javax/jdo/annotations/Inheritance.java?view=diff&rev=557331&r1=557330&r2=557331
==============================================================================
--- db/jdo/trunk/api2/src/java/javax/jdo/annotations/Inheritance.java (original)
+++ db/jdo/trunk/api2/src/java/javax/jdo/annotations/Inheritance.java Wed Jul 18 09:58:32 2007
@@ -28,9 +28,13 @@
  * @version 2.1
  * @since 2.1
  */
-@Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.TYPE) 
+@Retention(RetentionPolicy.RUNTIME)
 public @interface Inheritance
 {
-    /** Strategy to use for inheritance. Relates to where the data for the class is stored. */
+    /** Strategy to use for inheritance. Specifies where the data for
+     * the class is stored.
+     * @return the inheritance strategy
+     */
     InheritanceStrategy strategy();
 }

Modified: db/jdo/trunk/api2/src/java/javax/jdo/annotations/Join.java
URL: http://svn.apache.org/viewvc/db/jdo/trunk/api2/src/java/javax/jdo/annotations/Join.java?view=diff&rev=557331&r1=557330&r2=557331
==============================================================================
--- db/jdo/trunk/api2/src/java/javax/jdo/annotations/Join.java (original)
+++ db/jdo/trunk/api2/src/java/javax/jdo/annotations/Join.java Wed Jul 18 09:58:32 2007
@@ -28,27 +28,76 @@
  * @version 2.1
  * @since 2.1
  */
-@Target({ElementType.TYPE, ElementType.FIELD, ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME)
+@Target({ElementType.TYPE, ElementType.FIELD, ElementType.METHOD}) 
+@Retention(RetentionPolicy.RUNTIME)
 public @interface Join
 {
-    /** Table to join to (used when joining to secondary tables). */
+    /** Table to join to (used when joining to secondary tables). 
+     * @return the table
+     */
     String table() default "";
 
-    /** Name of the column in the join table. */
+    /** Name of the column in the join table. 
+     * @return the name of the column in the join table
+     */
     String column() default "";
 
-    /** Whether the join column is indexed. */
+    /** Whether the join column is indexed. 
+     * @return whether the join column(s) is(are) indexed
+     */
     String indexed() default "";
 
-    /** Whether the join column is unique */
+    /** The name of the index to generate. 
+     * @return the name of the index
+     */
+    String index() default "";
+
+    /** Whether the join column is unique 
+     * @return whether the join column(s) is(are) is unique
+     */
     String unique() default "";
 
-    /** Whether to use an outer join. */
+    /**
+     * The name of the unique key constraint to generate.
+     * @return the name of the unique key constraint
+     */
+    String uniqueKey() default "";
+
+    /** Whether to use an outer join. 
+     * @return whether to use an outer join
+     */
     String outer() default "";
 
-    /** Delete action to be applied to any ForeignKey on this join. */
+    /** Delete action to be applied to any ForeignKey on this join.
+     * @return the delete action
+     */
     ForeignKeyAction deleteAction() default ForeignKeyAction.UNKNOWN;
 
-    /** Detail definition of the join column(s). */
+    /** Detail definition of the join column(s). This is needed for
+     * more than one join column.
+     * @return the join columns
+     */
     Column[] columns() default {};
+
+    /** Generate or assume a primary key constraint exists on the column
+     * or columns associated with this join. Specify "true" or "false".
+     * @return whether to generate or assume a primary key constraint
+     */
+    String generatePrimaryKey() default "";
+
+    /** Name for a generated primary key constraint.
+     * @return the name of the generated primary key constraint
+     */
+    String primaryKey() default "";
+
+    /** Generate or assume a foreign key constraint exists on the column
+     * or columns associated with this join. Specify "true" or "false".
+     * @return whether to generate or assume a primary key constraint
+     */
+    String generateForeignKey() default "";
+
+    /** Name for a generated primary key constraint.
+     * @return the name of the generated primary key constraint
+     */
+    String foreignKey() default "";
 }

Modified: db/jdo/trunk/api2/src/java/javax/jdo/annotations/Joins.java
URL: http://svn.apache.org/viewvc/db/jdo/trunk/api2/src/java/javax/jdo/annotations/Joins.java?view=diff&rev=557331&r1=557330&r2=557331
==============================================================================
--- db/jdo/trunk/api2/src/java/javax/jdo/annotations/Joins.java (original)
+++ db/jdo/trunk/api2/src/java/javax/jdo/annotations/Joins.java Wed Jul 18 09:58:32 2007
@@ -27,12 +27,16 @@
  * @version 2.1
  * @since 2.1
  */
-@Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.TYPE) 
+@Retention(RetentionPolicy.RUNTIME)
 public @interface Joins
 {
     /**
-     * The join definitions
-     * @return The join definitions
+     * The join definitions used for the mapping of this type. Joins for
+     * secondary tables are usually defined at the type level and not the
+     * field or property level. This allows multiple fields and properties
+     * to share the same join definition and avoid redundancies.
+     * @return the join definitions
      */
     Join[] value();
 }

Modified: db/jdo/trunk/api2/src/java/javax/jdo/annotations/Key.java
URL: http://svn.apache.org/viewvc/db/jdo/trunk/api2/src/java/javax/jdo/annotations/Key.java?view=diff&rev=557331&r1=557330&r2=557331
==============================================================================
--- db/jdo/trunk/api2/src/java/javax/jdo/annotations/Key.java (original)
+++ db/jdo/trunk/api2/src/java/javax/jdo/annotations/Key.java Wed Jul 18 09:58:32 2007
@@ -29,85 +29,114 @@
  * @version 2.1
  * @since 2.1
  */
-@Target({ElementType.FIELD, ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME)
+@Target({ElementType.FIELD, ElementType.METHOD}) 
+@Retention(RetentionPolicy.RUNTIME)
 public @interface Key
 {
     /**
-     * The type of the key. This can be determined if using JDK1.5 generics but is required otherwise.
-     * @return The type of the key.
+     * The type of the key. This can be determined if using JDK1.5 generics
+     * but is required otherwise.
+     * @return the type of the key
      */
     Class type() default void.class;
 
     /**
-     * Types of the keys. This is used as an alternative to "type" when the implementation supports
-     * specification of multiple key types. If "type" is specified then this is ignored.
-     * @return The types of keys
+     * Types of the keys. This is used as an alternative to "type" when the 
+     * implementation supports specification of multiple key types. 
+     * If "type" is specified then this is ignored.
+     * @return the types of keys
      */
     Class[] types() default {};
 
     /**
-     * Whether the key is to be stored serialised (into a join table)
-     * @return Whether the key is to be stored serialised (into a join table)
+     * Whether the key is to be stored serialized (into a single column of a
+     * join table).
+     * @return whether the key is to be stored serialized
      */
     String serialized() default "";
 
     /**
-     * Whether the key is to be stored embedded (into a join table)
-     * @return Whether the key is to be stored embedded (into a join table)
+     * Whether the key is to be stored embedded (into one or several columns 
+     * of a join table).
+     * @return whether the key is to be stored embedded (into a join table)
      */
     String embedded() default "";
 
     /**
-     * Whether the key is dependent on the owner (and so will be deleted when it is)
-     * @return Whether the key is dependent on the owner (and so will be deleted when it is)
+     * Whether the key is dependent on the owner (and will be deleted 
+     * when the owner is deleted).
+     * @return whether the key is dependent on the owner
      */
     String dependent() default "";
 
     /**
-     * Name of the table for the key
-     * @return Name of the table for the key
+     * Name of the table for the key.
+     * @return name of the table for the key
      */
     String table() default "";
 
     /**
-     * Name of the column to store the key in
-     * @return Name of the column to store the key in
+     * Name of the column to store the key in.
+     * @return name of the column to store the key in
      */
     String column() default "";
 
     /**
-     * Delete action to apply to any foreign-key for the key
-     * @return Delete action to apply to any foreign-key for the key
+     * Delete action to apply to the foreign key for the key.
+     * @return delete action to apply to the foreign key for the key
      */
     ForeignKeyAction deleteAction() default ForeignKeyAction.UNKNOWN;
 
     /**
-     * Update action to apply to any foreign-key for the key
-     * @return Update action to apply to any foreign-key for the key
+     * Update action to apply to the foreign key for the key.
+     * @return update action to apply to the foreign key for the key
      */
     ForeignKeyAction updateAction() default ForeignKeyAction.UNKNOWN;
 
     /**
-     * Whether the key column(s) should be indexed.
-     * @return Whether the key column(s) should be indexed.
+     * Whether the value column(s) should be indexed.
+     * @return whether the value column(s) should be indexed.
      */
     String indexed() default "";
 
+    /** The name of the index to generate. 
+     * @return the name of the index
+     */
+    String index() default "";
+
     /**
-     * Whether the key column(s) contents should be considered unique
-     * @return Whether the key column(s) contents should be considered unique
+     * Whether the element column(s) contents should be considered unique
+     * @return whether the element column(s) contents should be considered unique
      */
     String unique() default "";
 
     /**
+     * The name of the unique key constraint to generate.
+     * @return the name of the unique key constraint
+     */
+    String uniqueKey() default "";
+
+    /**
      * Name of a field in the value class where this key value is stored.
-     * @return Name of a field in the value where this key is stored
+     * @return the name of a field in the value where this key is stored
      */
     String mappedBy() default "";
 
     /**
      * The column(s) for the key
-     * @return The column(s) for the key
+     * @return the column(s) for the key
      */
     Column[] columns() default {};
+
+    /** Generate or assume a foreign key constraint exists on the column
+     * or columns associated with this join. Specify "true" or "false".
+     * @return whether to generate or assume a primary key constraint
+     */
+    String generateForeignKey() default "";
+
+    /** Name for a generated primary key constraint.
+     * @return the name of the generated primary key constraint
+     */
+    String foreignKey() default "";
+
 }

Modified: db/jdo/trunk/api2/src/java/javax/jdo/annotations/NullValue.java
URL: http://svn.apache.org/viewvc/db/jdo/trunk/api2/src/java/javax/jdo/annotations/NullValue.java?view=diff&rev=557331&r1=557330&r2=557331
==============================================================================
--- db/jdo/trunk/api2/src/java/javax/jdo/annotations/NullValue.java (original)
+++ db/jdo/trunk/api2/src/java/javax/jdo/annotations/NullValue.java Wed Jul 18 09:58:32 2007
@@ -17,7 +17,7 @@
 package javax.jdo.annotations;
 
 /**
- * Enumeration of the JDO2 "null-value" behaviour values.
+ * Enumeration of the JDO2 "null-value" behavior values.
  * 
  * @version 2.1
  * @since 2.1

Modified: db/jdo/trunk/api2/src/java/javax/jdo/annotations/Order.java
URL: http://svn.apache.org/viewvc/db/jdo/trunk/api2/src/java/javax/jdo/annotations/Order.java?view=diff&rev=557331&r1=557330&r2=557331
==============================================================================
--- db/jdo/trunk/api2/src/java/javax/jdo/annotations/Order.java (original)
+++ db/jdo/trunk/api2/src/java/javax/jdo/annotations/Order.java Wed Jul 18 09:58:32 2007
@@ -28,15 +28,24 @@
  * @version 2.1
  * @since 2.1
  */
-@Target({ElementType.FIELD, ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME)
+@Target({ElementType.FIELD, ElementType.METHOD}) 
+@Retention(RetentionPolicy.RUNTIME)
 public @interface Order
 {
-    /** The name of the column to use for the ordering column (1-N relations). */
+    /** The name of the column to use for the ordering column (1-N and M-N
+     * relations).
+     * @return the name of the ordering column
+     */
     String column() default "";
 
-    /** Name of a field in the target object that acts as the ordering for this Collection/List. */
+    /** Name of a field or property in the target class that acts as the 
+     * ordering field or property for this Collection/List/Array.
+     * Return the name of the field or property in the target class
+     */
     String mappedBy() default "";
 
-    /** The definition of the column(s) to use for ordering. */
+    /** The definition of the column(s) to use for ordering.
+     * @return the columns to use for ordering
+     */
     Column[] columns() default {};
 }

Modified: db/jdo/trunk/api2/src/java/javax/jdo/annotations/PersistenceAware.java
URL: http://svn.apache.org/viewvc/db/jdo/trunk/api2/src/java/javax/jdo/annotations/PersistenceAware.java?view=diff&rev=557331&r1=557330&r2=557331
==============================================================================
--- db/jdo/trunk/api2/src/java/javax/jdo/annotations/PersistenceAware.java (original)
+++ db/jdo/trunk/api2/src/java/javax/jdo/annotations/PersistenceAware.java Wed Jul 18 09:58:32 2007
@@ -27,7 +27,8 @@
  * @version 2.1
  * @since 2.1
  */
-@Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.TYPE) 
+@Retention(RetentionPolicy.RUNTIME)
 public @interface PersistenceAware
 {
 }

Modified: db/jdo/trunk/api2/src/java/javax/jdo/annotations/PrimaryKey.java
URL: http://svn.apache.org/viewvc/db/jdo/trunk/api2/src/java/javax/jdo/annotations/PrimaryKey.java?view=diff&rev=557331&r1=557330&r2=557331
==============================================================================
--- db/jdo/trunk/api2/src/java/javax/jdo/annotations/PrimaryKey.java (original)
+++ db/jdo/trunk/api2/src/java/javax/jdo/annotations/PrimaryKey.java Wed Jul 18 09:58:32 2007
@@ -29,24 +29,25 @@
  * @version 2.1
  * @since 2.1
  */
-@Target({ElementType.TYPE, ElementType.FIELD, ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME)
+@Target({ElementType.TYPE, ElementType.FIELD, ElementType.METHOD}) 
+@Retention(RetentionPolicy.RUNTIME)
 public @interface PrimaryKey
 {
     /**
      * Name of the primary key constraint
-     * @return Name of the primary key constraint
+     * @return the name of the primary key constraint
      */
     String name() default "";
 
     /**
      * Name of the column to use for the primary key
-     * @return Name of the column to use for the primary key
+     * @return the name of the column to use for the primary key
      */
     String column() default "";
 
     /**
      * The column(s) for the primary key
-     * @return The column(s) for the primary key
+     * @return the column(s) for the primary key
      */
     Column[] columns() default {};
 }

Modified: db/jdo/trunk/api2/src/java/javax/jdo/annotations/Property.java
URL: http://svn.apache.org/viewvc/db/jdo/trunk/api2/src/java/javax/jdo/annotations/Property.java?view=diff&rev=557331&r1=557330&r2=557331
==============================================================================
--- db/jdo/trunk/api2/src/java/javax/jdo/annotations/Property.java (original)
+++ db/jdo/trunk/api2/src/java/javax/jdo/annotations/Property.java Wed Jul 18 09:58:32 2007
@@ -27,7 +27,8 @@
  * @version 2.1
  * @since 2.1
  */
-@Target({ElementType.FIELD, ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME)
+@Target({ElementType.FIELD, ElementType.METHOD}) 
+@Retention(RetentionPolicy.RUNTIME)
 public @interface Property
 {
     /** Modifier for this property. 

Modified: db/jdo/trunk/api2/src/java/javax/jdo/annotations/Queries.java
URL: http://svn.apache.org/viewvc/db/jdo/trunk/api2/src/java/javax/jdo/annotations/Queries.java?view=diff&rev=557331&r1=557330&r2=557331
==============================================================================
--- db/jdo/trunk/api2/src/java/javax/jdo/annotations/Queries.java (original)
+++ db/jdo/trunk/api2/src/java/javax/jdo/annotations/Queries.java Wed Jul 18 09:58:32 2007
@@ -27,7 +27,8 @@
  * @version 2.1
  * @since 2.1
  */
-@Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.TYPE) 
+@Retention(RetentionPolicy.RUNTIME)
 public @interface Queries
 {
     /**

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?view=diff&rev=557331&r1=557330&r2=557331
==============================================================================
--- db/jdo/trunk/api2/src/java/javax/jdo/annotations/Query.java (original)
+++ db/jdo/trunk/api2/src/java/javax/jdo/annotations/Query.java Wed Jul 18 09:58:32 2007
@@ -28,24 +28,37 @@
  * @version 2.1
  * @since 2.1
  */
-@Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.TYPE) 
+@Retention(RetentionPolicy.RUNTIME)
 public @interface Query
 {
-    /** Name of the query (mandatory) */
+    /** Name of the query (mandatory)
+     * @return the name of the query
+     */
     String name();
 
-    /** The query string (mandatory) */
+    /** The query string (mandatory)
+     * @return the query string
+     */
     String value();
 
-    /** The query language */
+    /** The query language
+     * @return the query language
+     */
     QueryLanguage language() default QueryLanguage.JDOQL;
 
-    /** Whether the query is unmodifiable. */
+    /** Whether the query is unmodifiable.
+     * @return whether the query is unmodifiable
+     */
     String unmodifiable() default "";
 
-    /** Whether the query returns unique results. */
+    /** Whether the query returns a single unique result.
+     * @return whether the query returns a single unique result
+     */
     String unique() default "";
 
-    /** Result Class to dump the results into */
+    /** Result class to put the results into
+     * @return the class of the result
+     */
     Class resultClass() default void.class;
 }

Modified: db/jdo/trunk/api2/src/java/javax/jdo/annotations/Serialized.java
URL: http://svn.apache.org/viewvc/db/jdo/trunk/api2/src/java/javax/jdo/annotations/Serialized.java?view=diff&rev=557331&r1=557330&r2=557331
==============================================================================
--- db/jdo/trunk/api2/src/java/javax/jdo/annotations/Serialized.java (original)
+++ db/jdo/trunk/api2/src/java/javax/jdo/annotations/Serialized.java Wed Jul 18 09:58:32 2007
@@ -22,13 +22,14 @@
 import java.lang.annotation.Target;
 
 /**
- * Annotation for whether the field is stored serialised.
+ * Annotation for whether the field is stored serialized.
  * This is the same as specifying @Field(serialized="true").
  * 
  * @version 2.1
  * @since 2.1
  */
-@Target({ElementType.FIELD, ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME)
+@Target({ElementType.FIELD, ElementType.METHOD}) 
+@Retention(RetentionPolicy.RUNTIME)
 public @interface Serialized
 {
 }

Modified: db/jdo/trunk/api2/src/java/javax/jdo/annotations/Transactional.java
URL: http://svn.apache.org/viewvc/db/jdo/trunk/api2/src/java/javax/jdo/annotations/Transactional.java?view=diff&rev=557331&r1=557330&r2=557331
==============================================================================
--- db/jdo/trunk/api2/src/java/javax/jdo/annotations/Transactional.java (original)
+++ db/jdo/trunk/api2/src/java/javax/jdo/annotations/Transactional.java Wed Jul 18 09:58:32 2007
@@ -23,12 +23,14 @@
 
 /**
  * Annotation for whether the field is transactional.
- * This is the same as specifying @Field(persistenceModifier=FieldPersistenceModifier.TRANSACTIONAL).
+ * This is the same as specifying 
+ * "@Field(persistenceModifier=FieldPersistenceModifier.TRANSACTIONAL)".
  * 
  * @version 2.1
  * @since 2.1
  */
-@Target({ElementType.FIELD, ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME)
+@Target({ElementType.FIELD, ElementType.METHOD}) 
+@Retention(RetentionPolicy.RUNTIME)
 public @interface Transactional
 {
 }

Modified: db/jdo/trunk/api2/src/java/javax/jdo/annotations/Transient.java
URL: http://svn.apache.org/viewvc/db/jdo/trunk/api2/src/java/javax/jdo/annotations/Transient.java?view=diff&rev=557331&r1=557330&r2=557331
==============================================================================
--- db/jdo/trunk/api2/src/java/javax/jdo/annotations/Transient.java (original)
+++ db/jdo/trunk/api2/src/java/javax/jdo/annotations/Transient.java Wed Jul 18 09:58:32 2007
@@ -23,12 +23,14 @@
 
 /**
  * Annotation for whether the field is transient (not persisted).
- * This is the same as specifying @Field(persistenceModifier=FieldPersistenceModifier.NONE).
+ * This is the same as specifying 
+ * "@Field(persistenceModifier=FieldPersistenceModifier.NONE)".
  * 
  * @version 2.1
  * @since 2.1
  */
-@Target({ElementType.FIELD, ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME)
+@Target({ElementType.FIELD, ElementType.METHOD}) 
+@Retention(RetentionPolicy.RUNTIME)
 public @interface Transient
 {
 }

Modified: db/jdo/trunk/api2/src/java/javax/jdo/annotations/Unique.java
URL: http://svn.apache.org/viewvc/db/jdo/trunk/api2/src/java/javax/jdo/annotations/Unique.java?view=diff&rev=557331&r1=557330&r2=557331
==============================================================================
--- db/jdo/trunk/api2/src/java/javax/jdo/annotations/Unique.java (original)
+++ db/jdo/trunk/api2/src/java/javax/jdo/annotations/Unique.java Wed Jul 18 09:58:32 2007
@@ -28,21 +28,34 @@
  * @version 2.1
  * @since 2.1
  */
-@Target({ElementType.TYPE, ElementType.FIELD, ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME)
+@Target({ElementType.TYPE, ElementType.FIELD, ElementType.METHOD}) 
+@Retention(RetentionPolicy.RUNTIME)
 public @interface Unique
 {
-    /** Name of the unique constraint. */
+    /** Name of the unique constraint.
+     * @return the name of the unique constraint
+     */
     String name() default "";
 
-    /** Table for the unique constraint (if required). */
+    /** Table for the unique constraint. This is needed iff annotating a type 
+     * where the unique constraint is not defined on the primary table for 
+     * the type.
+     * @return the table on which the unique constraint is defined
+     */
     String table() default "";
 
-    /** Whether this unique constraint is deferred */
+    /** Whether this unique constraint is deferred until commit.
+     * @return whether this unique constraint is deferred until commit
+     */
     String deferred() default "";
 
-    /** Field names that comprise this index. */
+    /** Field names that comprise this unique constraint.
+     * @return field names that comprise this unique constraint
+     */
     String[] fields() default {};
 
-    /** Columns that comprise this index. */
+    /** Columns that comprise this unique constraint.
+     * @return columns that comprise this unique constraint
+     */
     Column[] columns() default {};
 }

Modified: db/jdo/trunk/api2/src/java/javax/jdo/annotations/Uniques.java
URL: http://svn.apache.org/viewvc/db/jdo/trunk/api2/src/java/javax/jdo/annotations/Uniques.java?view=diff&rev=557331&r1=557330&r2=557331
==============================================================================
--- db/jdo/trunk/api2/src/java/javax/jdo/annotations/Uniques.java (original)
+++ db/jdo/trunk/api2/src/java/javax/jdo/annotations/Uniques.java Wed Jul 18 09:58:32 2007
@@ -27,12 +27,13 @@
  * @version 2.1
  * @since 2.1
  */
-@Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.TYPE) 
+@Retention(RetentionPolicy.RUNTIME)
 public @interface Uniques
 {
     /**
-     * The (unique) candidate keys
-     * @return The (unique) candidate keys
+     * The unique constraints.
+     * @return The unique constraints
      */
     Unique[] value();
 }

Modified: db/jdo/trunk/api2/src/java/javax/jdo/annotations/Value.java
URL: http://svn.apache.org/viewvc/db/jdo/trunk/api2/src/java/javax/jdo/annotations/Value.java?view=diff&rev=557331&r1=557330&r2=557331
==============================================================================
--- db/jdo/trunk/api2/src/java/javax/jdo/annotations/Value.java (original)
+++ db/jdo/trunk/api2/src/java/javax/jdo/annotations/Value.java Wed Jul 18 09:58:32 2007
@@ -28,85 +28,114 @@
  * @version 2.1
  * @since 2.1
  */
-@Target({ElementType.FIELD, ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME)
+@Target({ElementType.FIELD, ElementType.METHOD}) 
+@Retention(RetentionPolicy.RUNTIME)
 public @interface Value
 {
     /**
-     * The type of the value. This can be determined if using JDK1.5 generics but is required otherwise.
+     * The type of the value. This can be determined if using JDK1.5 generics
+     * but is required otherwise.
      * @return The type of the value.
      */
     Class type() default void.class;
 
     /**
-     * Types of the values. This is used as an alternative to "type" when the implementation supports
-     * specification of multiple value types. If "type" is specified then this is ignored.
-     * @return The types of values
+     * Types of the values. This is used as an alternative to "type" when the 
+     * implementation supports specification of multiple value types. 
+     * If "type" is specified then this is ignored.
+     * @return the types of values
      */
     Class[] types() default {};
 
     /**
-     * Whether the value is to be stored serialised (into a join table)
-     * @return Whether the value is to be stored serialised (into a join table)
+     * Whether the value  is to be stored serialized (into a single column of a
+     * join table).
+     * @return Whether the value is to be stored serialized (into a join table)
      */
     String serialized() default "";
 
     /**
-     * Whether the value is to be stored embedded (into a join table)
+     * Whether the value is to be stored embedded (into one or several columns 
+     * of a join table).
      * @return Whether the value is to be stored embedded (into a join table)
      */
     String embedded() default "";
 
     /**
-     * Whether the value is dependent on the owner (and so will be deleted when it is)
-     * @return Whether the value is dependent on the owner (and so will be deleted when it is)
+     * Whether the value is dependent on the owner (and will be deleted 
+     * when the owner is deleted).
+     * @return whether the value is dependent on the owner
      */
     String dependent() default "";
 
     /**
-     * Name of the table for the value
-     * @return Name of the table for the value
+     * Name of the table for the value.
+     * @return the name of the table for the value
      */
     String table() default "";
 
     /**
-     * Name of the column to store the value in
-     * @return Name of the column to store the value in
+     * Name of the column to store the value in.
+     * @return the name of the column to store the value in
      */
     String column() default "";
 
     /**
-     * Delete action to apply to any foreign-key for the value
-     * @return Delete action to apply to any foreign-key for the value
+     * Delete action to apply to any foreign key for the value.
+     * @return delete action to apply to any foreign key for the value
      */
     ForeignKeyAction deleteAction() default ForeignKeyAction.UNKNOWN;
 
     /**
-     * Update action to apply to any foreign-key for the value
-     * @return Update action to apply to any foreign-key for the value
+     * Update action to apply to any foreign key for the value.
+     * @return update action to apply to any foreign key for the value
      */
     ForeignKeyAction updateAction() default ForeignKeyAction.UNKNOWN;
 
     /**
      * Whether the value column(s) should be indexed.
-     * @return Whether the value column(s) should be indexed.
+     * @return whether the value column(s) should be indexed.
      */
     String indexed() default "";
 
+    /** The name of the index to generate. 
+     * @return the name of the index
+     */
+    String index() default "";
+
     /**
      * Whether the element column(s) contents should be considered unique
-     * @return Whether the element column(s) contents should be considered unique
+     * @return whether the element column(s) contents should be considered unique
      */
     String unique() default "";
 
     /**
+     * The name of the unique key constraint to generate.
+     * @return the name of the unique key constraint
+     */
+    String uniqueKey() default "";
+
+    /**
      * Name of a field in the key class where this value is stored.
-     * @return Name of a field in the key class where this value is stored
+     * @return the name of a field in the key class where this value is stored
      */
     String mappedBy() default "";
 
     /**
-     * The column(s) for the value
-     * @return The column(s) for the value
+     * The column(s) for the value.
+     * @return the column(s) for the value
      */
     Column[] columns() default {};
+
+    /** Generate or assume a foreign key constraint exists on the column
+     * or columns associated with this join. Specify "true" or "false".
+     * @return whether to generate or assume a primary key constraint
+     */
+    String generateForeignKey() default "";
+
+    /** Name for a generated primary key constraint.
+     * @return the name of the generated primary key constraint
+     */
+    String foreignKey() default "";
+
 }

Modified: db/jdo/trunk/api2/src/java/javax/jdo/annotations/Version.java
URL: http://svn.apache.org/viewvc/db/jdo/trunk/api2/src/java/javax/jdo/annotations/Version.java?view=diff&rev=557331&r1=557330&r2=557331
==============================================================================
--- db/jdo/trunk/api2/src/java/javax/jdo/annotations/Version.java (original)
+++ db/jdo/trunk/api2/src/java/javax/jdo/annotations/Version.java Wed Jul 18 09:58:32 2007
@@ -28,30 +28,31 @@
  * @version 2.1
  * @since 2.1
  */
-@Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.TYPE) 
+@Retention(RetentionPolicy.RUNTIME)
 public @interface Version
 {
     /**
-     * Strategy for versioning of objects of this class
-     * @return Strategy for versioning objects of this class
+     * Strategy for versioning of objects of this class.
+     * @return the strategy for versioning objects of this class
      */
     VersionStrategy strategy();
 
     /**
-     * Name of the column for the version
-     * @return Name of the column for the version
+     * Name of the column for the version.
+     * @return the name of the column for the version
      */
     String column() default "";
 
     /**
-     * Whether the version column(s) is indexed
-     * @return Whether the version column(s) is indexed
+     * Whether the version column(s) is(are) indexed.
+     * @return whether the version column(s) is(are) indexed
      */
     String indexed() default "";
 
     /**
      * The column(s) making up the version.
-     * @return The column(s) making up the version.
+     * @return the column(s) making up the version
      */
     Column[] columns() default {};
 }



Mime
View raw message