Added: db/jdo/trunk/specification/imports/JDONullIdentityException.txt
URL: http://svn.apache.org/viewvc/db/jdo/trunk/specification/imports/JDONullIdentityException.txt?rev=1293075&view=auto
==============================================================================
(empty)
Propchange: db/jdo/trunk/specification/imports/JDONullIdentityException.txt
------------------------------------------------------------------------------
svn:eol-style = LF
Added: db/jdo/trunk/specification/imports/JDOObjectNotFoundException.txt
URL: http://svn.apache.org/viewvc/db/jdo/trunk/specification/imports/JDOObjectNotFoundException.txt?rev=1293075&view=auto
==============================================================================
(empty)
Propchange: db/jdo/trunk/specification/imports/JDOObjectNotFoundException.txt
------------------------------------------------------------------------------
svn:eol-style = LF
Added: db/jdo/trunk/specification/imports/JDOOptimisticVerificationException.txt
URL: http://svn.apache.org/viewvc/db/jdo/trunk/specification/imports/JDOOptimisticVerificationException.txt?rev=1293075&view=auto
==============================================================================
(empty)
Propchange: db/jdo/trunk/specification/imports/JDOOptimisticVerificationException.txt
------------------------------------------------------------------------------
svn:eol-style = LF
Added: db/jdo/trunk/specification/imports/JDOQueryInterruptedException.txt
URL: http://svn.apache.org/viewvc/db/jdo/trunk/specification/imports/JDOQueryInterruptedException.txt?rev=1293075&view=auto
==============================================================================
(empty)
Propchange: db/jdo/trunk/specification/imports/JDOQueryInterruptedException.txt
------------------------------------------------------------------------------
svn:eol-style = LF
Added: db/jdo/trunk/specification/imports/JDOReadOnlyException.txt
URL: http://svn.apache.org/viewvc/db/jdo/trunk/specification/imports/JDOReadOnlyException.txt?rev=1293075&view=auto
==============================================================================
(empty)
Propchange: db/jdo/trunk/specification/imports/JDOReadOnlyException.txt
------------------------------------------------------------------------------
svn:eol-style = LF
Added: db/jdo/trunk/specification/imports/JDOUnsupportedOptionException.txt
URL: http://svn.apache.org/viewvc/db/jdo/trunk/specification/imports/JDOUnsupportedOptionException.txt?rev=1293075&view=auto
==============================================================================
(empty)
Propchange: db/jdo/trunk/specification/imports/JDOUnsupportedOptionException.txt
------------------------------------------------------------------------------
svn:eol-style = LF
Added: db/jdo/trunk/specification/imports/JDOUserCallbackException.txt
URL: http://svn.apache.org/viewvc/db/jdo/trunk/specification/imports/JDOUserCallbackException.txt?rev=1293075&view=auto
==============================================================================
(empty)
Propchange: db/jdo/trunk/specification/imports/JDOUserCallbackException.txt
------------------------------------------------------------------------------
svn:eol-style = LF
Added: db/jdo/trunk/specification/imports/JDOUserException.txt
URL: http://svn.apache.org/viewvc/db/jdo/trunk/specification/imports/JDOUserException.txt?rev=1293075&view=auto
==============================================================================
(empty)
Propchange: db/jdo/trunk/specification/imports/JDOUserException.txt
------------------------------------------------------------------------------
svn:eol-style = LF
Added: db/jdo/trunk/specification/imports/Join.txt
URL: http://svn.apache.org/viewvc/db/jdo/trunk/specification/imports/Join.txt?rev=1293075&view=auto
==============================================================================
--- db/jdo/trunk/specification/imports/Join.txt (added)
+++ db/jdo/trunk/specification/imports/Join.txt Fri Feb 24 04:25:57 2012
@@ -0,0 +1,78 @@
+@Target({ElementType.TYPE, ElementType.FIELD, ElementType.METHOD})
+@Retention(RetentionPolicy.RUNTIME)
+public @interface Join
+{
+ /** Table to join to (used when joining to secondary tables).
+ * @return the table
+ */
+ String table() default "";
+
+ /** 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.
+ * @return whether the join column(s) is(are) indexed
+ */
+ String indexed() default "";
+
+ /** 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 "";
+
+ /**
+ * 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.
+ * @return the delete action
+ */
+ ForeignKeyAction deleteAction() default ForeignKeyAction.UNSPECIFIED;
+
+ /** 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 foreign key constraint
+ */
+ String generateForeignKey() default "";
+
+ /** Name for a generated foreign key constraint.
+ * @return the name of the generated foreign key constraint
+ */
+ String foreignKey() default "";
+
+ /** Vendor extensions.
+ * @return the vendor extensions
+ */
+ Extension[] extensions() default {};
+}
Propchange: db/jdo/trunk/specification/imports/Join.txt
------------------------------------------------------------------------------
svn:eol-style = LF
Added: db/jdo/trunk/specification/imports/JoinMetadata.java
URL: http://svn.apache.org/viewvc/db/jdo/trunk/specification/imports/JoinMetadata.java?rev=1293075&view=auto
==============================================================================
--- db/jdo/trunk/specification/imports/JoinMetadata.java (added)
+++ db/jdo/trunk/specification/imports/JoinMetadata.java Fri Feb 24 04:25:57 2012
@@ -0,0 +1,186 @@
+/*
+ * 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.metadata;
+
+import javax.jdo.annotations.ForeignKeyAction;
+
+/**
+ * Represents join information.
+ * @since 2.3
+ */
+public interface JoinMetadata extends Metadata {
+ /**
+ * Method to set the join column.
+ *
+ * @param column Name of the join column
+ */
+ JoinMetadata setColumn(String column);
+
+ /**
+ * Accessor for the join column name
+ *
+ * @return The column name
+ */
+ String getColumn();
+
+ /**
+ * Method to set the table name.
+ *
+ * @param table Table name
+ */
+ JoinMetadata setTable(String table);
+
+ /**
+ * Accessor for the name of the table.
+ *
+ * @return The name
+ */
+ String getTable();
+
+ /**
+ * Method to set whether to use an outer join
+ *
+ * @param outer Outer join?
+ */
+ JoinMetadata setOuter(boolean outer);
+
+ /**
+ * Accessor for whether to use an outer join.
+ *
+ * @return Outer join?
+ */
+ boolean getOuter();
+
+ /**
+ * Method to set the delete action of the FK
+ *
+ * @param action Delete action of the FK
+ */
+ JoinMetadata setDeleteAction(ForeignKeyAction action);
+
+ /**
+ * Accessor for the delete action of the FK
+ *
+ * @return The FK delete-action
+ */
+ ForeignKeyAction getDeleteAction();
+
+ /**
+ * Method to set whether indexed.
+ *
+ * @param indexed Whether indexed (true | false | unique)
+ */
+ JoinMetadata setIndexed(Indexed indexed);
+
+ /**
+ * Accessor for whether indexed (true|false|unique)
+ *
+ * @return Indexed?
+ */
+ Indexed getIndexed();
+
+ /**
+ * Method to set whether it is unique.
+ *
+ * @param unique Unique?
+ */
+ JoinMetadata setUnique(boolean unique);
+
+ /**
+ * Accessor for whether unique.
+ *
+ * @return Unique?
+ */
+ Boolean getUnique();
+
+ /**
+ * Method to set new index metadata for the join.
+ *
+ * @return The IndexMetadata
+ */
+ IndexMetadata newIndexMetadata();
+
+ /**
+ * Accessor for any index metadata on this join
+ *
+ * @return Index metadata
+ */
+ IndexMetadata getIndexMetadata();
+
+ /**
+ * Method to set new unique constraint metadata for the join
+ *
+ * @return The UniqueMetadata
+ */
+ UniqueMetadata newUniqueMetadata();
+
+ /**
+ * Accessor for any unique constraint metadata on this join.
+ *
+ * @return The UniqueMetadata
+ */
+ UniqueMetadata getUniqueMetadata();
+
+ /**
+ * Method to set new foreign key metadata for the join
+ *
+ * @return The ForeignKeyMetadata
+ */
+ ForeignKeyMetadata newForeignKeyMetadata();
+
+ /**
+ * Accessor for any foreign key metadata on this join.
+ *
+ * @return The ForeignKeyMetadata
+ */
+ ForeignKeyMetadata getForeignKeyMetadata();
+
+ /**
+ * Method to set new primary key metadata for the join
+ *
+ * @return The PrimaryKeyMetadata
+ */
+ PrimaryKeyMetadata newPrimaryKeyMetadata();
+
+ /**
+ * Accessor for any primary key metadata on this join.
+ *
+ * @return The PrimaryKeyMetadata
+ */
+ PrimaryKeyMetadata getPrimaryKeyMetadata();
+
+ /**
+ * Accessor for all column(s) defined on the join.
+ *
+ * @return The column(s)
+ */
+ ColumnMetadata[] getColumns();
+
+ /**
+ * Add a new column for this join.
+ *
+ * @return The ColumnMetadata
+ */
+ ColumnMetadata newColumnMetadata();
+
+ /**
+ * Accessor for the number of columns defined for this join.
+ *
+ * @return The number of columns
+ */
+ int getNumberOfColumns();
+}
\ No newline at end of file
Propchange: db/jdo/trunk/specification/imports/JoinMetadata.java
------------------------------------------------------------------------------
svn:eol-style = LF
Added: db/jdo/trunk/specification/imports/JoinMetadata.txt
URL: http://svn.apache.org/viewvc/db/jdo/trunk/specification/imports/JoinMetadata.txt?rev=1293075&view=auto
==============================================================================
--- db/jdo/trunk/specification/imports/JoinMetadata.txt (added)
+++ db/jdo/trunk/specification/imports/JoinMetadata.txt Fri Feb 24 04:25:57 2012
@@ -0,0 +1,166 @@
+/**
+ * Represents join information.
+ * @since 2.3
+ */
+public interface JoinMetadata extends Metadata {
+ /**
+ * Method to set the join column.
+ *
+ * @param column Name of the join column
+ */
+ JoinMetadata setColumn(String column);
+
+ /**
+ * Accessor for the join column name
+ *
+ * @return The column name
+ */
+ String getColumn();
+
+ /**
+ * Method to set the table name.
+ *
+ * @param table Table name
+ */
+ JoinMetadata setTable(String table);
+
+ /**
+ * Accessor for the name of the table.
+ *
+ * @return The name
+ */
+ String getTable();
+
+ /**
+ * Method to set whether to use an outer join
+ *
+ * @param outer Outer join?
+ */
+ JoinMetadata setOuter(boolean outer);
+
+ /**
+ * Accessor for whether to use an outer join.
+ *
+ * @return Outer join?
+ */
+ boolean getOuter();
+
+ /**
+ * Method to set the delete action of the FK
+ *
+ * @param action Delete action of the FK
+ */
+ JoinMetadata setDeleteAction(ForeignKeyAction action);
+
+ /**
+ * Accessor for the delete action of the FK
+ *
+ * @return The FK delete-action
+ */
+ ForeignKeyAction getDeleteAction();
+
+ /**
+ * Method to set whether indexed.
+ *
+ * @param indexed Whether indexed (true | false | unique)
+ */
+ JoinMetadata setIndexed(Indexed indexed);
+
+ /**
+ * Accessor for whether indexed (true|false|unique)
+ *
+ * @return Indexed?
+ */
+ Indexed getIndexed();
+
+ /**
+ * Method to set whether it is unique.
+ *
+ * @param unique Unique?
+ */
+ JoinMetadata setUnique(boolean unique);
+
+ /**
+ * Accessor for whether unique.
+ *
+ * @return Unique?
+ */
+ Boolean getUnique();
+
+ /**
+ * Method to set new index metadata for the join.
+ *
+ * @return The IndexMetadata
+ */
+ IndexMetadata newIndexMetadata();
+
+ /**
+ * Accessor for any index metadata on this join
+ *
+ * @return Index metadata
+ */
+ IndexMetadata getIndexMetadata();
+
+ /**
+ * Method to set new unique constraint metadata for the join
+ *
+ * @return The UniqueMetadata
+ */
+ UniqueMetadata newUniqueMetadata();
+
+ /**
+ * Accessor for any unique constraint metadata on this join.
+ *
+ * @return The UniqueMetadata
+ */
+ UniqueMetadata getUniqueMetadata();
+
+ /**
+ * Method to set new foreign key metadata for the join
+ *
+ * @return The ForeignKeyMetadata
+ */
+ ForeignKeyMetadata newForeignKeyMetadata();
+
+ /**
+ * Accessor for any foreign key metadata on this join.
+ *
+ * @return The ForeignKeyMetadata
+ */
+ ForeignKeyMetadata getForeignKeyMetadata();
+
+ /**
+ * Method to set new primary key metadata for the join
+ *
+ * @return The PrimaryKeyMetadata
+ */
+ PrimaryKeyMetadata newPrimaryKeyMetadata();
+
+ /**
+ * Accessor for any primary key metadata on this join.
+ *
+ * @return The PrimaryKeyMetadata
+ */
+ PrimaryKeyMetadata getPrimaryKeyMetadata();
+
+ /**
+ * Accessor for all column(s) defined on the join.
+ *
+ * @return The column(s)
+ */
+ ColumnMetadata[] getColumns();
+
+ /**
+ * Add a new column for this join.
+ *
+ * @return The ColumnMetadata
+ */
+ ColumnMetadata newColumnMetadata();
+
+ /**
+ * Accessor for the number of columns defined for this join.
+ *
+ * @return The number of columns
+ */
+ int getNumberOfColumns();
+}
Propchange: db/jdo/trunk/specification/imports/JoinMetadata.txt
------------------------------------------------------------------------------
svn:eol-style = LF
Added: db/jdo/trunk/specification/imports/Joins.txt
URL: http://svn.apache.org/viewvc/db/jdo/trunk/specification/imports/Joins.txt?rev=1293075&view=auto
==============================================================================
--- db/jdo/trunk/specification/imports/Joins.txt (added)
+++ db/jdo/trunk/specification/imports/Joins.txt Fri Feb 24 04:25:57 2012
@@ -0,0 +1,13 @@
+@Target(ElementType.TYPE)
+@Retention(RetentionPolicy.RUNTIME)
+public @interface Joins
+{
+ /**
+ * 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();
+}
Propchange: db/jdo/trunk/specification/imports/Joins.txt
------------------------------------------------------------------------------
svn:eol-style = LF
Added: db/jdo/trunk/specification/imports/Key.txt
URL: http://svn.apache.org/viewvc/db/jdo/trunk/specification/imports/Key.txt?rev=1293075&view=auto
==============================================================================
--- db/jdo/trunk/specification/imports/Key.txt (added)
+++ db/jdo/trunk/specification/imports/Key.txt Fri Feb 24 04:25:57 2012
@@ -0,0 +1,112 @@
+@Target({ElementType.FIELD, ElementType.METHOD})
+@Retention(RetentionPolicy.RUNTIME)
+public @interface Key
+{
+ /**
+ * Types of the keys. This can be determined if using JDK1.5 generics
+ * but is required otherwise. Multiple types can be specified if the
+ * implementation supports multiple types.
+ * @return the types of keys
+ */
+ Class[] types() default {};
+
+ /**
+ * 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 this key is embedded.
+ * @return whether this key is embedded
+ */
+ String embedded() default "";
+
+ /**
+ * The embedded mapping for the key.
+ * @return the embedded mapping for the key
+ */
+ Embedded[] embeddedMapping() default {};
+
+ /**
+ * 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
+ */
+ String table() default "";
+
+ /**
+ * 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 the foreign key for the key.
+ * @return delete action to apply to the foreign key for the key
+ */
+ ForeignKeyAction deleteAction() default ForeignKeyAction.UNSPECIFIED;
+
+ /**
+ * 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.UNSPECIFIED;
+
+ /**
+ * 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
+ */
+ 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 member in the value class where this key is stored.
+ * @return the name of a member in the value class where this key is stored
+ */
+ String mappedBy() default "";
+
+ /**
+ * 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 foreign key constraint
+ */
+ String generateForeignKey() default "";
+
+ /** Name for a generated foreign key constraint.
+ * @return the name of the generated foreign key constraint
+ */
+ String foreignKey() default "";
+
+ /** Vendor extensions.
+ * @return the vendor extensions
+ */
+ Extension[] extensions() default {};
+}
Propchange: db/jdo/trunk/specification/imports/Key.txt
------------------------------------------------------------------------------
svn:eol-style = LF
Added: db/jdo/trunk/specification/imports/KeyMetadata.java
URL: http://svn.apache.org/viewvc/db/jdo/trunk/specification/imports/KeyMetadata.java?rev=1293075&view=auto
==============================================================================
--- db/jdo/trunk/specification/imports/KeyMetadata.java (added)
+++ db/jdo/trunk/specification/imports/KeyMetadata.java Fri Feb 24 04:25:57 2012
@@ -0,0 +1,157 @@
+/*
+ * 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.metadata;
+
+import javax.jdo.annotations.ForeignKeyAction;
+
+/**
+ * Represents a key in a map.
+ */
+public interface KeyMetadata extends Metadata {
+ /**
+ * Method to set the column name.
+ *
+ * @param column Column name
+ */
+ KeyMetadata setColumn(String column);
+
+ /**
+ * Accessor for the name of the column.
+ *
+ * @return The name
+ */
+ String getColumn();
+
+ /**
+ * Method to set the table name.
+ *
+ * @param table Table name
+ */
+ KeyMetadata setTable(String table);
+
+ /**
+ * Accessor for the name of the table.
+ *
+ * @return The name
+ */
+ String getTable();
+
+ /**
+ * Method to set the delete action of the FK
+ *
+ * @param action Delete action of the FK
+ */
+ KeyMetadata setDeleteAction(ForeignKeyAction action);
+
+ /**
+ * Accessor for the delete action of the FK
+ *
+ * @return The FK delete-action
+ */
+ ForeignKeyAction getDeleteAction();
+
+ /**
+ * Method to set the update action of the FK
+ *
+ * @param action Update action of the FK
+ */
+ KeyMetadata setUpdateAction(ForeignKeyAction action);
+
+ /**
+ * Accessor for the update action of the FK
+ *
+ * @return The FK update-action
+ */
+ ForeignKeyAction getUpdateAction();
+
+ /**
+ * Accessor for all column(s) defined on the key.
+ *
+ * @return The column(s)
+ */
+ ColumnMetadata[] getColumns();
+
+ /**
+ * Add a new column for this key.
+ *
+ * @return The ColumnMetadata
+ */
+ ColumnMetadata newColumnMetadata();
+
+ /**
+ * Accessor for the number of columns defined for this key.
+ *
+ * @return The number of columns
+ */
+ int getNumberOfColumns();
+
+ /**
+ * Method to set new embedded metadata for the key.
+ *
+ * @return The EmbeddedMetadata
+ */
+ EmbeddedMetadata newEmbeddedMetadata();
+
+ /**
+ * Accessor for any embedded metadata on this key
+ *
+ * @return The EmbeddedMetadata
+ */
+ EmbeddedMetadata getEmbeddedMetadata();
+
+ /**
+ * Method to set new index metadata for the key.
+ *
+ * @return The IndexMetadata
+ */
+ IndexMetadata newIndexMetadata();
+
+ /**
+ * Accessor for any index metadata on this key
+ *
+ * @return Index metadata
+ */
+ IndexMetadata getIndexMetadata();
+
+ /**
+ * Method to set new unique constraint metadata for the key
+ *
+ * @return The UniqueMetadata
+ */
+ UniqueMetadata newUniqueMetadata();
+
+ /**
+ * Accessor for any unique constraint metadata on this key.
+ *
+ * @return The UniqueMetadata
+ */
+ UniqueMetadata getUniqueMetadata();
+
+ /**
+ * Method to set new foreign key metadata for the key
+ *
+ * @return The ForeignKeyMetadata
+ */
+ ForeignKeyMetadata newForeignKeyMetadata();
+
+ /**
+ * Accessor for any foreign key metadata on this key.
+ *
+ * @return The ForeignKeyMetadata
+ */
+ ForeignKeyMetadata getForeignKeyMetadata();
+}
\ No newline at end of file
Propchange: db/jdo/trunk/specification/imports/KeyMetadata.java
------------------------------------------------------------------------------
svn:eol-style = LF
Added: db/jdo/trunk/specification/imports/KeyMetadata.txt
URL: http://svn.apache.org/viewvc/db/jdo/trunk/specification/imports/KeyMetadata.txt?rev=1293075&view=auto
==============================================================================
--- db/jdo/trunk/specification/imports/KeyMetadata.txt (added)
+++ db/jdo/trunk/specification/imports/KeyMetadata.txt Fri Feb 24 04:25:57 2012
@@ -0,0 +1,137 @@
+/**
+ * Represents a key in a map.
+ */
+public interface KeyMetadata extends Metadata {
+ /**
+ * Method to set the column name.
+ *
+ * @param column Column name
+ */
+ KeyMetadata setColumn(String column);
+
+ /**
+ * Accessor for the name of the column.
+ *
+ * @return The name
+ */
+ String getColumn();
+
+ /**
+ * Method to set the table name.
+ *
+ * @param table Table name
+ */
+ KeyMetadata setTable(String table);
+
+ /**
+ * Accessor for the name of the table.
+ *
+ * @return The name
+ */
+ String getTable();
+
+ /**
+ * Method to set the delete action of the FK
+ *
+ * @param action Delete action of the FK
+ */
+ KeyMetadata setDeleteAction(ForeignKeyAction action);
+
+ /**
+ * Accessor for the delete action of the FK
+ *
+ * @return The FK delete-action
+ */
+ ForeignKeyAction getDeleteAction();
+
+ /**
+ * Method to set the update action of the FK
+ *
+ * @param action Update action of the FK
+ */
+ KeyMetadata setUpdateAction(ForeignKeyAction action);
+
+ /**
+ * Accessor for the update action of the FK
+ *
+ * @return The FK update-action
+ */
+ ForeignKeyAction getUpdateAction();
+
+ /**
+ * Accessor for all column(s) defined on the key.
+ *
+ * @return The column(s)
+ */
+ ColumnMetadata[] getColumns();
+
+ /**
+ * Add a new column for this key.
+ *
+ * @return The ColumnMetadata
+ */
+ ColumnMetadata newColumnMetadata();
+
+ /**
+ * Accessor for the number of columns defined for this key.
+ *
+ * @return The number of columns
+ */
+ int getNumberOfColumns();
+
+ /**
+ * Method to set new embedded metadata for the key.
+ *
+ * @return The EmbeddedMetadata
+ */
+ EmbeddedMetadata newEmbeddedMetadata();
+
+ /**
+ * Accessor for any embedded metadata on this key
+ *
+ * @return The EmbeddedMetadata
+ */
+ EmbeddedMetadata getEmbeddedMetadata();
+
+ /**
+ * Method to set new index metadata for the key.
+ *
+ * @return The IndexMetadata
+ */
+ IndexMetadata newIndexMetadata();
+
+ /**
+ * Accessor for any index metadata on this key
+ *
+ * @return Index metadata
+ */
+ IndexMetadata getIndexMetadata();
+
+ /**
+ * Method to set new unique constraint metadata for the key
+ *
+ * @return The UniqueMetadata
+ */
+ UniqueMetadata newUniqueMetadata();
+
+ /**
+ * Accessor for any unique constraint metadata on this key.
+ *
+ * @return The UniqueMetadata
+ */
+ UniqueMetadata getUniqueMetadata();
+
+ /**
+ * Method to set new foreign key metadata for the key
+ *
+ * @return The ForeignKeyMetadata
+ */
+ ForeignKeyMetadata newForeignKeyMetadata();
+
+ /**
+ * Accessor for any foreign key metadata on this key.
+ *
+ * @return The ForeignKeyMetadata
+ */
+ ForeignKeyMetadata getForeignKeyMetadata();
+}
Propchange: db/jdo/trunk/specification/imports/KeyMetadata.txt
------------------------------------------------------------------------------
svn:eol-style = LF
Added: db/jdo/trunk/specification/imports/MapMetadata.java
URL: http://svn.apache.org/viewvc/db/jdo/trunk/specification/imports/MapMetadata.java?rev=1293075&view=auto
==============================================================================
--- db/jdo/trunk/specification/imports/MapMetadata.java (added)
+++ db/jdo/trunk/specification/imports/MapMetadata.java Fri Feb 24 04:25:57 2012
@@ -0,0 +1,135 @@
+/*
+ * 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.metadata;
+
+/**
+ * Represents details of a map in a field/property in a class.
+ * @since 2.3
+ */
+public interface MapMetadata extends Metadata {
+ /**
+ * Method to set the name of the key type
+ *
+ * @param type Name of the key type
+ */
+ MapMetadata setKeyType(String type);
+
+ /**
+ * Accessor for the key type
+ *
+ * @return The key type
+ */
+ String getKeyType();
+
+ /**
+ * Method to set whether the key is embedded
+ *
+ * @param val Whether it is embedded
+ */
+ MapMetadata setEmbeddedKey(boolean val);
+
+ /**
+ * Accessor for whether the key is embedded
+ *
+ * @return whether the key is embedded
+ */
+ Boolean getEmbeddedKey();
+
+ /**
+ * Method to set whether the key is serialised
+ *
+ * @param val Whether it is serialised
+ */
+ MapMetadata setSerializedKey(boolean val);
+
+ /**
+ * Accessor for whether the key is serialised
+ *
+ * @return whether the key is serialised
+ */
+ Boolean getSerializedKey();
+
+ /**
+ * Method to set whether the key is dependent
+ *
+ * @param val Whether it is dependent
+ */
+ MapMetadata setDependentKey(boolean val);
+
+ /**
+ * Accessor for whether the key is dependent
+ *
+ * @return whether the key is dependent
+ */
+ Boolean getDependentKey();
+
+ /**
+ * Method to set the name of the value type
+ *
+ * @param type Name of the value type
+ */
+ MapMetadata setValueType(String type);
+
+ /**
+ * Accessor for the value type
+ *
+ * @return The value type
+ */
+ String getValueType();
+
+ /**
+ * Method to set whether the value is embedded
+ *
+ * @param val Whether it is embedded
+ */
+ MapMetadata setEmbeddedValue(boolean val);
+
+ /**
+ * Accessor for whether the value is embedded
+ *
+ * @return whether the value is embedded
+ */
+ Boolean getEmbeddedValue();
+
+ /**
+ * Method to set whether the value is serialised
+ *
+ * @param val Whether it is serialised
+ */
+ MapMetadata setSerializedValue(boolean val);
+
+ /**
+ * Accessor for whether the value is serialised
+ *
+ * @return whether the value is serialised
+ */
+ Boolean getSerializedValue();
+
+ /**
+ * Method to set whether the value is dependent
+ *
+ * @param val Whether it is dependent
+ */
+ MapMetadata setDependentValue(boolean val);
+
+ /**
+ * Accessor for whether the value is dependent
+ *
+ * @return whether the value is dependent
+ */
+ Boolean getDependentValue();
+}
\ No newline at end of file
Propchange: db/jdo/trunk/specification/imports/MapMetadata.java
------------------------------------------------------------------------------
svn:eol-style = LF
Added: db/jdo/trunk/specification/imports/MapMetadata.txt
URL: http://svn.apache.org/viewvc/db/jdo/trunk/specification/imports/MapMetadata.txt?rev=1293075&view=auto
==============================================================================
--- db/jdo/trunk/specification/imports/MapMetadata.txt (added)
+++ db/jdo/trunk/specification/imports/MapMetadata.txt Fri Feb 24 04:25:57 2012
@@ -0,0 +1,117 @@
+/**
+ * Represents details of a map in a field/property in a class.
+ * @since 2.3
+ */
+public interface MapMetadata extends Metadata {
+ /**
+ * Method to set the name of the key type
+ *
+ * @param type Name of the key type
+ */
+ MapMetadata setKeyType(String type);
+
+ /**
+ * Accessor for the key type
+ *
+ * @return The key type
+ */
+ String getKeyType();
+
+ /**
+ * Method to set whether the key is embedded
+ *
+ * @param val Whether it is embedded
+ */
+ MapMetadata setEmbeddedKey(boolean val);
+
+ /**
+ * Accessor for whether the key is embedded
+ *
+ * @return whether the key is embedded
+ */
+ Boolean getEmbeddedKey();
+
+ /**
+ * Method to set whether the key is serialised
+ *
+ * @param val Whether it is serialised
+ */
+ MapMetadata setSerializedKey(boolean val);
+
+ /**
+ * Accessor for whether the key is serialised
+ *
+ * @return whether the key is serialised
+ */
+ Boolean getSerializedKey();
+
+ /**
+ * Method to set whether the key is dependent
+ *
+ * @param val Whether it is dependent
+ */
+ MapMetadata setDependentKey(boolean val);
+
+ /**
+ * Accessor for whether the key is dependent
+ *
+ * @return whether the key is dependent
+ */
+ Boolean getDependentKey();
+
+ /**
+ * Method to set the name of the value type
+ *
+ * @param type Name of the value type
+ */
+ MapMetadata setValueType(String type);
+
+ /**
+ * Accessor for the value type
+ *
+ * @return The value type
+ */
+ String getValueType();
+
+ /**
+ * Method to set whether the value is embedded
+ *
+ * @param val Whether it is embedded
+ */
+ MapMetadata setEmbeddedValue(boolean val);
+
+ /**
+ * Accessor for whether the value is embedded
+ *
+ * @return whether the value is embedded
+ */
+ Boolean getEmbeddedValue();
+
+ /**
+ * Method to set whether the value is serialised
+ *
+ * @param val Whether it is serialised
+ */
+ MapMetadata setSerializedValue(boolean val);
+
+ /**
+ * Accessor for whether the value is serialised
+ *
+ * @return whether the value is serialised
+ */
+ Boolean getSerializedValue();
+
+ /**
+ * Method to set whether the value is dependent
+ *
+ * @param val Whether it is dependent
+ */
+ MapMetadata setDependentValue(boolean val);
+
+ /**
+ * Accessor for whether the value is dependent
+ *
+ * @return whether the value is dependent
+ */
+ Boolean getDependentValue();
+}
Propchange: db/jdo/trunk/specification/imports/MapMetadata.txt
------------------------------------------------------------------------------
svn:eol-style = LF
Added: db/jdo/trunk/specification/imports/MemberMetadata.java
URL: http://svn.apache.org/viewvc/db/jdo/trunk/specification/imports/MemberMetadata.java?rev=1293075&view=auto
==============================================================================
--- db/jdo/trunk/specification/imports/MemberMetadata.java (added)
+++ db/jdo/trunk/specification/imports/MemberMetadata.java Fri Feb 24 04:25:57 2012
@@ -0,0 +1,513 @@
+/*
+ * 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.metadata;
+
+import javax.jdo.annotations.ForeignKeyAction;
+import javax.jdo.annotations.IdGeneratorStrategy;
+import javax.jdo.annotations.NullValue;
+import javax.jdo.annotations.PersistenceModifier;
+
+/**
+ * Represents a field/property in a class/persistent-interface.
+ * @since 2.3
+ */
+public interface MemberMetadata extends Metadata {
+ /**
+ * Method to set the name.
+ *
+ * @param name name
+ */
+ MemberMetadata setName(String name);
+
+ /**
+ * Accessor for the name of the field/property.
+ *
+ * @return The name
+ */
+ String getName();
+
+ /**
+ * Method to set the table name.
+ *
+ * @param table Table name
+ */
+ MemberMetadata setTable(String table);
+
+ /**
+ * Accessor for the name of the table.
+ *
+ * @return The name
+ */
+ String getTable();
+
+ /**
+ * Method to set the column name.
+ *
+ * @param col Column name
+ */
+ MemberMetadata setColumn(String col);
+
+ /**
+ * Accessor for the name of the column.
+ *
+ * @return The column name
+ */
+ String getColumn();
+
+ /**
+ * Method to set the field type(s). For defining where we want to restrict
+ * what type is stored in a field
+ *
+ * @param type Type of field
+ */
+ MemberMetadata setFieldType(String type);
+
+ /**
+ * Accessor for the type storable in the field
+ *
+ * @return The field type
+ */
+ String getFieldType();
+
+ /**
+ * Method to set the delete action of the FK
+ *
+ * @param action Delete action of the FK
+ */
+ MemberMetadata setDeleteAction(ForeignKeyAction action);
+
+ /**
+ * Accessor for the delete action of the FK
+ *
+ * @return The FK delete-action
+ */
+ ForeignKeyAction getDeleteAction();
+
+ /**
+ * Method to set the persistence-modifier of the field/property.
+ *
+ * @param mod persistence modifier
+ */
+ MemberMetadata setPersistenceModifier(PersistenceModifier mod);
+
+ /**
+ * Accessor for the persistence modifier of the field/property.
+ *
+ * @return The persistence modifier
+ */
+ PersistenceModifier getPersistenceModifier();
+
+ /**
+ * Method to set the behaviour of a null value
+ *
+ * @param val Null value behaviour
+ */
+ MemberMetadata setNullValue(NullValue val);
+
+ /**
+ * Accessor for the behaviour of a null value
+ *
+ * @return The null value behaviour
+ */
+ NullValue getNullValue();
+
+ /**
+ * Method to set whether it is in the DFG.
+ *
+ * @param dfg DFG?
+ */
+ MemberMetadata setDefaultFetchGroup(boolean dfg);
+
+ /**
+ * Accessor for whether part of the DFG.
+ *
+ * @return dfg?
+ */
+ Boolean getDefaultFetchGroup();
+
+ /**
+ * Method to set whether it is unique.
+ *
+ * @param unique Unique?
+ */
+ MemberMetadata setDependent(boolean unique);
+
+ /**
+ * Accessor for whether unique.
+ *
+ * @return Unique?
+ */
+ Boolean getDependent();
+
+ /**
+ * Method to set whether it is embedded.
+ *
+ * @param emb Embedded?
+ */
+ MemberMetadata setEmbedded(boolean emb);
+
+ /**
+ * Accessor for whether it is embedded.
+ *
+ * @return embedded?
+ */
+ Boolean getEmbedded();
+
+ /**
+ * Method to set whether it is serialized.
+ *
+ * @param ser serialized?
+ */
+ MemberMetadata setSerialized(boolean ser);
+
+ /**
+ * Accessor for whether it is serialized.
+ *
+ * @return serialized?
+ */
+ Boolean getSerialized();
+
+ /**
+ * Method to set whether it is part of the pk
+ *
+ * @param pk PK?
+ */
+ MemberMetadata setPrimaryKey(boolean pk);
+
+ /**
+ * Accessor for whether it is part of the pk.
+ *
+ * @return pk?
+ */
+ boolean getPrimaryKey();
+
+ /**
+ * Method to set whether it is indexed.
+ *
+ * @param index Indexed?
+ */
+ MemberMetadata setIndexed(boolean index);
+
+ /**
+ * Accessor for whether it is indexed.
+ *
+ * @return Indexed?
+ */
+ Boolean getIndexed();
+
+ /**
+ * Method to set whether it is unique.
+ *
+ * @param unique Unique?
+ */
+ MemberMetadata setUnique(boolean unique);
+
+ /**
+ * Accessor for whether unique.
+ *
+ * @return Unique?
+ */
+ Boolean getUnique();
+
+ /**
+ * Method to set whether this is cacheable
+ *
+ * @param cacheable Cacheable?
+ */
+ MemberMetadata setCacheable(boolean cacheable);
+
+ /**
+ * Accessor for whether this is cacheable.
+ *
+ * @return Detachable?
+ */
+ boolean getCacheable();
+
+ /**
+ * Method to set the recursion depth (when used in a fetch group).
+ *
+ * @param depth Recursion depth
+ */
+ MemberMetadata setRecursionDepth(int depth);
+
+ /**
+ * Accessor for the recursion depth (when part of a fetch group).
+ *
+ * @return Recursion depth?
+ */
+ int getRecursionDepth();
+
+ /**
+ * Method to set the load fetch group.
+ *
+ * @param grp Load fetch group
+ */
+ MemberMetadata setLoadFetchGroup(String grp);
+
+ /**
+ * Accessor for the name of the load fetch group
+ *
+ * @return The load fetch group
+ */
+ String getLoadFetchGroup();
+
+ /**
+ * Method to set the value strategy
+ *
+ * @param str Value strategy
+ */
+ MemberMetadata setValueStrategy(IdGeneratorStrategy str);
+
+ /**
+ * Accessor for the value strategy
+ *
+ * @return Value strategy
+ */
+ IdGeneratorStrategy getValueStrategy();
+
+ /**
+ * Method to set the custom identity generation strategy.
+ *
+ * @param strategy The strategy
+ */
+ MemberMetadata setCustomStrategy(String strategy);
+
+ /**
+ * Accessor for the custom strategy (overriding "strategy").
+ *
+ * @return The strategy
+ */
+ String getCustomStrategy();
+
+ /**
+ * Method to set the sequence (when using value-strategy of "sequence")
+ *
+ * @param seq Sequence key
+ */
+ MemberMetadata setSequence(String seq);
+
+ /**
+ * Accessor for the sequence (when using value-strategy of "sequence")
+ *
+ * @return Sequence key
+ */
+ String getSequence();
+
+ /**
+ * Method to set the field on the other side of a bidirectional relation
+ * (this side is owner)
+ *
+ * @param map mapped-by field/property
+ */
+ MemberMetadata setMappedBy(String map);
+
+ /**
+ * Accessor for the mapped-by field/property
+ *
+ * @return mapped-by field/property
+ */
+ String getMappedBy();
+
+ /**
+ * Method to define the array details (if the field/property is an array)
+ *
+ * @return The ArrayMetadata
+ */
+ ArrayMetadata newArrayMetadata();
+
+ /**
+ * Accessor for the array details.
+ *
+ * @return array details
+ */
+ ArrayMetadata getArrayMetadata();
+
+ /**
+ * Method to define the array details (if the field/property is an array)
+ *
+ * @return The ArrayMetadata
+ */
+ CollectionMetadata newCollectionMetadata();
+
+ /**
+ * Accessor for the array details.
+ *
+ * @return array details
+ */
+ CollectionMetadata getCollectionMetadata();
+
+ /**
+ * Method to define the map details (if the field/property is an map)
+ *
+ * @return The MapMetadata
+ */
+ MapMetadata newMapMetadata();
+
+ /**
+ * Accessor for the map details.
+ *
+ * @return map details
+ */
+ MapMetadata getMapMetadata();
+
+ /**
+ * Method to define the join details
+ *
+ * @return The JoinMetadata
+ */
+ JoinMetadata newJoinMetadata();
+
+ /**
+ * Accessor for the join details.
+ *
+ * @return join details
+ */
+ JoinMetadata getJoinMetadata();
+
+ /**
+ * Method to define the embedded details
+ *
+ * @return The EmbeddedMetadata
+ */
+ EmbeddedMetadata newEmbeddedMetadata();
+
+ /**
+ * Accessor for the embedded metadata.
+ *
+ * @return embedded metadata
+ */
+ EmbeddedMetadata getEmbeddedMetadata();
+
+ /**
+ * Method to define the new element details
+ *
+ * @return The ElementMetadata
+ */
+ ElementMetadata newElementMetadata();
+
+ /**
+ * Accessor for the element details
+ *
+ * @return element details
+ */
+ ElementMetadata getElementMetadata();
+
+ /**
+ * Method to define the key details
+ *
+ * @return The KeyMetadata
+ */
+ KeyMetadata newKeyMetadata();
+
+ /**
+ * Accessor for the key details
+ *
+ * @return key details
+ */
+ KeyMetadata getKeyMetadata();
+
+ /**
+ * Method to define the value details
+ *
+ * @return The ValueMetadata
+ */
+ ValueMetadata newValueMetadata();
+
+ /**
+ * Accessor for the value details
+ *
+ * @return value details
+ */
+ ValueMetadata getValueMetadata();
+
+ /**
+ * Method to set index metadata for the field/property
+ *
+ * @return The metadata for any index
+ */
+ IndexMetadata newIndexMetadata();
+
+ /**
+ * Accessor for any index metadata for the field/property
+ *
+ * @return Index metadata
+ */
+ IndexMetadata getIndexMetadata();
+
+ /**
+ * Method to set new unique constraint metadata for the field/property
+ *
+ * @return The UniqueMetadata
+ */
+ UniqueMetadata newUniqueMetadata();
+
+ /**
+ * Accessor for any unique constraint metadata on this field/property.
+ *
+ * @return The UniqueMetadata
+ */
+ UniqueMetadata getUniqueMetadata();
+
+ /**
+ * Method to set new foreign key metadata for the field/property
+ *
+ * @return The ForeignKeyMetadata
+ */
+ ForeignKeyMetadata newForeignKeyMetadata();
+
+ /**
+ * Accessor for any foreign key metadata on this field/property.
+ *
+ * @return The ForeignKeyMetadata
+ */
+ ForeignKeyMetadata getForeignKeyMetadata();
+
+ /**
+ * Method to define the order details.
+ *
+ * @return The OrdeMetadata
+ */
+ OrderMetadata newOrderMetadata();
+
+ /**
+ * Accessor for the order metadata.
+ *
+ * @return order metadata
+ */
+ OrderMetadata getOrderMetadata();
+
+ /**
+ * Accessor for all column(s) defined on the join.
+ *
+ * @return The column(s)
+ */
+ ColumnMetadata[] getColumns();
+
+ /**
+ * Add a new column for this join.
+ *
+ * @return The ColumnMetadata
+ */
+ ColumnMetadata newColumnMetadata();
+
+ /**
+ * Accessor for the number of columns defined for this join.
+ *
+ * @return The number of columns
+ */
+ int getNumberOfColumns();
+}
\ No newline at end of file
Propchange: db/jdo/trunk/specification/imports/MemberMetadata.java
------------------------------------------------------------------------------
svn:eol-style = LF
Added: db/jdo/trunk/specification/imports/MemberMetadata.txt
URL: http://svn.apache.org/viewvc/db/jdo/trunk/specification/imports/MemberMetadata.txt?rev=1293075&view=auto
==============================================================================
--- db/jdo/trunk/specification/imports/MemberMetadata.txt (added)
+++ db/jdo/trunk/specification/imports/MemberMetadata.txt Fri Feb 24 04:25:57 2012
@@ -0,0 +1,490 @@
+/**
+ * Represents a field/property in a class/persistent-interface.
+ * @since 2.3
+ */
+public interface MemberMetadata extends Metadata {
+ /**
+ * Method to set the name.
+ *
+ * @param name name
+ */
+ MemberMetadata setName(String name);
+
+ /**
+ * Accessor for the name of the field/property.
+ *
+ * @return The name
+ */
+ String getName();
+
+ /**
+ * Method to set the table name.
+ *
+ * @param table Table name
+ */
+ MemberMetadata setTable(String table);
+
+ /**
+ * Accessor for the name of the table.
+ *
+ * @return The name
+ */
+ String getTable();
+
+ /**
+ * Method to set the column name.
+ *
+ * @param col Column name
+ */
+ MemberMetadata setColumn(String col);
+
+ /**
+ * Accessor for the name of the column.
+ *
+ * @return The column name
+ */
+ String getColumn();
+
+ /**
+ * Method to set the field type(s). For defining where we want to restrict
+ * what type is stored in a field
+ *
+ * @param type Type of field
+ */
+ MemberMetadata setFieldType(String type);
+
+ /**
+ * Accessor for the type storable in the field
+ *
+ * @return The field type
+ */
+ String getFieldType();
+
+ /**
+ * Method to set the delete action of the FK
+ *
+ * @param action Delete action of the FK
+ */
+ MemberMetadata setDeleteAction(ForeignKeyAction action);
+
+ /**
+ * Accessor for the delete action of the FK
+ *
+ * @return The FK delete-action
+ */
+ ForeignKeyAction getDeleteAction();
+
+ /**
+ * Method to set the persistence-modifier of the field/property.
+ *
+ * @param mod persistence modifier
+ */
+ MemberMetadata setPersistenceModifier(PersistenceModifier mod);
+
+ /**
+ * Accessor for the persistence modifier of the field/property.
+ *
+ * @return The persistence modifier
+ */
+ PersistenceModifier getPersistenceModifier();
+
+ /**
+ * Method to set the behaviour of a null value
+ *
+ * @param val Null value behaviour
+ */
+ MemberMetadata setNullValue(NullValue val);
+
+ /**
+ * Accessor for the behaviour of a null value
+ *
+ * @return The null value behaviour
+ */
+ NullValue getNullValue();
+
+ /**
+ * Method to set whether it is in the DFG.
+ *
+ * @param dfg DFG?
+ */
+ MemberMetadata setDefaultFetchGroup(boolean dfg);
+
+ /**
+ * Accessor for whether part of the DFG.
+ *
+ * @return dfg?
+ */
+ Boolean getDefaultFetchGroup();
+
+ /**
+ * Method to set whether it is unique.
+ *
+ * @param unique Unique?
+ */
+ MemberMetadata setDependent(boolean unique);
+
+ /**
+ * Accessor for whether unique.
+ *
+ * @return Unique?
+ */
+ Boolean getDependent();
+
+ /**
+ * Method to set whether it is embedded.
+ *
+ * @param emb Embedded?
+ */
+ MemberMetadata setEmbedded(boolean emb);
+
+ /**
+ * Accessor for whether it is embedded.
+ *
+ * @return embedded?
+ */
+ Boolean getEmbedded();
+
+ /**
+ * Method to set whether it is serialized.
+ *
+ * @param ser serialized?
+ */
+ MemberMetadata setSerialized(boolean ser);
+
+ /**
+ * Accessor for whether it is serialized.
+ *
+ * @return serialized?
+ */
+ Boolean getSerialized();
+
+ /**
+ * Method to set whether it is part of the pk
+ *
+ * @param pk PK?
+ */
+ MemberMetadata setPrimaryKey(boolean pk);
+
+ /**
+ * Accessor for whether it is part of the pk.
+ *
+ * @return pk?
+ */
+ boolean getPrimaryKey();
+
+ /**
+ * Method to set whether it is indexed.
+ *
+ * @param index Indexed?
+ */
+ MemberMetadata setIndexed(boolean index);
+
+ /**
+ * Accessor for whether it is indexed.
+ *
+ * @return Indexed?
+ */
+ Boolean getIndexed();
+
+ /**
+ * Method to set whether it is unique.
+ *
+ * @param unique Unique?
+ */
+ MemberMetadata setUnique(boolean unique);
+
+ /**
+ * Accessor for whether unique.
+ *
+ * @return Unique?
+ */
+ Boolean getUnique();
+
+ /**
+ * Method to set whether this is cacheable
+ *
+ * @param cacheable Cacheable?
+ */
+ MemberMetadata setCacheable(boolean cacheable);
+
+ /**
+ * Accessor for whether this is cacheable.
+ *
+ * @return Detachable?
+ */
+ boolean getCacheable();
+
+ /**
+ * Method to set the recursion depth (when used in a fetch group).
+ *
+ * @param depth Recursion depth
+ */
+ MemberMetadata setRecursionDepth(int depth);
+
+ /**
+ * Accessor for the recursion depth (when part of a fetch group).
+ *
+ * @return Recursion depth?
+ */
+ int getRecursionDepth();
+
+ /**
+ * Method to set the load fetch group.
+ *
+ * @param grp Load fetch group
+ */
+ MemberMetadata setLoadFetchGroup(String grp);
+
+ /**
+ * Accessor for the name of the load fetch group
+ *
+ * @return The load fetch group
+ */
+ String getLoadFetchGroup();
+
+ /**
+ * Method to set the value strategy
+ *
+ * @param str Value strategy
+ */
+ MemberMetadata setValueStrategy(IdGeneratorStrategy str);
+
+ /**
+ * Accessor for the value strategy
+ *
+ * @return Value strategy
+ */
+ IdGeneratorStrategy getValueStrategy();
+
+ /**
+ * Method to set the custom identity generation strategy.
+ *
+ * @param strategy The strategy
+ */
+ MemberMetadata setCustomStrategy(String strategy);
+
+ /**
+ * Accessor for the custom strategy (overriding "strategy").
+ *
+ * @return The strategy
+ */
+ String getCustomStrategy();
+
+ /**
+ * Method to set the sequence (when using value-strategy of "sequence")
+ *
+ * @param seq Sequence key
+ */
+ MemberMetadata setSequence(String seq);
+
+ /**
+ * Accessor for the sequence (when using value-strategy of "sequence")
+ *
+ * @return Sequence key
+ */
+ String getSequence();
+
+ /**
+ * Method to set the field on the other side of a bidirectional relation
+ * (this side is owner)
+ *
+ * @param map mapped-by field/property
+ */
+ MemberMetadata setMappedBy(String map);
+
+ /**
+ * Accessor for the mapped-by field/property
+ *
+ * @return mapped-by field/property
+ */
+ String getMappedBy();
+
+ /**
+ * Method to define the array details (if the field/property is an array)
+ *
+ * @return The ArrayMetadata
+ */
+ ArrayMetadata newArrayMetadata();
+
+ /**
+ * Accessor for the array details.
+ *
+ * @return array details
+ */
+ ArrayMetadata getArrayMetadata();
+
+ /**
+ * Method to define the array details (if the field/property is an array)
+ *
+ * @return The ArrayMetadata
+ */
+ CollectionMetadata newCollectionMetadata();
+
+ /**
+ * Accessor for the array details.
+ *
+ * @return array details
+ */
+ CollectionMetadata getCollectionMetadata();
+
+ /**
+ * Method to define the map details (if the field/property is an map)
+ *
+ * @return The MapMetadata
+ */
+ MapMetadata newMapMetadata();
+
+ /**
+ * Accessor for the map details.
+ *
+ * @return map details
+ */
+ MapMetadata getMapMetadata();
+
+ /**
+ * Method to define the join details
+ *
+ * @return The JoinMetadata
+ */
+ JoinMetadata newJoinMetadata();
+
+ /**
+ * Accessor for the join details.
+ *
+ * @return join details
+ */
+ JoinMetadata getJoinMetadata();
+
+ /**
+ * Method to define the embedded details
+ *
+ * @return The EmbeddedMetadata
+ */
+ EmbeddedMetadata newEmbeddedMetadata();
+
+ /**
+ * Accessor for the embedded metadata.
+ *
+ * @return embedded metadata
+ */
+ EmbeddedMetadata getEmbeddedMetadata();
+
+ /**
+ * Method to define the new element details
+ *
+ * @return The ElementMetadata
+ */
+ ElementMetadata newElementMetadata();
+
+ /**
+ * Accessor for the element details
+ *
+ * @return element details
+ */
+ ElementMetadata getElementMetadata();
+
+ /**
+ * Method to define the key details
+ *
+ * @return The KeyMetadata
+ */
+ KeyMetadata newKeyMetadata();
+
+ /**
+ * Accessor for the key details
+ *
+ * @return key details
+ */
+ KeyMetadata getKeyMetadata();
+
+ /**
+ * Method to define the value details
+ *
+ * @return The ValueMetadata
+ */
+ ValueMetadata newValueMetadata();
+
+ /**
+ * Accessor for the value details
+ *
+ * @return value details
+ */
+ ValueMetadata getValueMetadata();
+
+ /**
+ * Method to set index metadata for the field/property
+ *
+ * @return The metadata for any index
+ */
+ IndexMetadata newIndexMetadata();
+
+ /**
+ * Accessor for any index metadata for the field/property
+ *
+ * @return Index metadata
+ */
+ IndexMetadata getIndexMetadata();
+
+ /**
+ * Method to set new unique constraint metadata for the field/property
+ *
+ * @return The UniqueMetadata
+ */
+ UniqueMetadata newUniqueMetadata();
+
+ /**
+ * Accessor for any unique constraint metadata on this field/property.
+ *
+ * @return The UniqueMetadata
+ */
+ UniqueMetadata getUniqueMetadata();
+
+ /**
+ * Method to set new foreign key metadata for the field/property
+ *
+ * @return The ForeignKeyMetadata
+ */
+ ForeignKeyMetadata newForeignKeyMetadata();
+
+ /**
+ * Accessor for any foreign key metadata on this field/property.
+ *
+ * @return The ForeignKeyMetadata
+ */
+ ForeignKeyMetadata getForeignKeyMetadata();
+
+ /**
+ * Method to define the order details.
+ *
+ * @return The OrdeMetadata
+ */
+ OrderMetadata newOrderMetadata();
+
+ /**
+ * Accessor for the order metadata.
+ *
+ * @return order metadata
+ */
+ OrderMetadata getOrderMetadata();
+
+ /**
+ * Accessor for all column(s) defined on the join.
+ *
+ * @return The column(s)
+ */
+ ColumnMetadata[] getColumns();
+
+ /**
+ * Add a new column for this join.
+ *
+ * @return The ColumnMetadata
+ */
+ ColumnMetadata newColumnMetadata();
+
+ /**
+ * Accessor for the number of columns defined for this join.
+ *
+ * @return The number of columns
+ */
+ int getNumberOfColumns();
+}
Propchange: db/jdo/trunk/specification/imports/MemberMetadata.txt
------------------------------------------------------------------------------
svn:eol-style = LF
Added: db/jdo/trunk/specification/imports/Metadata.java
URL: http://svn.apache.org/viewvc/db/jdo/trunk/specification/imports/Metadata.java?rev=1293075&view=auto
==============================================================================
--- db/jdo/trunk/specification/imports/Metadata.java (added)
+++ db/jdo/trunk/specification/imports/Metadata.java Fri Feb 24 04:25:57 2012
@@ -0,0 +1,55 @@
+/*
+ * 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.metadata;
+
+/**
+ * This interface provides base level definitions for all metadata components.
+ *
+ * @version 2.3
+ */
+public interface Metadata {
+ /**
+ * Add a vendor extension to this metadata component.
+ *
+ * @param vendor Identifier for the vendor
+ * @param key The extension key
+ * @param value Value for the extension
+ * @return The ExtensionMetaData
+ */
+ ExtensionMetadata newExtensionMetaData(String vendor, String key, String value);
+
+ /**
+ * Number of extensions on this component.
+ *
+ * @return Number of extensions
+ */
+ int getNumberOfExtensions();
+
+ /**
+ * Accessor for the defined extensions for this component
+ *
+ * @return The extensions
+ */
+ ExtensionMetadata[] getExtensions();
+
+ /**
+ * Accessor for the parent metadata component.
+ *
+ * @return The parent
+ */
+ Metadata getParent();
+}
\ No newline at end of file
Propchange: db/jdo/trunk/specification/imports/Metadata.java
------------------------------------------------------------------------------
svn:eol-style = LF
Added: db/jdo/trunk/specification/imports/Metadata.txt
URL: http://svn.apache.org/viewvc/db/jdo/trunk/specification/imports/Metadata.txt?rev=1293075&view=auto
==============================================================================
--- db/jdo/trunk/specification/imports/Metadata.txt (added)
+++ db/jdo/trunk/specification/imports/Metadata.txt Fri Feb 24 04:25:57 2012
@@ -0,0 +1,37 @@
+/**
+ * This interface provides base level definitions for all metadata components.
+ *
+ * @version 2.3
+ */
+public interface Metadata {
+ /**
+ * Add a vendor extension to this metadata component.
+ *
+ * @param vendor Identifier for the vendor
+ * @param key The extension key
+ * @param value Value for the extension
+ * @return The ExtensionMetaData
+ */
+ ExtensionMetadata newExtensionMetaData(String vendor, String key, String value);
+
+ /**
+ * Number of extensions on this component.
+ *
+ * @return Number of extensions
+ */
+ int getNumberOfExtensions();
+
+ /**
+ * Accessor for the defined extensions for this component
+ *
+ * @return The extensions
+ */
+ ExtensionMetadata[] getExtensions();
+
+ /**
+ * Accessor for the parent metadata component.
+ *
+ * @return The parent
+ */
+ Metadata getParent();
+}
Propchange: db/jdo/trunk/specification/imports/Metadata.txt
------------------------------------------------------------------------------
svn:eol-style = LF
Added: db/jdo/trunk/specification/imports/NotPersistent.txt
URL: http://svn.apache.org/viewvc/db/jdo/trunk/specification/imports/NotPersistent.txt?rev=1293075&view=auto
==============================================================================
--- db/jdo/trunk/specification/imports/NotPersistent.txt (added)
+++ db/jdo/trunk/specification/imports/NotPersistent.txt Fri Feb 24 04:25:57 2012
@@ -0,0 +1,5 @@
+@Target({ElementType.FIELD, ElementType.METHOD})
+@Retention(RetentionPolicy.RUNTIME)
+public @interface NotPersistent
+{
+}
Propchange: db/jdo/trunk/specification/imports/NotPersistent.txt
------------------------------------------------------------------------------
svn:eol-style = LF
Added: db/jdo/trunk/specification/imports/NullValue.txt
URL: http://svn.apache.org/viewvc/db/jdo/trunk/specification/imports/NullValue.txt?rev=1293075&view=auto
==============================================================================
--- db/jdo/trunk/specification/imports/NullValue.txt (added)
+++ db/jdo/trunk/specification/imports/NullValue.txt Fri Feb 24 04:25:57 2012
@@ -0,0 +1,7 @@
+
+public enum NullValue
+{
+ NONE,
+ EXCEPTION,
+ DEFAULT
+}
Propchange: db/jdo/trunk/specification/imports/NullValue.txt
------------------------------------------------------------------------------
svn:eol-style = LF
Added: db/jdo/trunk/specification/imports/ObjectState.txt
URL: http://svn.apache.org/viewvc/db/jdo/trunk/specification/imports/ObjectState.txt?rev=1293075&view=auto
==============================================================================
--- db/jdo/trunk/specification/imports/ObjectState.txt (added)
+++ db/jdo/trunk/specification/imports/ObjectState.txt Fri Feb 24 04:25:57 2012
@@ -0,0 +1,28 @@
+
+public enum ObjectState {
+
+ TRANSIENT("transient"),
+ TRANSIENT_CLEAN("transient-clean"),
+ TRANSIENT_DIRTY("transient-dirty"),
+ PERSISTENT_NEW("persistent-new"),
+ HOLLOW_PERSISTENT_NONTRANSACTIONAL("hollow/persistent-nontransactional"),
+ PERSISTENT_NONTRANSACTIONAL_DIRTY("persistent-nontransactional-dirty"),
+ PERSISTENT_CLEAN("persistent-clean"),
+ PERSISTENT_DIRTY("persistent-dirty"),
+ PERSISTENT_DELETED("persistent-deleted"),
+ PERSISTENT_NEW_DELETED("persistent-new-deleted"),
+ DETACHED_CLEAN("detached-clean"),
+ DETACHED_DIRTY("detached-dirty");
+
+ private final String value;
+
+ private ObjectState(String value) {
+ this.value = value;
+ }
+
+ public String toString() {
+ return value;
+ }
+}
+
+
Propchange: db/jdo/trunk/specification/imports/ObjectState.txt
------------------------------------------------------------------------------
svn:eol-style = LF
Added: db/jdo/trunk/specification/imports/Order.txt
URL: http://svn.apache.org/viewvc/db/jdo/trunk/specification/imports/Order.txt?rev=1293075&view=auto
==============================================================================
--- db/jdo/trunk/specification/imports/Order.txt (added)
+++ db/jdo/trunk/specification/imports/Order.txt Fri Feb 24 04:25:57 2012
@@ -0,0 +1,25 @@
+@Target({ElementType.FIELD, ElementType.METHOD})
+@Retention(RetentionPolicy.RUNTIME)
+public @interface Order
+{
+ /** The name of the column to use for ordering the elements of the member.
+ * @return the name of the ordering column
+ */
+ String column() default "";
+
+ /** Name of a field or property in the target class that acts as the
+ * ordering field or property for this member.
+ * 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.
+ * @return the columns to use for ordering
+ */
+ Column[] columns() default {};
+
+ /** Vendor extensions.
+ * @return the vendor extensions
+ */
+ Extension[] extensions() default {};
+}
Propchange: db/jdo/trunk/specification/imports/Order.txt
------------------------------------------------------------------------------
svn:eol-style = LF
Added: db/jdo/trunk/specification/imports/OrderMetadata.java
URL: http://svn.apache.org/viewvc/db/jdo/trunk/specification/imports/OrderMetadata.java?rev=1293075&view=auto
==============================================================================
--- db/jdo/trunk/specification/imports/OrderMetadata.java (added)
+++ db/jdo/trunk/specification/imports/OrderMetadata.java Fri Feb 24 04:25:57 2012
@@ -0,0 +1,86 @@
+/*
+ * 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.metadata;
+
+/**
+ * Represents ordering of a collection field/property.
+ * @since 2.3
+ */
+public interface OrderMetadata extends Metadata {
+ /**
+ * Method to set the version column name.
+ *
+ * @param column Name of the version clumn
+ */
+ OrderMetadata setColumn(String column);
+
+ /**
+ * Accessor for the version column name
+ *
+ * @return The version column name
+ */
+ String getColumn();
+
+ /**
+ * Method to set mapped-by information whether the order is present in the element class.
+ *
+ * @param mappedBy Field/property name in which to store the ordering in the element
+ */
+ OrderMetadata setMappedBy(String mappedBy);
+
+ /**
+ * Accessor for the mapped-by field/property name in the element class.
+ *
+ * @return Name of field/property in element class
+ */
+ String getMappedBy();
+
+ /**
+ * Accessor for all column(s) defined on the ordering.
+ *
+ * @return The column(s)
+ */
+ ColumnMetadata[] getColumns();
+
+ /**
+ * Add a column for this ordering.
+ *
+ * @return The ColumnMetadata
+ */
+ ColumnMetadata newColumnMetadata();
+
+ /**
+ * Accessor for the number of columns defined for this ordering.
+ *
+ * @return The number of columns
+ */
+ int getNumberOfColumns();
+
+ /**
+ * Method to set index metadata for the ordering
+ *
+ * @return The metadata for any index
+ */
+ IndexMetadata newIndexMetadata();
+
+ /**
+ * Accessor for any index metadata for the ordering
+ *
+ * @return Index metadata
+ */
+ IndexMetadata getIndexMetadata();
+}
\ No newline at end of file
Propchange: db/jdo/trunk/specification/imports/OrderMetadata.java
------------------------------------------------------------------------------
svn:eol-style = LF
Added: db/jdo/trunk/specification/imports/OrderMetadata.txt
URL: http://svn.apache.org/viewvc/db/jdo/trunk/specification/imports/OrderMetadata.txt?rev=1293075&view=auto
==============================================================================
--- db/jdo/trunk/specification/imports/OrderMetadata.txt (added)
+++ db/jdo/trunk/specification/imports/OrderMetadata.txt Fri Feb 24 04:25:57 2012
@@ -0,0 +1,68 @@
+/**
+ * Represents ordering of a collection field/property.
+ * @since 2.3
+ */
+public interface OrderMetadata extends Metadata {
+ /**
+ * Method to set the version column name.
+ *
+ * @param column Name of the version clumn
+ */
+ OrderMetadata setColumn(String column);
+
+ /**
+ * Accessor for the version column name
+ *
+ * @return The version column name
+ */
+ String getColumn();
+
+ /**
+ * Method to set mapped-by information whether the order is present in the element class.
+ *
+ * @param mappedBy Field/property name in which to store the ordering in the element
+ */
+ OrderMetadata setMappedBy(String mappedBy);
+
+ /**
+ * Accessor for the mapped-by field/property name in the element class.
+ *
+ * @return Name of field/property in element class
+ */
+ String getMappedBy();
+
+ /**
+ * Accessor for all column(s) defined on the ordering.
+ *
+ * @return The column(s)
+ */
+ ColumnMetadata[] getColumns();
+
+ /**
+ * Add a column for this ordering.
+ *
+ * @return The ColumnMetadata
+ */
+ ColumnMetadata newColumnMetadata();
+
+ /**
+ * Accessor for the number of columns defined for this ordering.
+ *
+ * @return The number of columns
+ */
+ int getNumberOfColumns();
+
+ /**
+ * Method to set index metadata for the ordering
+ *
+ * @return The metadata for any index
+ */
+ IndexMetadata newIndexMetadata();
+
+ /**
+ * Accessor for any index metadata for the ordering
+ *
+ * @return Index metadata
+ */
+ IndexMetadata getIndexMetadata();
+}
Propchange: db/jdo/trunk/specification/imports/OrderMetadata.txt
------------------------------------------------------------------------------
svn:eol-style = LF
Added: db/jdo/trunk/specification/imports/PackageMetadata.java
URL: http://svn.apache.org/viewvc/db/jdo/trunk/specification/imports/PackageMetadata.java?rev=1293075&view=auto
==============================================================================
--- db/jdo/trunk/specification/imports/PackageMetadata.java (added)
+++ db/jdo/trunk/specification/imports/PackageMetadata.java Fri Feb 24 04:25:57 2012
@@ -0,0 +1,144 @@
+/*
+ * 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.metadata;
+
+import javax.jdo.annotations.SequenceStrategy;
+
+/**
+ * Represents a package within a JDOMetadata.
+ * @since 2.3
+ */
+public interface PackageMetadata extends Metadata {
+ /**
+ * Accessor for the name of this package (set on construction).
+ *
+ * @return The name
+ */
+ String getName();
+
+ /**
+ * Method to set the catalog (ORM) to apply to all classes in this package.
+ *
+ * @param catalog Catalog name
+ */
+ PackageMetadata setCatalog(String catalog);
+
+ /**
+ * Accessor for the catalog (ORM) that all classes in this package default
+ * to.
+ *
+ * @return The catalog
+ */
+ String getCatalog();
+
+ /**
+ * Method to set the schema (ORM) to apply to all classes in this package.
+ *
+ * @param schema Schema name
+ */
+ PackageMetadata setSchema(String schema);
+
+ /**
+ * Accessor for the schema (ORM) that all classes in this package default to.
+ *
+ * @return The schema
+ */
+ String getSchema();
+
+ /**
+ * Accessor for all classes defined in this package.
+ *
+ * @return The classes
+ */
+ ClassMetadata[] getClasses();
+
+ /**
+ * Add a new class to this package.
+ *
+ * @param name Name of the class
+ * @return The ClassMetadata
+ */
+ ClassMetadata newClassMetadata(String name);
+
+ /**
+ * Add a new class to this package.
+ *
+ * @param cls The class
+ * @return The ClassMetadata
+ */
+ ClassMetadata newClassMetadata(Class cls);
+
+ /**
+ * Accessor for the number of classes defined in this package.
+ *
+ * @return The number of classes.
+ */
+ int getNumberOfClasses();
+
+ /**
+ * Accessor for all interfaces defined in this package.
+ *
+ * @return The interfaces
+ */
+ InterfaceMetadata[] getInterfaces();
+
+ /**
+ * Add a new interface to this package.
+ *
+ * @param name The interface name
+ * @return The InterfaceMetadata
+ */
+ InterfaceMetadata newInterfaceMetadata(String name);
+
+ /**
+ * Add a new interface to this package.
+ *
+ * @param cls The class
+ * @return The ClassMetadata
+ */
+ InterfaceMetadata newInterfaceMetadata(Class cls);
+
+ /**
+ * Accessor for the number of interfaces defined in this package.
+ *
+ * @return The number of interfaces.
+ */
+ int getNumberOfInterfaces();
+
+ /**
+ * Accessor for any sequences defined on the package.
+ *
+ * @return The sequences
+ */
+ SequenceMetadata[] getSequences();
+
+ /**
+ * Add a new sequence to this package.
+ *
+ * @param name Name of the sequence
+ * @param strategy Strategy for the sequence
+ * @return The SequenceMetadata
+ */
+ SequenceMetadata newSequenceMetadata(String name, SequenceStrategy strategy);
+
+ /**
+ * Accessor for the number of sequences defined for this package.
+ *
+ * @return The number of sequences.
+ */
+ int getNumberOfSequences();
+}
\ No newline at end of file
Propchange: db/jdo/trunk/specification/imports/PackageMetadata.java
------------------------------------------------------------------------------
svn:eol-style = LF
Added: db/jdo/trunk/specification/imports/PackageMetadata.txt
URL: http://svn.apache.org/viewvc/db/jdo/trunk/specification/imports/PackageMetadata.txt?rev=1293075&view=auto
==============================================================================
--- db/jdo/trunk/specification/imports/PackageMetadata.txt (added)
+++ db/jdo/trunk/specification/imports/PackageMetadata.txt Fri Feb 24 04:25:57 2012
@@ -0,0 +1,125 @@
+/**
+ * Represents a package within a JDOMetadata.
+ * @since 2.3
+ */
+public interface PackageMetadata extends Metadata {
+ /**
+ * Accessor for the name of this package (set on construction).
+ *
+ * @return The name
+ */
+ String getName();
+
+ /**
+ * Method to set the catalog (ORM) to apply to all classes in this package.
+ *
+ * @param catalog Catalog name
+ */
+ PackageMetadata setCatalog(String catalog);
+
+ /**
+ * Accessor for the catalog (ORM) that all classes in this package default
+ * to.
+ *
+ * @return The catalog
+ */
+ String getCatalog();
+
+ /**
+ * Method to set the schema (ORM) to apply to all classes in this package.
+ *
+ * @param schema Schema name
+ */
+ PackageMetadata setSchema(String schema);
+
+ /**
+ * Accessor for the schema (ORM) that all classes in this package default to.
+ *
+ * @return The schema
+ */
+ String getSchema();
+
+ /**
+ * Accessor for all classes defined in this package.
+ *
+ * @return The classes
+ */
+ ClassMetadata[] getClasses();
+
+ /**
+ * Add a new class to this package.
+ *
+ * @param name Name of the class
+ * @return The ClassMetadata
+ */
+ ClassMetadata newClassMetadata(String name);
+
+ /**
+ * Add a new class to this package.
+ *
+ * @param cls The class
+ * @return The ClassMetadata
+ */
+ ClassMetadata newClassMetadata(Class cls);
+
+ /**
+ * Accessor for the number of classes defined in this package.
+ *
+ * @return The number of classes.
+ */
+ int getNumberOfClasses();
+
+ /**
+ * Accessor for all interfaces defined in this package.
+ *
+ * @return The interfaces
+ */
+ InterfaceMetadata[] getInterfaces();
+
+ /**
+ * Add a new interface to this package.
+ *
+ * @param name The interface name
+ * @return The InterfaceMetadata
+ */
+ InterfaceMetadata newInterfaceMetadata(String name);
+
+ /**
+ * Add a new interface to this package.
+ *
+ * @param cls The class
+ * @return The ClassMetadata
+ */
+ InterfaceMetadata newInterfaceMetadata(Class cls);
+
+ /**
+ * Accessor for the number of interfaces defined in this package.
+ *
+ * @return The number of interfaces.
+ */
+ int getNumberOfInterfaces();
+
+ /**
+ * Accessor for any sequences defined on the package.
+ *
+ * @return The sequences
+ */
+ SequenceMetadata[] getSequences();
+
+ /**
+ * Add a new sequence to this package.
+ *
+ * @param name Name of the sequence
+ * @param strategy Strategy for the sequence
+ * @return The SequenceMetadata
+ */
+ SequenceMetadata newSequenceMetadata(String name,
+ SequenceStrategy strategy);
+
+ /**
+ * Accessor for the number of sequences defined for this package.
+ *
+ * @return The number of sequences.
+ */
+ int getNumberOfSequences();
+}
Propchange: db/jdo/trunk/specification/imports/PackageMetadata.txt
------------------------------------------------------------------------------
svn:eol-style = LF
Added: db/jdo/trunk/specification/imports/PersistenceAware.txt
URL: http://svn.apache.org/viewvc/db/jdo/trunk/specification/imports/PersistenceAware.txt?rev=1293075&view=auto
==============================================================================
--- db/jdo/trunk/specification/imports/PersistenceAware.txt (added)
+++ db/jdo/trunk/specification/imports/PersistenceAware.txt Fri Feb 24 04:25:57 2012
@@ -0,0 +1,5 @@
+@Target(ElementType.TYPE)
+@Retention(RetentionPolicy.RUNTIME)
+public @interface PersistenceAware
+{
+}
Propchange: db/jdo/trunk/specification/imports/PersistenceAware.txt
------------------------------------------------------------------------------
svn:eol-style = LF
Added: db/jdo/trunk/specification/imports/PersistenceCapable.java
URL: http://svn.apache.org/viewvc/db/jdo/trunk/specification/imports/PersistenceCapable.java?rev=1293075&view=auto
==============================================================================
--- db/jdo/trunk/specification/imports/PersistenceCapable.java (added)
+++ db/jdo/trunk/specification/imports/PersistenceCapable.java Fri Feb 24 04:25:57 2012
@@ -0,0 +1,52 @@
+@Target(ElementType.TYPE)
+@Retention(RetentionPolicy.RUNTIME)
+public @interface PersistenceCapable
+{
+ /** Member declarations. Annotations for persistent members of this
+ * class or interface can be specifed either here or on each member.
+ * Annotations for inherited members can only be specified here.
+ * @return member declarations
+ */
+ Persistent[] members() default {};
+
+ /** Table to use for persisting this class or interface.
+ */
+ String table() default "";
+
+ /** Catalog to use for persisting this class or interface.
+ */
+ String catalog() default "";
+
+ /** Schema to use for persisting this class or interface.
+ */
+ String schema() default "";
+
+ /** Whether this class or interface manages an extent.
+ */
+ String requiresExtent() default "";
+
+ /** Whether objects of this class or interface can only be embedded.
+ */
+ String embeddedOnly() default "";
+
+ /** Whether this class or interface is detachable.
+ */
+ String detachable() default "";
+
+ /** Type of identity for this class or interface.
+ */
+ IdentityType identityType() default IdentityType.UNSPECIFIED;
+
+ /** Primary key class when using application identity and using own PK.
+ */
+ Class objectIdClass() default void.class;
+
+ /** Whether this class is cacheable in a Level2 cache.
+ * @since 2.2
+ */
+ String cacheable() default "true";
+
+ /** Any vendor extensions.
+ */
+ Extension[] extensions() default {};
+}
Propchange: db/jdo/trunk/specification/imports/PersistenceCapable.java
------------------------------------------------------------------------------
svn:eol-style = LF
Added: db/jdo/trunk/specification/imports/PersistenceCapable.txt
URL: http://svn.apache.org/viewvc/db/jdo/trunk/specification/imports/PersistenceCapable.txt?rev=1293075&view=auto
==============================================================================
--- db/jdo/trunk/specification/imports/PersistenceCapable.txt (added)
+++ db/jdo/trunk/specification/imports/PersistenceCapable.txt Fri Feb 24 04:25:57 2012
@@ -0,0 +1,57 @@
+@Target(ElementType.TYPE)
+@Retention(RetentionPolicy.RUNTIME)
+public @interface PersistenceCapable
+{
+ /** Member declarations. Annotations for persistent members of this
+ * class or interface can be specifed either here or on each member.
+ * Annotations for inherited members can only be specified here.
+ * @return member declarations
+ */
+ Persistent[] members() default {};
+
+ /** Table to use for persisting this class or interface.
+ */
+ String table() default "";
+
+ /** Catalog to use for persisting this class or interface.
+ */
+ String catalog() default "";
+
+ /** Schema to use for persisting this class or interface.
+ */
+ String schema() default "";
+
+ /** Whether this class or interface manages an extent.
+ */
+ String requiresExtent() default "";
+
+ /** Whether objects of this class or interface can only be embedded.
+ */
+ String embeddedOnly() default "";
+
+ /** Whether this class or interface is detachable.
+ */
+ String detachable() default "";
+
+ /** Type of identity for this class or interface.
+ */
+ IdentityType identityType() default IdentityType.UNSPECIFIED;
+
+ /** Primary key class when using application identity and using own PK.
+ */
+ Class objectIdClass() default void.class;
+
+ /** Whether this class is cacheable in a Level2 cache.
+ * @since 2.2
+ */
+ String cacheable() default "true";
+
+ /** Whether objects of this type should, by default, be locked when read.
+ * @since 2.3
+ */
+ String serializeRead() default "false";
+
+ /** Any vendor extensions.
+ */
+ Extension[] extensions() default {};
+}
Propchange: db/jdo/trunk/specification/imports/PersistenceCapable.txt
------------------------------------------------------------------------------
svn:eol-style = LF
Added: db/jdo/trunk/specification/imports/PersistenceManager.txt
URL: http://svn.apache.org/viewvc/db/jdo/trunk/specification/imports/PersistenceManager.txt?rev=1293075&view=auto
==============================================================================
(empty)
Propchange: db/jdo/trunk/specification/imports/PersistenceManager.txt
------------------------------------------------------------------------------
svn:eol-style = LF
Added: db/jdo/trunk/specification/imports/PersistenceManagerFactory.txt
URL: http://svn.apache.org/viewvc/db/jdo/trunk/specification/imports/PersistenceManagerFactory.txt?rev=1293075&view=auto
==============================================================================
(empty)
Propchange: db/jdo/trunk/specification/imports/PersistenceManagerFactory.txt
------------------------------------------------------------------------------
svn:eol-style = LF
Added: db/jdo/trunk/specification/imports/PersistenceModifier.txt
URL: http://svn.apache.org/viewvc/db/jdo/trunk/specification/imports/PersistenceModifier.txt?rev=1293075&view=auto
==============================================================================
--- db/jdo/trunk/specification/imports/PersistenceModifier.txt (added)
+++ db/jdo/trunk/specification/imports/PersistenceModifier.txt Fri Feb 24 04:25:57 2012
@@ -0,0 +1,8 @@
+
+public enum PersistenceModifier
+{
+ UNSPECIFIED,
+ PERSISTENT,
+ TRANSACTIONAL,
+ NONE
+}
Propchange: db/jdo/trunk/specification/imports/PersistenceModifier.txt
------------------------------------------------------------------------------
svn:eol-style = LF
|