You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by dw...@apache.org on 2009/03/27 16:48:35 UTC

svn commit: r759182 [1/2] - in /geronimo/specs/trunk/geronimo-jpa_2.0_spec: ./ src/main/appended-resources/ src/main/appended-resources/META-INF/ src/main/java/javax/persistence/ src/main/java/javax/persistence/criteria/ src/main/java/javax/persistence...

Author: dwoods
Date: Fri Mar 27 15:48:31 2009
New Revision: 759182

URL: http://svn.apache.org/viewvc?rev=759182&view=rev
Log:
GERONIMO-4410 Updates from Jeremy to match the Proposed Final Draft released on March 26, 2009.  Also updated the pom and Notice files to include the JCP required EARLY ACCESS label and notice about this being a pre-release spec that is only for testing and evaluation purposes only.

Added:
    geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/appended-resources/
    geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/appended-resources/META-INF/
    geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/appended-resources/META-INF/NOTICE
    geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/CacheGetMode.java   (with props)
    geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/CachePutMode.java   (with props)
    geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/Cacheable.java   (with props)
    geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/Caching.java   (with props)
    geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/MapKeyEnumerated.java   (with props)
    geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/MapKeyTemporal.java   (with props)
    geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/Parameter.java   (with props)
    geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/PersistenceUtil.java   (with props)
    geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/Result.java   (with props)
    geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/ResultItem.java   (with props)
    geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/ValidationMode.java   (with props)
    geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/
    geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/AbstractCollectionJoin.java   (with props)
    geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/AbstractQuery.java   (with props)
    geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/CollectionJoin.java   (with props)
    geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/CriteriaQuery.java   (with props)
    geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/Expression.java   (with props)
    geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/Fetch.java   (with props)
    geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/FetchParent.java   (with props)
    geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/From.java   (with props)
    geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/Join.java   (with props)
    geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/JoinType.java   (with props)
    geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/ListJoin.java   (with props)
    geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/MapJoin.java   (with props)
    geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/Order.java   (with props)
    geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/Path.java   (with props)
    geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/Predicate.java   (with props)
    geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/QueryBuilder.java   (with props)
    geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/Root.java   (with props)
    geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/Selection.java   (with props)
    geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/SetJoin.java   (with props)
    geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/Subquery.java   (with props)
    geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/metamodel/
    geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/metamodel/AbstractCollection.java   (with props)
    geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/metamodel/Attribute.java   (with props)
    geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/metamodel/Basic.java   (with props)
    geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/metamodel/Bindable.java   (with props)
    geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/metamodel/Collection.java   (with props)
    geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/metamodel/Embeddable.java   (with props)
    geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/metamodel/Entity.java   (with props)
    geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/metamodel/IdentifiableType.java   (with props)
    geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/metamodel/List.java   (with props)
    geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/metamodel/ManagedType.java   (with props)
    geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/metamodel/Map.java   (with props)
    geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/metamodel/MappedSuperclass.java   (with props)
    geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/metamodel/Member.java   (with props)
    geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/metamodel/Metamodel.java   (with props)
    geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/metamodel/Set.java   (with props)
    geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/metamodel/Type.java   (with props)
    geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/metamodel/TypesafeMetamodel.java   (with props)
    geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/spi/LoadState.java   (with props)
    geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/spi/PersistenceProviderResolver.java   (with props)
    geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/spi/PersistenceProviderResolverHolder.java   (with props)
Removed:
    geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/Aggregate.java
    geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/CaseExpression.java
    geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/DomainObject.java
    geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/Expression.java
    geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/FetchJoinObject.java
    geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/OrderByItem.java
    geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/PathExpression.java
    geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/Predicate.java
    geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/PredicateOperand.java
    geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/QueryBuilder.java
    geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/QueryDefinition.java
    geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/SelectItem.java
    geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/Subquery.java
    geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/TrimSpec.java
Modified:
    geronimo/specs/trunk/geronimo-jpa_2.0_spec/NOTICE
    geronimo/specs/trunk/geronimo-jpa_2.0_spec/pom.xml
    geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/CascadeType.java
    geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/EntityManager.java
    geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/EntityManagerFactory.java
    geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/LockModeType.java
    geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/OrderColumn.java
    geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/Persistence.java
    geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/Query.java
    geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/UniqueConstraint.java
    geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/spi/PersistenceProvider.java
    geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/spi/PersistenceUnitInfo.java

Modified: geronimo/specs/trunk/geronimo-jpa_2.0_spec/NOTICE
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-jpa_2.0_spec/NOTICE?rev=759182&r1=759181&r2=759182&view=diff
==============================================================================
--- geronimo/specs/trunk/geronimo-jpa_2.0_spec/NOTICE (original)
+++ geronimo/specs/trunk/geronimo-jpa_2.0_spec/NOTICE Fri Mar 27 15:48:31 2009
@@ -1,21 +1,11 @@
-Apache Geronimo 
+
+Apache Geronimo JSR-317 JPA 2.0 EARLY ACCESS Spec API
 Copyright 2003-2009 The Apache Software Foundation
 
-This product includes software developed by
+This product includes software developed at
 The Apache Software Foundation (http://www.apache.org/).
 
-This product includes software developed by
-The Object Management Group.
 
-Copyright (c) 1999-2000 Object Management Group. Unlimited rights to
-duplicate and use this code are hereby granted provided that this
-copyright notice is included.
-
-This product includes software developed by
-The W3C Consortium (http://www.w3.org/).
-
-Copyright © 1994-2002 World Wide Web Consortium, 
-(Massachusetts Institute of Technology, Institut National 
-de Recherche en Informatique et en Automatique, Keio 
-University). All Rights Reserved. 
-http://www.w3.org/Consortium/Legal/
+
+This is an implementation of an early-draft specification developed under the Java Community Process (JCP) and is made available for testing and evaluation purposes only. The code is not compatible with any specification of the JCP.
+

Modified: geronimo/specs/trunk/geronimo-jpa_2.0_spec/pom.xml
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-jpa_2.0_spec/pom.xml?rev=759182&r1=759181&r2=759182&view=diff
==============================================================================
--- geronimo/specs/trunk/geronimo-jpa_2.0_spec/pom.xml (original)
+++ geronimo/specs/trunk/geronimo-jpa_2.0_spec/pom.xml Fri Mar 27 15:48:31 2009
@@ -32,8 +32,10 @@
 
     <artifactId>geronimo-jpa_2.0_spec</artifactId>
     <packaging>jar</packaging>
-    <name>JPA 2.0</name>
-    <version>1.0.1-EA-SNAPSHOT</version>
+    <name>Apache Geronimo JSR-317 JPA 2.0 EARLY ACCESS Spec API</name>
+    <version>1.0-EA2-SNAPSHOT</version>
+
+    <description>Implementation of Sun JSR-317 JPA 2.0 EARLY ACCESS Spec API</description>
 
     <url>http://geronimo.apache.org/maven/${siteId}/${version}</url>
     <distributionManagement>
@@ -45,7 +47,6 @@
 
     <properties>
         <siteId>specs/${artifactId}</siteId>
-
         <geronimo.osgi.export.pkg>javax.persistence*</geronimo.osgi.export.pkg>
         <geronimo.osgi.export.version>2.0</geronimo.osgi.export.version>
     </properties>

Added: geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/appended-resources/META-INF/NOTICE
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/appended-resources/META-INF/NOTICE?rev=759182&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/appended-resources/META-INF/NOTICE (added)
+++ geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/appended-resources/META-INF/NOTICE Fri Mar 27 15:48:31 2009
@@ -0,0 +1,3 @@
+
+This is an implementation of an early-draft specification developed under the Java Community Process (JCP) and is made available for testing and evaluation purposes only. The code is not compatible with any specification of the JCP.
+

Added: geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/CacheGetMode.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/CacheGetMode.java?rev=759182&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/CacheGetMode.java (added)
+++ geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/CacheGetMode.java Fri Mar 27 15:48:31 2009
@@ -0,0 +1,30 @@
+/*
+ * 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.
+ */
+
+//
+// This source code implements specifications defined by the Java
+// Community Process. In order to remain compliant with the specification
+// DO NOT add / change / or delete method signatures!
+//
+package javax.persistence;
+
+public enum CacheGetMode {
+    USE,
+    BYPASS
+}

Propchange: geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/CacheGetMode.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/CachePutMode.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/CachePutMode.java?rev=759182&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/CachePutMode.java (added)
+++ geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/CachePutMode.java Fri Mar 27 15:48:31 2009
@@ -0,0 +1,32 @@
+/*
+ * 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.
+ */
+
+//
+// This source code implements specifications defined by the Java
+// Community Process. In order to remain compliant with the specification
+// DO NOT add / change / or delete method signatures!
+//
+
+package javax.persistence;
+
+public enum CachePutMode {
+    USE,
+    BYPASS,
+    REFRESH
+}

Propchange: geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/CachePutMode.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/Cacheable.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/Cacheable.java?rev=759182&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/Cacheable.java (added)
+++ geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/Cacheable.java Fri Mar 27 15:48:31 2009
@@ -0,0 +1,12 @@
+package javax.persistence;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+@Target({ElementType.TYPE}) 
+@Retention(RetentionPolicy.RUNTIME)
+public @interface Cacheable {
+    boolean value() default true;
+}

Propchange: geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/Cacheable.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/Caching.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/Caching.java?rev=759182&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/Caching.java (added)
+++ geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/Caching.java Fri Mar 27 15:48:31 2009
@@ -0,0 +1,34 @@
+/*
+ * 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.
+ */
+
+//
+// This source code implements specifications defined by the Java
+// Community Process. In order to remain compliant with the specification
+// DO NOT add / change / or delete method signatures!
+//
+
+package javax.persistence;
+
+public enum Caching {
+    ALL,
+    NONE,
+    ENABLE_SELECTIVE,
+    DISABLE_SELECTIVE,
+    UNSPECIFIED
+}

Propchange: geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/Caching.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/CascadeType.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/CascadeType.java?rev=759182&r1=759181&r2=759182&view=diff
==============================================================================
--- geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/CascadeType.java (original)
+++ geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/CascadeType.java Fri Mar 27 15:48:31 2009
@@ -28,5 +28,5 @@
  * @version $Rev$ $Date$
  */
 public enum CascadeType {
-    ALL, PERSIST, MERGE, REMOVE, REFRESH, CLEAR
+    ALL, PERSIST, MERGE, REMOVE, REFRESH, DETACH
 };

Modified: geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/EntityManager.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/EntityManager.java?rev=759182&r1=759181&r2=759182&view=diff
==============================================================================
--- geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/EntityManager.java (original)
+++ geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/EntityManager.java Fri Mar 27 15:48:31 2009
@@ -22,90 +22,63 @@
 // Community Process. In order to remain compliant with the specification
 // DO NOT add / change / or delete method signatures!
 //
+
 package javax.persistence;
 
 import java.util.Map;
 import java.util.Set;
 
+import javax.persistence.criteria.CriteriaQuery;
+import javax.persistence.criteria.QueryBuilder;
+import javax.persistence.metamodel.Metamodel;
+
 /**
  * @version $Rev$ $Date$
  */
 public interface EntityManager {
 
     public void persist(Object entity);
-
     public <T> T merge(T entity);
-
     public void remove(Object entity);
-
     public <T> T find(Class<T> entityClass, Object primaryKey);
-
     public <T> T find(Class<T> entityClass, Object primaryKey,
-                      LockModeType lockMode);
-
+        Map<String, Object> properties);
     public <T> T find(Class<T> entityClass, Object primaryKey,
-                      LockModeType lockMode,
-                      Map<String, Object> properties);
-
+        LockModeType lockMode);
+    public <T> T find(Class<T> entityClass, Object primaryKey,
+        LockModeType lockMode, Map<String, Object> properties);
     public <T> T getReference(Class<T> entityClass, Object primaryKey);
-
     public void flush();
-
     public void setFlushMode(FlushModeType flushMode);
-
     public FlushModeType getFlushMode();
-
     public void lock(Object entity, LockModeType lockMode);
-
     public void lock(Object entity, LockModeType lockMode,
-                     Map<String, Object> properties);
-
+        Map<String, Object> properties);
     public void refresh(Object entity);
-
+    public void refresh(Object entity, Map<String, Object> properties);
     public void refresh(Object entity, LockModeType lockMode);
-
     public void refresh(Object entity, LockModeType lockMode,
-                        Map<String, Object> properties);
-
+        Map<String, Object> properties);
     public void clear();
-
-    public void clear(Object entity);
-
+    public void detach(Object entity);
     public boolean contains(Object entity);
-
     public LockModeType getLockMode(Object entity);
-
+    public void setProperty(String propertyName, Object value);
     public Map<String, Object> getProperties();
-
     public Set<String> getSupportedProperties();
-
     public Query createQuery(String qlString);
-
-    public Query createQuery(QueryDefinition qdef);
-
+    public Query createQuery(CriteriaQuery criteriaQuery);
     public Query createNamedQuery(String name);
-
     public Query createNativeQuery(String sqlString);
-
-    public Query createNativeQuery(String sqlString,
-                                   Class resultClass);
-
-    public Query createNativeQuery(String sqlString,
-                                   String resultSetMapping);
-
+    public Query createNativeQuery(String sqlString, Class resultClass);
+    public Query createNativeQuery(String sqlString, String resultSetMapping);
     public void joinTransaction();
-
     public <T> T unwrap(Class<T> cls);
-
     public Object getDelegate();
-
     public void close();
-
     public boolean isOpen();
-
     public EntityTransaction getTransaction();
-
     public EntityManagerFactory getEntityManagerFactory();
-
     public QueryBuilder getQueryBuilder();
+    public Metamodel getMetamodel();
 }

Modified: geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/EntityManagerFactory.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/EntityManagerFactory.java?rev=759182&r1=759181&r2=759182&view=diff
==============================================================================
--- geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/EntityManagerFactory.java (original)
+++ geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/EntityManagerFactory.java Fri Mar 27 15:48:31 2009
@@ -27,6 +27,9 @@
 import java.util.Map;
 import java.util.Set;
 
+import javax.persistence.criteria.QueryBuilder;
+import javax.persistence.metamodel.Metamodel;
+
 /**
  *
  * @version $Rev$ $Date$
@@ -39,11 +42,13 @@
 
     public QueryBuilder getQueryBuilder();
 
-    public void close();
+    public Metamodel getMetamodel();
 
     public boolean isOpen();
 
-    public Map getProperties();
+    public void close();
+
+    public Map<String, Object> getProperties();
 
     public Set<String> getSupportedProperties();
 

Modified: geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/LockModeType.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/LockModeType.java?rev=759182&r1=759181&r2=759182&view=diff
==============================================================================
--- geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/LockModeType.java (original)
+++ geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/LockModeType.java Fri Mar 27 15:48:31 2009
@@ -27,12 +27,14 @@
 /**
  * @version $Rev$ $Date$
  */
-public enum LockModeType {
+public enum LockModeType
+{
     READ,
     WRITE,
     OPTIMISTIC,
     OPTIMISTIC_FORCE_INCREMENT,
-    PESSIMISTIC,
+    PESSIMISTIC_READ,
+    PESSIMISTIC_WRITE,
     PESSIMISTIC_FORCE_INCREMENT,
     NONE
 }

Added: geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/MapKeyEnumerated.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/MapKeyEnumerated.java?rev=759182&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/MapKeyEnumerated.java (added)
+++ geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/MapKeyEnumerated.java Fri Mar 27 15:48:31 2009
@@ -0,0 +1,37 @@
+/*
+ * 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.
+ */
+
+//
+// This source code implements specifications defined by the Java
+// Community Process. In order to remain compliant with the specification
+// DO NOT add / change / or delete method signatures!
+//
+
+package javax.persistence;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+@Target({ElementType.METHOD, ElementType.FIELD}) 
+@Retention(RetentionPolicy.RUNTIME)
+public @interface MapKeyEnumerated {
+    EnumType value() default EnumType.ORDINAL;
+}

Propchange: geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/MapKeyEnumerated.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/MapKeyTemporal.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/MapKeyTemporal.java?rev=759182&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/MapKeyTemporal.java (added)
+++ geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/MapKeyTemporal.java Fri Mar 27 15:48:31 2009
@@ -0,0 +1,37 @@
+/*
+ * 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.
+ */
+
+//
+// This source code implements specifications defined by the Java
+// Community Process. In order to remain compliant with the specification
+// DO NOT add / change / or delete method signatures!
+//
+
+package javax.persistence;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+@Target({ElementType.METHOD, ElementType.FIELD}) 
+@Retention(RetentionPolicy.RUNTIME)
+public @interface MapKeyTemporal {
+    TemporalType value();
+}

Propchange: geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/MapKeyTemporal.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/OrderColumn.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/OrderColumn.java?rev=759182&r1=759181&r2=759182&view=diff
==============================================================================
--- geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/OrderColumn.java (original)
+++ geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/OrderColumn.java Fri Mar 27 15:48:31 2009
@@ -32,19 +32,16 @@
 @Target({ElementType.METHOD, ElementType.FIELD})
 @Retention(RetentionPolicy.RUNTIME)
 public @interface OrderColumn {
-    String name() default "";
 
+    String name() default "";
+    
     boolean nullable() default true;
-
+    
     boolean insertable() default true;
-
+    
     boolean updatable() default true;
-
+    
     String columnDefinition() default "";
-
-    boolean contiguous() default true;
-
-    int base() default 0;
-
+    
     String table() default "";
 }

Added: geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/Parameter.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/Parameter.java?rev=759182&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/Parameter.java (added)
+++ geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/Parameter.java Fri Mar 27 15:48:31 2009
@@ -0,0 +1,35 @@
+/*
+ * 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.
+ */
+
+//
+// This source code implements specifications defined by the Java
+// Community Process. In order to remain compliant with the specification
+// DO NOT add / change / or delete method signatures!
+//
+
+package javax.persistence;
+
+import javax.persistence.criteria.Expression;
+
+public interface Parameter<T> extends Expression<T> {
+    
+    String getName();
+
+    Integer getPosition();
+}

Propchange: geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/Parameter.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/Persistence.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/Persistence.java?rev=759182&r1=759181&r2=759182&view=diff
==============================================================================
--- geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/Persistence.java (original)
+++ geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/Persistence.java Fri Mar 27 15:48:31 2009
@@ -177,4 +177,12 @@
                     + providerName, e);
         }
     }
+    
+    /*
+    * Return the PersistenceUtil instance
+    */
+    public PersistenceUtil getPersistenceUtil() {
+        // TODO: must implement this method as required by JSR-317
+        return null;
+    }
 }

Added: geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/PersistenceUtil.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/PersistenceUtil.java?rev=759182&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/PersistenceUtil.java (added)
+++ geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/PersistenceUtil.java Fri Mar 27 15:48:31 2009
@@ -0,0 +1,33 @@
+/*
+ * 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.
+ */
+
+//
+// This source code implements specifications defined by the Java
+// Community Process. In order to remain compliant with the specification
+// DO NOT add / change / or delete method signatures!
+//
+
+package javax.persistence;
+
+public interface PersistenceUtil {
+
+    public boolean isLoaded(Object entity, String attributeName);
+
+    public boolean isLoaded(Object object);
+}

Propchange: geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/PersistenceUtil.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/Query.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/Query.java?rev=759182&r1=759181&r2=759182&view=diff
==============================================================================
--- geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/Query.java (original)
+++ geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/Query.java Fri Mar 27 15:48:31 2009
@@ -35,53 +35,69 @@
  */
 public interface Query {
 
-    public List getResultList();
+    List<Result> getTypedResultList();
+    
+    Result getTypedSingleResult();
+    
+    List getResultList();
 
-    public Object getSingleResult();
+    Object getSingleResult();
 
-    public int executeUpdate();
+    int executeUpdate();
 
-    public Query setMaxResults(int maxResult);
+    Query setMaxResults(int maxResult);
+    
+    int getMaxResults();
 
-    public int getMaxResults();
+    Query setFirstResult(int startPosition);
 
-    public Query setFirstResult(int startPosition);
+    int getFirstResult();
 
-    public int getFirstResult();
+    Query setHint(String hintName, Object value);
 
-    public Query setHint(String hintName, Object value);
+    Map<String, Object> getHints();
 
-    public Map<String, Object> getHints();
+    Set<String> getSupportedHints();
 
-    public Set<String> getSupportedHints();
+    <T> Query setParameter(Parameter<T> param, T value);
 
-    public Query setParameter(String name, Object value);
+    Query setParameter(String name, Object value);
 
-    public Query setParameter(String name, Date value,
-                              TemporalType temporalType);
+    Query setParameter(String name, Date value,
+        TemporalType temporalType);
 
-    public Query setParameter(String name, Calendar value,
-                              TemporalType temporalType);
+    Query setParameter(String name, Calendar value,
+        TemporalType temporalType);
+    
+    Query setParameter(int position, Object value);
+    
+    Query setParameter(int position, Date value,
+        TemporalType temporalType);
 
-    public Query setParameter(int position, Object value);
+    Query setParameter(int position, Calendar value,
+        TemporalType temporalType);
 
-    public Query setParameter(int position, Date value,
-                              TemporalType temporalType);
+    Set<Parameter<?>> getParameters();
 
-    public Query setParameter(int position, Calendar value,
-                              TemporalType temporalType);
+    <T> Parameter<T> getParameter(String name, Class<T> type);
 
-    public Map<String, Object> getNamedParameters();
+    <T> Parameter<T> getParameter(int position, Class<T> type);
 
-    public List getPositionalParameters();
+    <T> T getParameterValue(Parameter<T> param);
 
-    public Query setFlushMode(FlushModeType flushMode);
+    <T> ResultItem<T> getResultItem(String alias, Class<T> type);
 
-    public FlushModeType getFlushMode();
+    <T> ResultItem<T> getResultItem(int position, Class<T> type);
 
-    public Query setLockMode(LockModeType lockMode);
+    List<ResultItem<?>> getResultItems();
 
-    public LockModeType getLockMode();
+    Query setFlushMode(FlushModeType flushMode);
 
-    public <T> T unwrap(Class<T> cls);
+    FlushModeType getFlushMode();
+
+    Query setLockMode(LockModeType lockMode);
+
+    LockModeType getLockMode();
+
+    <T> T unwrap(Class<T> cls);
 }

Added: geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/Result.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/Result.java?rev=759182&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/Result.java (added)
+++ geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/Result.java Fri Mar 27 15:48:31 2009
@@ -0,0 +1,43 @@
+/*
+ * 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.
+ */
+
+//
+// This source code implements specifications defined by the Java
+// Community Process. In order to remain compliant with the specification
+// DO NOT add / change / or delete method signatures!
+//
+
+package javax.persistence;
+
+/**
+* Interface for extracting the result items from a
+* typed query result.
+*/
+public interface Result {
+    
+    <X> X get(ResultItem<X> resultItem);
+    
+    <X> X get(String alias, Class<X> type);
+    
+    <X> X get(int i, Class<X> type);
+    
+    Object get(int i);
+
+    Object[] toArray();
+}

Propchange: geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/Result.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/ResultItem.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/ResultItem.java?rev=759182&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/ResultItem.java (added)
+++ geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/ResultItem.java Fri Mar 27 15:48:31 2009
@@ -0,0 +1,33 @@
+/*
+ * 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.
+ */
+
+//
+// This source code implements specifications defined by the Java
+// Community Process. In order to remain compliant with the specification
+// DO NOT add / change / or delete method signatures!
+//
+
+package javax.persistence;
+
+public interface ResultItem<X> {
+
+    Class<X> getJavaType();
+
+    String getAlias();
+}

Propchange: geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/ResultItem.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/UniqueConstraint.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/UniqueConstraint.java?rev=759182&r1=759181&r2=759182&view=diff
==============================================================================
--- geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/UniqueConstraint.java (original)
+++ geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/UniqueConstraint.java Fri Mar 27 15:48:31 2009
@@ -35,5 +35,8 @@
 @Target({})
 @Retention(RetentionPolicy.RUNTIME)
 public @interface UniqueConstraint {
-    String[] columnNames();
+
+    String name() default "";
+    
+    String[] columnNames();    
 }

Added: geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/ValidationMode.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/ValidationMode.java?rev=759182&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/ValidationMode.java (added)
+++ geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/ValidationMode.java Fri Mar 27 15:48:31 2009
@@ -0,0 +1,31 @@
+/*
+ * 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.
+ */
+
+//
+// This source code implements specifications defined by the Java
+// Community Process. In order to remain compliant with the specification
+// DO NOT add / change / or delete method signatures!
+//
+package javax.persistence;
+
+public enum ValidationMode {
+    AUTO,
+    CALLBACK,
+    NONE
+}

Propchange: geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/ValidationMode.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/AbstractCollectionJoin.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/AbstractCollectionJoin.java?rev=759182&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/AbstractCollectionJoin.java (added)
+++ geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/AbstractCollectionJoin.java Fri Mar 27 15:48:31 2009
@@ -0,0 +1,33 @@
+/*
+ * 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.
+ */
+
+//
+// This source code implements specifications defined by the Java
+// Community Process. In order to remain compliant with the specification
+// DO NOT add / change / or delete method signatures!
+//
+
+package javax.persistence.criteria;
+
+import javax.persistence.metamodel.AbstractCollection;
+
+public interface AbstractCollectionJoin<Z, C, E> extends Join<Z, E> {
+
+    AbstractCollection<? super Z, C, E> getModel();
+}

Propchange: geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/AbstractCollectionJoin.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/AbstractQuery.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/AbstractQuery.java?rev=759182&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/AbstractQuery.java (added)
+++ geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/AbstractQuery.java Fri Mar 27 15:48:31 2009
@@ -0,0 +1,61 @@
+/*
+ * 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.
+ */
+
+//
+// This source code implements specifications defined by the Java
+// Community Process. In order to remain compliant with the specification
+// DO NOT add / change / or delete method signatures!
+//
+
+package javax.persistence.criteria;
+
+import java.util.List;
+import java.util.Set;
+import javax.persistence.metamodel.Entity;
+
+public interface AbstractQuery {
+
+    <X> Root<X> from(Entity<X> entity);
+
+    <X> Root<X> from(Class<X> entityClass);
+
+    Set<Root<?>> getRoots();
+
+    AbstractQuery where(Expression<Boolean> restriction);
+
+    AbstractQuery where(Predicate... restrictions);
+
+    AbstractQuery groupBy(Expression<?>... grouping);
+
+    AbstractQuery having(Expression<Boolean> restriction);
+
+    AbstractQuery having(Predicate... restrictions);
+
+    AbstractQuery distinct(boolean distinct);
+
+    List<Expression<?>> getGroupList();
+
+    Predicate getRestriction();
+
+    Predicate getGroupRestriction();
+
+    boolean isDistinct();
+
+    <U> Subquery<U> subquery(Class<U> type);
+}

Propchange: geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/AbstractQuery.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/CollectionJoin.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/CollectionJoin.java?rev=759182&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/CollectionJoin.java (added)
+++ geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/CollectionJoin.java Fri Mar 27 15:48:31 2009
@@ -0,0 +1,34 @@
+/*
+ * 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.
+ */
+
+//
+// This source code implements specifications defined by the Java
+// Community Process. In order to remain compliant with the specification
+// DO NOT add / change / or delete method signatures!
+//
+
+package javax.persistence.criteria;
+
+import java.util.Collection;
+
+public interface CollectionJoin<Z, E>
+    extends AbstractCollectionJoin<Z, Collection<E>, E> {
+
+    javax.persistence.metamodel.Collection<? super Z, E> getModel();
+}

Propchange: geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/CollectionJoin.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/CriteriaQuery.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/CriteriaQuery.java?rev=759182&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/CriteriaQuery.java (added)
+++ geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/CriteriaQuery.java Fri Mar 27 15:48:31 2009
@@ -0,0 +1,56 @@
+/*
+ * 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.
+ */
+
+//
+// This source code implements specifications defined by the Java
+// Community Process. In order to remain compliant with the specification
+// DO NOT add / change / or delete method signatures!
+//
+
+package javax.persistence.criteria;
+
+import java.util.List;
+import java.util.Set;
+import javax.persistence.Parameter;
+
+public interface CriteriaQuery extends AbstractQuery {
+
+    CriteriaQuery select(Selection<?>... selections);
+    
+    //override the return type only:
+
+    CriteriaQuery where(Expression<Boolean> restriction);
+
+    CriteriaQuery where(Predicate... restrictions);
+
+    CriteriaQuery groupBy(Expression<?>... grouping);
+
+    CriteriaQuery having(Expression<Boolean> restriction);
+
+    CriteriaQuery having(Predicate... restrictions);
+
+    CriteriaQuery orderBy(Order... o);
+
+    CriteriaQuery distinct(boolean distinct);
+
+    List<Selection<?>> getSelectionList();
+
+    List<Order> getOrderList();
+    Set<Parameter<?>> getParameters();
+}

Propchange: geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/CriteriaQuery.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/Expression.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/Expression.java?rev=759182&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/Expression.java (added)
+++ geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/Expression.java Fri Mar 27 15:48:31 2009
@@ -0,0 +1,39 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+//
+// This source code implements specifications defined by the Java
+// Community Process. In order to remain compliant with the specification
+// DO NOT add / change / or delete method signatures!
+//
+
+package javax.persistence.criteria;
+
+public interface Expression<T> extends Selection<T> {
+
+    Class<T> getJavaType();
+
+    Predicate isNull();
+
+    Predicate isNotNull();
+
+    Predicate in(Object... values);
+
+    <X> Expression<X> as(Class<X> type);
+}

Propchange: geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/Expression.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/Fetch.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/Fetch.java?rev=759182&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/Fetch.java (added)
+++ geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/Fetch.java Fri Mar 27 15:48:31 2009
@@ -0,0 +1,37 @@
+/*
+ * 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.
+ */
+
+//
+// This source code implements specifications defined by the Java
+// Community Process. In order to remain compliant with the specification
+// DO NOT add / change / or delete method signatures!
+//
+
+package javax.persistence.criteria;
+
+import javax.persistence.metamodel.Member;
+
+public interface Fetch<Z, X> extends FetchParent<Z, X> {
+
+    Member<? extends Z, X> getMember();
+
+    FetchParent<?, Z> getParent();
+
+    JoinType getJoinType();
+}

Propchange: geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/Fetch.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/FetchParent.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/FetchParent.java?rev=759182&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/FetchParent.java (added)
+++ geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/FetchParent.java Fri Mar 27 15:48:31 2009
@@ -0,0 +1,49 @@
+/*
+ * 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.
+ */
+
+//
+// This source code implements specifications defined by the Java
+// Community Process. In order to remain compliant with the specification
+// DO NOT add / change / or delete method signatures!
+//
+
+package javax.persistence.criteria;
+
+import javax.persistence.metamodel.AbstractCollection;
+import javax.persistence.metamodel.Attribute;
+
+public interface FetchParent<Z, X> {
+
+    java.util.Set<Fetch<X, ?>> getFetches();
+
+    <Y> Fetch<X, Y> fetch(Attribute<? super X, Y> assoc);
+
+    <Y> Fetch<X, Y> fetch(Attribute<? super X, Y> assoc, JoinType jt);
+
+    <Y> Fetch<X, Y> fetch(AbstractCollection<? super X, ?, Y> assoc);
+
+    <Y> Fetch<X, Y> fetch(AbstractCollection<? super X, ?, Y> assoc,
+        JoinType jt);
+
+    //String-based:
+
+    <Y> Fetch<X, Y> fetch(String assocName);
+
+    <Y> Fetch<X, Y> fetch(String assocName, JoinType jt);
+}

Propchange: geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/FetchParent.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/From.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/From.java?rev=759182&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/From.java (added)
+++ geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/From.java Fri Mar 27 15:48:31 2009
@@ -0,0 +1,81 @@
+/*
+ * 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.
+ */
+
+//
+// This source code implements specifications defined by the Java
+// Community Process. In order to remain compliant with the specification
+// DO NOT add / change / or delete method signatures!
+//
+
+package javax.persistence.criteria;
+
+import javax.persistence.metamodel.Attribute;
+import javax.persistence.metamodel.Collection;
+import javax.persistence.metamodel.List;
+import javax.persistence.metamodel.Map;
+import javax.persistence.metamodel.Set;
+
+public interface From<Z, X> extends Path<X>, FetchParent<Z, X> {
+
+    java.util.Set<Join<X, ?>> getJoins();
+
+    <Y> Join<X, Y> join(Attribute<? super X, Y> attribute);
+
+    <Y> Join<X, Y> join(Attribute<? super X, Y> attribute, JoinType jt);
+
+    <Y> CollectionJoin<X, Y> join(Collection<? super X, Y> collection);
+
+    <Y> SetJoin<X, Y> join(Set<? super X, Y> set);
+
+    <Y> ListJoin<X, Y> join(List<? super X, Y> list);
+
+    <K, V> MapJoin<X, K, V> join(Map<? super X, K, V> map);
+
+    <Y> CollectionJoin<X, Y> join(Collection<? super X, Y> collection,
+        JoinType jt);
+
+    <Y> SetJoin<X, Y> join(Set<? super X, Y> set, JoinType jt);
+
+    <Y> ListJoin<X, Y> join(List<? super X, Y> list, JoinType jt);
+
+    <K, V> MapJoin<X, K, V> join(Map<? super X, K, V> map, JoinType jt);
+
+    //String-based:
+
+    <W, Y> Join<W, Y> join(String attributeName);
+
+    <W, Y> CollectionJoin<W, Y> joinCollection(String attributeName);
+
+    <W, Y> SetJoin<W, Y> joinSet(String attributeName);
+
+    <W, Y> ListJoin<W, Y> joinList(String attributeName);
+
+    <W, K, V> MapJoin<W, K, V> joinMap(String attributeName);
+
+    <W, Y> Join<W, Y> join(String attributeName, JoinType jt);
+
+    <W, Y> CollectionJoin<W, Y> joinCollection(String attributeName,
+        JoinType jt);
+
+    <W, Y> SetJoin<W, Y> joinSet(String attributeName, JoinType jt);
+
+    <W, Y> ListJoin<W, Y> joinList(String attributeName, JoinType jt);
+
+    <W, K, V> MapJoin<W, K, V> joinMap(String attributeName, JoinType jt);
+}

Propchange: geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/From.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/Join.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/Join.java?rev=759182&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/Join.java (added)
+++ geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/Join.java Fri Mar 27 15:48:31 2009
@@ -0,0 +1,37 @@
+/*
+ * 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.
+ */
+
+//
+// This source code implements specifications defined by the Java
+// Community Process. In order to remain compliant with the specification
+// DO NOT add / change / or delete method signatures!
+//
+
+package javax.persistence.criteria;
+
+import javax.persistence.metamodel.Member;
+
+public interface Join<Z, X> extends From<Z, X> {
+
+    Member<? extends Z, X> getMember();
+
+    From<?, Z> getParent();
+
+    JoinType getJoinType();
+}

Propchange: geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/Join.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/JoinType.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/JoinType.java?rev=759182&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/JoinType.java (added)
+++ geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/JoinType.java Fri Mar 27 15:48:31 2009
@@ -0,0 +1,29 @@
+/*
+ * 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.
+ */
+
+//
+// This source code implements specifications defined by the Java
+// Community Process. In order to remain compliant with the specification
+// DO NOT add / change / or delete method signatures!
+//
+package javax.persistence.criteria;
+
+public enum JoinType {
+    INNER, LEFT, RIGHT
+}

Propchange: geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/JoinType.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/ListJoin.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/ListJoin.java?rev=759182&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/ListJoin.java (added)
+++ geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/ListJoin.java Fri Mar 27 15:48:31 2009
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+//
+// This source code implements specifications defined by the Java
+// Community Process. In order to remain compliant with the specification
+// DO NOT add / change / or delete method signatures!
+//
+
+package javax.persistence.criteria;
+
+import java.util.List;
+
+public interface ListJoin<Z, E>
+    extends AbstractCollectionJoin<Z, List<E>, E> {
+
+    javax.persistence.metamodel.List<? super Z, E> getModel();
+
+    Expression<Integer> index();
+}

Propchange: geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/ListJoin.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/MapJoin.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/MapJoin.java?rev=759182&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/MapJoin.java (added)
+++ geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/MapJoin.java Fri Mar 27 15:48:31 2009
@@ -0,0 +1,44 @@
+/*
+ * 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.
+ */
+
+//
+// This source code implements specifications defined by the Java
+// Community Process. In order to remain compliant with the specification
+// DO NOT add / change / or delete method signatures!
+//
+
+package javax.persistence.criteria;
+
+import java.util.Map;
+
+public interface MapJoin<Z, K, V>
+    extends AbstractCollectionJoin<Z, Map<K, V>, V> {
+
+    javax.persistence.metamodel.Map<? super Z, K, V> getModel();
+
+    Join<Map<K, V>, K> joinKey();
+
+    Join<Map<K, V>, K> joinKey(JoinType jt);
+
+    Path<K> key();
+
+    Path<V> value(); //Unnecessary - just returns this
+
+    Expression<Map.Entry<K, V>> entry();
+}

Propchange: geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/MapJoin.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/Order.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/Order.java?rev=759182&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/Order.java (added)
+++ geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/Order.java Fri Mar 27 15:48:31 2009
@@ -0,0 +1,35 @@
+/*
+ * 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.
+ */
+
+//
+// This source code implements specifications defined by the Java
+// Community Process. In order to remain compliant with the specification
+// DO NOT add / change / or delete method signatures!
+//
+
+package javax.persistence.criteria;
+
+public interface Order {
+
+    void reverse();
+
+    boolean isAscending();
+
+    <T extends Comparable<T>> Expression<T> getExpression();
+}

Propchange: geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/Order.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/Path.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/Path.java?rev=759182&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/Path.java (added)
+++ geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/Path.java Fri Mar 27 15:48:31 2009
@@ -0,0 +1,51 @@
+/*
+ * 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.
+ */
+
+//
+// This source code implements specifications defined by the Java
+// Community Process. In order to remain compliant with the specification
+// DO NOT add / change / or delete method signatures!
+//
+
+package javax.persistence.criteria;
+
+import javax.persistence.metamodel.AbstractCollection;
+import javax.persistence.metamodel.Attribute;
+import javax.persistence.metamodel.Bindable;
+import javax.persistence.metamodel.Map;
+
+public interface Path<X> extends Expression<X> {
+
+    Bindable<X> getModel();
+
+    Path<?> getParentPath();
+
+    <Y> Path<Y> get(Attribute<? super X, Y> model);
+
+    <E, C extends java.util.Collection<E>> Expression<C>
+        get(AbstractCollection<X, C, E> collection);
+
+    <K, V, M extends java.util.Map<K, V>> Expression<M> 
+        get(Map<X, K, V> collection);
+
+    Expression<Class<? extends X>> type();
+    
+    //String-based:
+    <Y> Path<Y> get(String attName);
+}

Propchange: geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/Path.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/Predicate.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/Predicate.java?rev=759182&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/Predicate.java (added)
+++ geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/Predicate.java Fri Mar 27 15:48:31 2009
@@ -0,0 +1,45 @@
+/*
+ * 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.
+ */
+
+//
+// This source code implements specifications defined by the Java
+// Community Process. In order to remain compliant with the specification
+// DO NOT add / change / or delete method signatures!
+//
+
+package javax.persistence.criteria;
+
+import java.util.List;
+
+public interface Predicate extends Expression<Boolean> {
+
+    public static enum BooleanOperator {
+        AND, OR
+    }
+
+    BooleanOperator getOperator();
+
+    boolean isNegated();
+
+    List<Expression<Boolean>> getExpressions();
+
+    Predicate add(Expression<Boolean> s);
+
+    Predicate negate();
+}

Propchange: geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/Predicate.java
------------------------------------------------------------------------------
    svn:eol-style = native