Return-Path: X-Original-To: apmail-db-jdo-commits-archive@www.apache.org Delivered-To: apmail-db-jdo-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 2B7549CF0 for ; Fri, 24 Feb 2012 04:26:46 +0000 (UTC) Received: (qmail 40109 invoked by uid 500); 24 Feb 2012 04:26:46 -0000 Mailing-List: contact jdo-commits-help@db.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: jdo-dev@db.apache.org Delivered-To: mailing list jdo-commits@db.apache.org Received: (qmail 40083 invoked by uid 99); 24 Feb 2012 04:26:45 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 24 Feb 2012 04:26:45 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 24 Feb 2012 04:26:34 +0000 Received: from eris.apache.org (localhost [127.0.0.1]) by eris.apache.org (Postfix) with ESMTP id 1882723889E2; Fri, 24 Feb 2012 04:26:12 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1293075 [3/12] - in /db/jdo/trunk/specification: ./ imports/ Date: Fri, 24 Feb 2012 04:26:02 -0000 To: jdo-commits@db.apache.org From: clr@apache.org X-Mailer: svnmailer-1.0.8-patched Message-Id: <20120224042612.1882723889E2@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org 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