You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by dj...@apache.org on 2008/11/27 01:23:46 UTC

svn commit: r721048 [4/5] - in /geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence: ./ spi/

Modified: geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/PredicateOperand.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/PredicateOperand.java?rev=721048&r1=721047&r2=721048&view=diff
==============================================================================
--- geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/PredicateOperand.java (original)
+++ geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/PredicateOperand.java Wed Nov 26 16:23:43 2008
@@ -24,8 +24,8 @@
 //
 package javax.persistence;
 
-import java.util.Date;
 import java.util.Calendar;
+import java.util.Date;
 
 /**
  * Interface for constructing where-clause and having-clause conditions.
@@ -33,527 +33,527 @@
  * the where or having methods.
  */
 public interface PredicateOperand {
-	/**
-	 * Create a predicate for testing equality with the specified argument.
-	 *
-	 * @param arg -
-	 *            PredicateOperand instance or parameter
-	 * @return conditional predicate
-	 */
-	Predicate equal(PredicateOperand arg);
-
-	/**
-	 * Create a predicate for testing equality with the specified argument.
-	 *
-	 * @param cls -
-	 *            entity class
-	 * @return conditional predicate
-	 */
-	Predicate equal(Class cls);
-
-	/**
-	 * Create a predicate for testing equality with the specified argument.
-	 *
-	 * @param arg -
-	 *            numeric
-	 * @return conditional predicate
-	 */
-	Predicate equal(Number arg);
-
-	/**
-	 * Create a predicate for testing equality with the specified argument.
-	 *
-	 * @param arg -
-	 *            string value
-	 * @return conditional predicate
-	 */
-	Predicate equal(String arg);
-
-	/**
-	 * Create a predicate for testing equality with the specified argument.
-	 *
-	 * @param arg -
-	 *            boolean value
-	 * @return conditional predicate
-	 */
-	Predicate equal(boolean arg);
+    /**
+     * Create a predicate for testing equality with the specified argument.
+     *
+     * @param arg -
+     *            PredicateOperand instance or parameter
+     * @return conditional predicate
+     */
+    Predicate equal(PredicateOperand arg);
+
+    /**
+     * Create a predicate for testing equality with the specified argument.
+     *
+     * @param cls -
+     *            entity class
+     * @return conditional predicate
+     */
+    Predicate equal(Class cls);
+
+    /**
+     * Create a predicate for testing equality with the specified argument.
+     *
+     * @param arg -
+     *            numeric
+     * @return conditional predicate
+     */
+    Predicate equal(Number arg);
+
+    /**
+     * Create a predicate for testing equality with the specified argument.
+     *
+     * @param arg -
+     *            string value
+     * @return conditional predicate
+     */
+    Predicate equal(String arg);
+
+    /**
+     * Create a predicate for testing equality with the specified argument.
+     *
+     * @param arg -
+     *            boolean value
+     * @return conditional predicate
+     */
+    Predicate equal(boolean arg);
+
+    /**
+     * Create a predicate for testing equality with the specified argument.
+     *
+     * @param arg -
+     *            date
+     * @return conditional predicate
+     */
+    Predicate equal(Date arg);
+
+    /**
+     * Create a predicate for testing equality with the specified argument.
+     *
+     * @param arg -
+     *            calendar
+     * @return conditional predicate
+     */
+    Predicate equal(Calendar arg);
+
+    /**
+     * Create a predicate for testing equality with the specified argument.
+     *
+     * @param e -
+     *          enum
+     * @return conditional predicate
+     */
+    Predicate equal(Enum<?> e);
+
+    /**
+     * Create a predicate for testing inequality with the specified argument.
+     *
+     * @param arg -
+     *            PredicateOperand instance or parameter
+     * @return conditional predicate
+     */
+    Predicate notEqual(PredicateOperand arg);
+
+    /**
+     * Create a predicate for testing inequality with the specified argument.
+     *
+     * @param cls -
+     *            entity class
+     * @return conditional predicate
+     */
+    Predicate notEqual(Class cls);
+
+    /**
+     * Create a predicate for testing inequality with the specified argument.
+     *
+     * @param arg -
+     *            numberic value
+     * @return conditional predicate
+     */
+    Predicate notEqual(Number arg);
+
+    /**
+     * Create a predicate for testing inequality with the specified argument.
+     *
+     * @param arg -
+     *            string value
+     * @return conditional predicate
+     */
+    Predicate notEqual(String arg);
+
+    /**
+     * Create a predicate for testing inequality with the specified argument.
+     *
+     * @param arg -
+     *            boolean value
+     * @return conditional predicate
+     */
+    Predicate notEqual(boolean arg);
+
+    /**
+     * Create a predicate for testing inequality with the specified argument.
+     *
+     * @param arg -
+     *            date
+     * @return conditional predicate
+     */
+    Predicate notEqual(Date arg);
+
+    /**
+     * Create a predicate for testing inequality with the specified argument.
+     *
+     * @param arg -
+     *            calendar
+     * @return conditional predicate
+     */
+    Predicate notEqual(Calendar arg);
+
+    /**
+     * Create a predicate for testing inequality with the specified argument.
+     *
+     * @param e -
+     *          enum
+     * @return conditional predicate
+     */
+    Predicate notEqual(Enum<?> e);
+
+    /**
+     * Create a predicate for testing whether the PredicateOperand is greater
+     * than the argument.
+     *
+     * @param arg -
+     *            PredicateOperand instance or parameter
+     * @return conditional predicate
+     */
+    Predicate greaterThan(PredicateOperand arg);
+
+    /**
+     * Create a predicate for testing whether the PredicateOperand is greater
+     * than the argument.
+     *
+     * @param arg -
+     *            numeric
+     * @return conditional predicate
+     */
+    Predicate greaterThan(Number arg);
+
+    /**
+     * Create a predicate for testing whether the PredicateOperand is greater
+     * than the argument.
+     *
+     * @param arg -
+     *            string
+     * @return conditional predicate
+     */
+    Predicate greaterThan(String arg);
+
+    /**
+     * Create a predicate for testing whether the PredicateOperand is greater
+     * than the argument.
+     *
+     * @param arg -
+     *            date
+     * @return conditional predicate
+     */
+    Predicate greaterThan(Date arg);
+
+    /**
+     * Create a predicate for testing whether the PredicateOperand is greater
+     * than the argument.
+     *
+     * @param arg -
+     *            calendar
+     * @return conditional predicate
+     */
+    Predicate greaterThan(Calendar arg);
+
+    /**
+     * Create a predicate for testing whether the PredicateOperand is greater
+     * than or equal to the argument.
+     *
+     * @param arg -
+     *            PredicateOperand instance or parameter
+     * @return conditional predicate
+     */
+    Predicate greaterEqual(PredicateOperand arg);
+
+    /**
+     * Create a predicate for testing whether the PredicateOperand is greater
+     * than or equal to the argument.
+     *
+     * @param arg -
+     *            numeric
+     * @return conditional predicate
+     */
+    Predicate greaterEqual(Number arg);
+
+    /**
+     * Create a predicate for testing whether the PredicateOperand is greater
+     * than or equal to the argument.
+     *
+     * @param arg -
+     *            string
+     * @return conditional predicate
+     */
+    Predicate greaterEqual(String arg);
+
+    /**
+     * Create a predicate for testing whether the PredicateOperand is greater
+     * than or equal to the argument.
+     *
+     * @param arg -
+     *            date
+     * @return conditional predicate
+     */
+    Predicate greaterEqual(Date arg);
+
+    /**
+     * Create a predicate for testing whether the PredicateOperand is greater
+     * than or equal to the argument.
+     *
+     * @param arg -
+     *            calendar
+     * @return conditional predicate
+     */
+    Predicate greaterEqual(Calendar arg);
+
+    /**
+     * Create a predicate for testing whether the PredicateOperand is less than
+     * the argument.
+     *
+     * @param arg -
+     *            PredicateOperand instance or parameter
+     * @return conditional predicate
+     */
+    Predicate lessThan(PredicateOperand arg);
+
+    /**
+     * Create a predicate for testing whether the PredicateOperand is less than
+     * the argument.
+     *
+     * @param arg -
+     *            numeric
+     * @return conditional predicate
+     */
+    Predicate lessThan(Number arg);
+
+    /**
+     * Create a predicate for testing whether the PredicateOperand is less than
+     * the argument.
+     *
+     * @param arg -
+     *            string
+     * @return conditional predicate
+     */
+    Predicate lessThan(String arg);
+
+    /**
+     * Create a predicate for testing whether the PredicateOperand is less than
+     * the argument.
+     *
+     * @param arg -
+     *            date
+     * @return conditional predicate
+     */
+    Predicate lessThan(Date arg);
+
+    /**
+     * Create a predicate for testing whether the PredicateOperand is less than
+     * the argument.
+     *
+     * @param arg -
+     *            calendar
+     * @return conditional predicate
+     */
+    Predicate lessThan(Calendar arg);
+
+    /**
+     * Create a predicate for testing whether the PredicateOperand is less than
+     * or equal to the argument.
+     *
+     * @param arg -
+     *            PredicateOperand instance or parameter
+     * @return conditional predicate
+     */
+    Predicate lessEqual(PredicateOperand arg);
+
+    /**
+     * Create a predicate for testing whether the PredicateOperand is less than
+     * or equal to the argument.
+     *
+     * @param arg -
+     *            numeric
+     * @return conditional predicate
+     */
+    Predicate lessEqual(Number arg);
+
+    /**
+     * Create a predicate for testing whether the PredicateOperand is less than
+     * or equal to the argument.
+     *
+     * @param arg -
+     *            string
+     * @return conditional predicate
+     */
+    Predicate lessEqual(String arg);
+
+    /**
+     * Create a predicate for testing whether the PredicateOperand is less than
+     * or equal to the argument.
+     *
+     * @param arg -
+     *            date
+     * @return conditional predicate
+     */
+    Predicate lessEqual(Date arg);
+
+    /**
+     * Create a predicate for testing whether the PredicateOperand is less than
+     * or equal to the argument.
+     *
+     * @param arg -
+     *            calendar
+     * @return conditional predicate
+     */
+    Predicate lessEqual(Calendar arg);
+
+    /**
+     * Create a predicate for testing whether the PredicateOperand lies between
+     * (inclusive) the two arguments.
+     *
+     * @param arg1 -
+     *             PredicateOperand instance or parameter
+     * @param arg2 -
+     *             PredicateOperand instance or parameter
+     * @return conditional predicate
+     */
+    Predicate between(PredicateOperand arg1, PredicateOperand arg2);
+
+    /**
+     * Create a predicate for testing whether the PredicateOperand lies between
+     * (inclusive) the two arguments.
+     *
+     * @param arg1 -
+     *             PredicateOperand instance or parameter
+     * @param arg2 -
+     *             numeric
+     * @return conditional predicate
+     */
+    Predicate between(PredicateOperand arg1, Number arg2);
+
+    /**
+     * Create a predicate for testing whether the PredicateOperand lies between
+     * (inclusive) the two arguments.
+     *
+     * @param arg1 -
+     *             numeric
+     * @param arg2 -
+     *             PredicateOperand instance or parameter
+     * @return conditional predicate
+     */
+    Predicate between(Number arg1, PredicateOperand arg2);
+
+    /**
+     * Create a predicate for testing whether the PredicateOperand lies between
+     * (inclusive) the two arguments.
+     *
+     * @param arg1 -
+     *             numeric
+     * @param arg2 -
+     *             numeric
+     * @return conditional predicate
+     */
+    Predicate between(Number arg1, Number arg2);
+
+    /**
+     * Create a predicate for testing whether the PredicateOperand lies between
+     * (inclusive) the two arguments.
+     *
+     * @param arg1 -
+     *             PredicateOperand instance or parameter
+     * @param arg2 -
+     *             string
+     * @return conditional predicate
+     */
+    Predicate between(PredicateOperand arg1, String arg2);
+
+    /**
+     * Create a predicate for testing whether the PredicateOperand lies between
+     * (inclusive) the two arguments.
+     *
+     * @param arg1 -
+     *             string
+     * @param arg2 -
+     *             PredicateOperand instance or parameter
+     * @return conditional predicate
+     */
+    Predicate between(String arg1, PredicateOperand arg2);
+
+    /**
+     * Create a predicate for testing whether the PredicateOperand lies between
+     * (inclusive) the two arguments.
+     *
+     * @param arg1 -
+     *             string
+     * @param arg2 -
+     *             string
+     * @return conditional predicate
+     */
+    Predicate between(String arg1, String arg2);
+
+    /**
+     * Create a predicate for testing whether the PredicateOperand lies between
+     * (inclusive) the two arguments.
+     *
+     * @param arg1 -
+     *             PredicateOperand instance or parameter
+     * @param arg2 -
+     *             date
+     * @return conditional predicate
+     */
+    Predicate between(PredicateOperand arg1, Date arg2);
+
+    /**
+     * Create a predicate for testing whether the PredicateOperand lies between
+     * (inclusive) the two arguments.
+     *
+     * @param arg1 -
+     *             date
+     * @param arg2 -
+     *             PredicateOperand instance or parameter
+     * @return conditional predicate
+     */
+    Predicate between(Date arg1, PredicateOperand arg2);
+
+    /**
+     * Create a predicate for testing whether the PredicateOperand lies between
+     * (inclusive) the two arguments.
+     *
+     * @param arg1 -
+     *             date
+     * @param arg2 -
+     *             date
+     * @return conditional predicate
+     */
+    Predicate between(Date arg1, Date arg2);
+
+    /**
+     * Create a predicate for testing whether the PredicateOperand lies between
+     * (inclusive) the two arguments.
+     *
+     * @param arg1 -
+     *             PredicateOperand instance or parameter
+     * @param arg2 -
+     *             calendar
+     * @return conditional predicate
+     */
+    Predicate between(PredicateOperand arg1, Calendar arg2);
+
+    /**
+     * Create a predicate for testing whether the PredicateOperand lies between
+     * (inclusive) the two arguments.
+     *
+     * @param arg1 -
+     *             calendar
+     * @param arg2 -
+     *             PredicateOperand instance or parameter
+     * @return conditional predicate
+     */
+    Predicate between(Calendar arg1, PredicateOperand arg2);
+
+    /**
+     * Create a predicate for testing whether the PredicateOperand lies between
+     * (inclusive) the two arguments.
+     *
+     * @param arg1 -
+     *             calendar
+     * @param arg2 -
+     *             calendar
+     * @return conditional predicate
+     */
+    Predicate between(Calendar arg1, Calendar arg2);
+
+    /**
+     * Create a predicate for testing whether the PredicateOperand satisfies the
+     * given pattern.
+     *
+     * @param pattern
+     * @return conditional predicate
+     */
+    Predicate like(PredicateOperand pattern);
+
+    /**
+     * Create a predicate for testing whether the PredicateOperand satisfies the
+     * given pattern.
+     *
+     * @param pattern
+     * @param escapeChar
+     * @return conditional predicate
+     */
+    Predicate like(PredicateOperand pattern, PredicateOperand escapeChar);
 
-	/**
-	 * Create a predicate for testing equality with the specified argument.
-	 *
-	 * @param arg -
-	 *            date
-	 * @return conditional predicate
-	 */
-	Predicate equal(Date arg);
-
-	/**
-	 * Create a predicate for testing equality with the specified argument.
-	 *
-	 * @param arg -
-	 *            calendar
-	 * @return conditional predicate
-	 */
-	Predicate equal(Calendar arg);
-
-	/**
-	 * Create a predicate for testing equality with the specified argument.
-	 *
-	 * @param e -
-	 *            enum
-	 * @return conditional predicate
-	 */
-	Predicate equal(Enum<?> e);
-
-	/**
-	 * Create a predicate for testing inequality with the specified argument.
-	 *
-	 * @param arg -
-	 *            PredicateOperand instance or parameter
-	 * @return conditional predicate
-	 */
-	Predicate notEqual(PredicateOperand arg);
-
-	/**
-	 * Create a predicate for testing inequality with the specified argument.
-	 *
-	 * @param cls -
-	 *            entity class
-	 * @return conditional predicate
-	 */
-	Predicate notEqual(Class cls);
-
-	/**
-	 * Create a predicate for testing inequality with the specified argument.
-	 *
-	 * @param arg -
-	 *            numberic value
-	 * @return conditional predicate
-	 */
-	Predicate notEqual(Number arg);
-
-	/**
-	 * Create a predicate for testing inequality with the specified argument.
-	 *
-	 * @param arg -
-	 *            string value
-	 * @return conditional predicate
-	 */
-	Predicate notEqual(String arg);
-
-	/**
-	 * Create a predicate for testing inequality with the specified argument.
-	 *
-	 * @param arg -
-	 *            boolean value
-	 * @return conditional predicate
-	 */
-	Predicate notEqual(boolean arg);
-
-	/**
-	 * Create a predicate for testing inequality with the specified argument.
-	 *
-	 * @param arg -
-	 *            date
-	 * @return conditional predicate
-	 */
-	Predicate notEqual(Date arg);
-
-	/**
-	 * Create a predicate for testing inequality with the specified argument.
-	 *
-	 * @param arg -
-	 *            calendar
-	 * @return conditional predicate
-	 */
-	Predicate notEqual(Calendar arg);
-
-	/**
-	 * Create a predicate for testing inequality with the specified argument.
-	 *
-	 * @param e -
-	 *            enum
-	 * @return conditional predicate
-	 */
-	Predicate notEqual(Enum<?> e);
-
-	/**
-	 * Create a predicate for testing whether the PredicateOperand is greater
-	 * than the argument.
-	 *
-	 * @param arg -
-	 *            PredicateOperand instance or parameter
-	 * @return conditional predicate
-	 */
-	Predicate greaterThan(PredicateOperand arg);
-
-	/**
-	 * Create a predicate for testing whether the PredicateOperand is greater
-	 * than the argument.
-	 *
-	 * @param arg -
-	 *            numeric
-	 * @return conditional predicate
-	 */
-	Predicate greaterThan(Number arg);
-
-	/**
-	 * Create a predicate for testing whether the PredicateOperand is greater
-	 * than the argument.
-	 *
-	 * @param arg -
-	 *            string
-	 * @return conditional predicate
-	 */
-	Predicate greaterThan(String arg);
-
-	/**
-	 * Create a predicate for testing whether the PredicateOperand is greater
-	 * than the argument.
-	 *
-	 * @param arg -
-	 *            date
-	 * @return conditional predicate
-	 */
-	Predicate greaterThan(Date arg);
-
-	/**
-	 * Create a predicate for testing whether the PredicateOperand is greater
-	 * than the argument.
-	 *
-	 * @param arg -
-	 *            calendar
-	 * @return conditional predicate
-	 */
-	Predicate greaterThan(Calendar arg);
-
-	/**
-	 * Create a predicate for testing whether the PredicateOperand is greater
-	 * than or equal to the argument.
-	 *
-	 * @param arg -
-	 *            PredicateOperand instance or parameter
-	 * @return conditional predicate
-	 */
-	Predicate greaterEqual(PredicateOperand arg);
-
-	/**
-	 * Create a predicate for testing whether the PredicateOperand is greater
-	 * than or equal to the argument.
-	 *
-	 * @param arg -
-	 *            numeric
-	 * @return conditional predicate
-	 */
-	Predicate greaterEqual(Number arg);
-
-	/**
-	 * Create a predicate for testing whether the PredicateOperand is greater
-	 * than or equal to the argument.
-	 *
-	 * @param arg -
-	 *            string
-	 * @return conditional predicate
-	 */
-	Predicate greaterEqual(String arg);
-
-	/**
-	 * Create a predicate for testing whether the PredicateOperand is greater
-	 * than or equal to the argument.
-	 *
-	 * @param arg -
-	 *            date
-	 * @return conditional predicate
-	 */
-	Predicate greaterEqual(Date arg);
-
-	/**
-	 * Create a predicate for testing whether the PredicateOperand is greater
-	 * than or equal to the argument.
-	 *
-	 * @param arg -
-	 *            calendar
-	 * @return conditional predicate
-	 */
-	Predicate greaterEqual(Calendar arg);
-
-	/**
-	 * Create a predicate for testing whether the PredicateOperand is less than
-	 * the argument.
-	 *
-	 * @param arg -
-	 *            PredicateOperand instance or parameter
-	 * @return conditional predicate
-	 */
-	Predicate lessThan(PredicateOperand arg);
-
-	/**
-	 * Create a predicate for testing whether the PredicateOperand is less than
-	 * the argument.
-	 *
-	 * @param arg -
-	 *            numeric
-	 * @return conditional predicate
-	 */
-	Predicate lessThan(Number arg);
-
-	/**
-	 * Create a predicate for testing whether the PredicateOperand is less than
-	 * the argument.
-	 *
-	 * @param arg -
-	 *            string
-	 * @return conditional predicate
-	 */
-	Predicate lessThan(String arg);
-
-	/**
-	 * Create a predicate for testing whether the PredicateOperand is less than
-	 * the argument.
-	 *
-	 * @param arg -
-	 *            date
-	 * @return conditional predicate
-	 */
-	Predicate lessThan(Date arg);
-
-	/**
-	 * Create a predicate for testing whether the PredicateOperand is less than
-	 * the argument.
-	 *
-	 * @param arg -
-	 *            calendar
-	 * @return conditional predicate
-	 */
-	Predicate lessThan(Calendar arg);
-
-	/**
-	 * Create a predicate for testing whether the PredicateOperand is less than
-	 * or equal to the argument.
-	 *
-	 * @param arg -
-	 *            PredicateOperand instance or parameter
-	 * @return conditional predicate
-	 */
-	Predicate lessEqual(PredicateOperand arg);
-
-	/**
-	 * Create a predicate for testing whether the PredicateOperand is less than
-	 * or equal to the argument.
-	 *
-	 * @param arg -
-	 *            numeric
-	 * @return conditional predicate
-	 */
-	Predicate lessEqual(Number arg);
-
-	/**
-	 * Create a predicate for testing whether the PredicateOperand is less than
-	 * or equal to the argument.
-	 *
-	 * @param arg -
-	 *            string
-	 * @return conditional predicate
-	 */
-	Predicate lessEqual(String arg);
-
-	/**
-	 * Create a predicate for testing whether the PredicateOperand is less than
-	 * or equal to the argument.
-	 *
-	 * @param arg -
-	 *            date
-	 * @return conditional predicate
-	 */
-	Predicate lessEqual(Date arg);
-
-	/**
-	 * Create a predicate for testing whether the PredicateOperand is less than
-	 * or equal to the argument.
-	 *
-	 * @param arg -
-	 *            calendar
-	 * @return conditional predicate
-	 */
-	Predicate lessEqual(Calendar arg);
-
-	/**
-	 * Create a predicate for testing whether the PredicateOperand lies between
-	 * (inclusive) the two arguments.
-	 *
-	 * @param arg1 -
-	 *            PredicateOperand instance or parameter
-	 * @param arg2 -
-	 *            PredicateOperand instance or parameter
-	 * @return conditional predicate
-	 */
-	Predicate between(PredicateOperand arg1, PredicateOperand arg2);
-
-	/**
-	 * Create a predicate for testing whether the PredicateOperand lies between
-	 * (inclusive) the two arguments.
-	 *
-	 * @param arg1 -
-	 *            PredicateOperand instance or parameter
-	 * @param arg2 -
-	 *            numeric
-	 * @return conditional predicate
-	 */
-	Predicate between(PredicateOperand arg1, Number arg2);
-
-	/**
-	 * Create a predicate for testing whether the PredicateOperand lies between
-	 * (inclusive) the two arguments.
-	 *
-	 * @param arg1 -
-	 *            numeric
-	 * @param arg2 -
-	 *            PredicateOperand instance or parameter
-	 * @return conditional predicate
-	 */
-	Predicate between(Number arg1, PredicateOperand arg2);
-
-	/**
-	 * Create a predicate for testing whether the PredicateOperand lies between
-	 * (inclusive) the two arguments.
-	 *
-	 * @param arg1 -
-	 *            numeric
-	 * @param arg2 -
-	 *            numeric
-	 * @return conditional predicate
-	 */
-	Predicate between(Number arg1, Number arg2);
-
-	/**
-	 * Create a predicate for testing whether the PredicateOperand lies between
-	 * (inclusive) the two arguments.
-	 *
-	 * @param arg1 -
-	 *            PredicateOperand instance or parameter
-	 * @param arg2 -
-	 *            string
-	 * @return conditional predicate
-	 */
-	Predicate between(PredicateOperand arg1, String arg2);
-
-	/**
-	 * Create a predicate for testing whether the PredicateOperand lies between
-	 * (inclusive) the two arguments.
-	 *
-	 * @param arg1 -
-	 *            string
-	 * @param arg2 -
-	 *            PredicateOperand instance or parameter
-	 * @return conditional predicate
-	 */
-	Predicate between(String arg1, PredicateOperand arg2);
-
-	/**
-	 * Create a predicate for testing whether the PredicateOperand lies between
-	 * (inclusive) the two arguments.
-	 *
-	 * @param arg1 -
-	 *            string
-	 * @param arg2 -
-	 *            string
-	 * @return conditional predicate
-	 */
-	Predicate between(String arg1, String arg2);
-
-	/**
-	 * Create a predicate for testing whether the PredicateOperand lies between
-	 * (inclusive) the two arguments.
-	 *
-	 * @param arg1 -
-	 *            PredicateOperand instance or parameter
-	 * @param arg2 -
-	 *            date
-	 * @return conditional predicate
-	 */
-	Predicate between(PredicateOperand arg1, Date arg2);
-
-	/**
-	 * Create a predicate for testing whether the PredicateOperand lies between
-	 * (inclusive) the two arguments.
-	 *
-	 * @param arg1 -
-	 *            date
-	 * @param arg2 -
-	 *            PredicateOperand instance or parameter
-	 * @return conditional predicate
-	 */
-	Predicate between(Date arg1, PredicateOperand arg2);
-
-	/**
-	 * Create a predicate for testing whether the PredicateOperand lies between
-	 * (inclusive) the two arguments.
-	 *
-	 * @param arg1 -
-	 *            date
-	 * @param arg2 -
-	 *            date
-	 * @return conditional predicate
-	 */
-	Predicate between(Date arg1, Date arg2);
-
-	/**
-	 * Create a predicate for testing whether the PredicateOperand lies between
-	 * (inclusive) the two arguments.
-	 *
-	 * @param arg1 -
-	 *            PredicateOperand instance or parameter
-	 * @param arg2 -
-	 *            calendar
-	 * @return conditional predicate
-	 */
-	Predicate between(PredicateOperand arg1, Calendar arg2);
-
-	/**
-	 * Create a predicate for testing whether the PredicateOperand lies between
-	 * (inclusive) the two arguments.
-	 *
-	 * @param arg1 -
-	 *            calendar
-	 * @param arg2 -
-	 *            PredicateOperand instance or parameter
-	 * @return conditional predicate
-	 */
-	Predicate between(Calendar arg1, PredicateOperand arg2);
-
-	/**
-	 * Create a predicate for testing whether the PredicateOperand lies between
-	 * (inclusive) the two arguments.
-	 *
-	 * @param arg1 -
-	 *            calendar
-	 * @param arg2 -
-	 *            calendar
-	 * @return conditional predicate
-	 */
-	Predicate between(Calendar arg1, Calendar arg2);
-
-	/**
-	 * Create a predicate for testing whether the PredicateOperand satisfies the
-	 * given pattern.
-	 *
-	 * @param pattern
-	 * @return conditional predicate
-	 */
-	Predicate like(PredicateOperand pattern);
-
-	/**
-	 * Create a predicate for testing whether the PredicateOperand satisfies the
-	 * given pattern.
-	 *
-	 * @param pattern
-	 * @param escapeChar
-	 * @return conditional predicate
-	 */
-	Predicate like(PredicateOperand pattern, PredicateOperand escapeChar);
-
-	/**
-	 * Create a predicate for testing whether the PredicateOperand satisfies the
+    /**
+     * Create a predicate for testing whether the PredicateOperand satisfies the
 	 * given pattern.
 	 *
 	 * @param pattern

Modified: geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/PrimaryKeyJoinColumn.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/PrimaryKeyJoinColumn.java?rev=721048&r1=721047&r2=721048&view=diff
==============================================================================
--- geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/PrimaryKeyJoinColumn.java (original)
+++ geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/PrimaryKeyJoinColumn.java Wed Nov 26 16:23:43 2008
@@ -24,10 +24,10 @@
 //
 package javax.persistence;
 
-import java.lang.annotation.Target;
-import java.lang.annotation.Retention;
 import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
 
 /**
  * @version $Rev$ $Date$

Modified: geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/PrimaryKeyJoinColumns.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/PrimaryKeyJoinColumns.java?rev=721048&r1=721047&r2=721048&view=diff
==============================================================================
--- geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/PrimaryKeyJoinColumns.java (original)
+++ geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/PrimaryKeyJoinColumns.java Wed Nov 26 16:23:43 2008
@@ -24,10 +24,10 @@
 //
 package javax.persistence;
 
-import java.lang.annotation.Target;
-import java.lang.annotation.Retention;
 import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
 
 /**
  * @version $Rev$ $Date$

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=721048&r1=721047&r2=721048&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 Wed Nov 26 16:23:43 2008
@@ -24,252 +24,291 @@
 //
 package javax.persistence;
 
-import java.util.Date;
 import java.util.Calendar;
+import java.util.Date;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
- /**
+/**
  * Interface used to control query execution.
+ *
  * @version $Rev$ $Date$
  */
 public interface Query {
 
     /**
-    * Execute a SELECT query and return the query results
-    * as a List.
-    * @return a list of the results
-    * @throws IllegalStateException if called for a Java
-    *Persistence query language UPDATE or DELETE statement
-    * @throws QueryTimeoutException if the query execution exceeds
-    the query timeout value set
-    * @throws TransactionRequiredException if a lock mode has
-    * been set and there is no transaction
-    * @throws PessimisticLockException if pessimistic locking
-    * fails and the transaction is rolled back
-    * @throws LockTimeoutException if pessimistic locking
-    * fails and only the statement is rolled back
-    */
+     * Execute a SELECT query and return the query results
+     * as a List.
+     *
+     * @return a list of the results
+     * @throws IllegalStateException        if called for a Java
+     *                                      Persistence query language UPDATE or DELETE statement
+     * @throws QueryTimeoutException        if the query execution exceeds
+     *                                      the query timeout value set
+     * @throws TransactionRequiredException if a lock mode has
+     *                                      been set and there is no transaction
+     * @throws PessimisticLockException     if pessimistic locking
+     *                                      fails and the transaction is rolled back
+     * @throws LockTimeoutException         if pessimistic locking
+     *                                      fails and only the statement is rolled back
+     */
     public List getResultList();
 
     /**
-    * Execute a SELECT query that returns a single result.
-    * @return the result
-    * @throws NoResultException if there is no result
-    * @throws NonUniqueResultException if more than one result
-    * @throws IllegalStateException if called for a Java
-    * Persistence query language UPDATE or DELETE statement
-    * @throws QueryTimeoutException if the query execution exceeds
-    the query timeout value set
-    * @throws TransactionRequiredException if a lock mode has
-    * been set and there is no transaction
-    * @throws PessimisticLockException if pessimistic locking
-    * fails and the transaction is rolled back
-    * @throws LockTimeoutException if pessimistic locking
-    * fails and only the statement is rolled back
-    */
+     * Execute a SELECT query that returns a single result.
+     *
+     * @return the result
+     * @throws NoResultException            if there is no result
+     * @throws NonUniqueResultException     if more than one result
+     * @throws IllegalStateException        if called for a Java
+     *                                      Persistence query language UPDATE or DELETE statement
+     * @throws QueryTimeoutException        if the query execution exceeds
+     *                                      the query timeout value set
+     * @throws TransactionRequiredException if a lock mode has
+     *                                      been set and there is no transaction
+     * @throws PessimisticLockException     if pessimistic locking
+     *                                      fails and the transaction is rolled back
+     * @throws LockTimeoutException         if pessimistic locking
+     *                                      fails and only the statement is rolled back
+     */
     public Object getSingleResult();
 
     /**
-    * Execute an update or delete statement.
-    * @return the number of entities updated or deleted
-    * @throws IllegalStateException if called for a Java
-    * Persistence query language SELECT statement or for
-    *a criteria query
-    * @throws TransactionRequiredException if there is
-    * no transaction
-    * @throws QueryTimeoutException if the statement execution
-    exceeds the query timeout value set
-    */
+     * Execute an update or delete statement.
+     *
+     * @return the number of entities updated or deleted
+     * @throws IllegalStateException        if called for a Java
+     *                                      Persistence query language SELECT statement or for
+     *                                      a criteria query
+     * @throws TransactionRequiredException if there is
+     *                                      no transaction
+     * @throws QueryTimeoutException        if the statement execution
+     *                                      exceeds the query timeout value set
+     */
     public int executeUpdate();
 
     /**
-    * Set the maximum number of results to retrieve.
-    * @param maxResult
-    * @return the same query instance
-    * @throws IllegalArgumentException if argument is negative
-    */
+     * Set the maximum number of results to retrieve.
+     *
+     * @param maxResult
+     * @return the same query instance
+     * @throws IllegalArgumentException if argument is negative
+     */
     public Query setMaxResults(int maxResult);
 
     /**
-    * The maximum number of results the query object was set to
-    * retrieve. Returns Integer.MAX_VALUE if setMaxResults was not
-    * applied to the query object.
-    * @return maximum number of results
-    */
+     * The maximum number of results the query object was set to
+     * retrieve. Returns Integer.MAX_VALUE if setMaxResults was not
+     * applied to the query object.
+     *
+     * @return maximum number of results
+     */
     public int getMaxResults();
+
     /**
-    * Set the position of the first result to retrieve.
-    * @param start position of the first result, numbered from 0
-    * @return the same query instance
-    * @throws IllegalArgumentException if argument is negative
-    */
+     * Set the position of the first result to retrieve.
+     *
+     * @param start position of the first result, numbered from 0
+     * @return the same query instance
+     * @throws IllegalArgumentException if argument is negative
+     */
     public Query setFirstResult(int startPosition);
+
     /**
-    * The position of the first result the query object was set to
-    * retrieve. Returns 0 if setFirstResult was not applied to the
-    * query object.
-    * @return position of first result
-    */
+     * The position of the first result the query object was set to
+     * retrieve. Returns 0 if setFirstResult was not applied to the
+     * query object.
+     *
+     * @return position of first result
+     */
     public int getFirstResult();
+
     /**
-    * Set a query hint.
-    * If a vendor-specific hint is not recognized, it is silently
-    * ignored.
-    * Portable applications should not rely on the standard timeout
-    * hint. Depending on the database in use and the locking
-    * mechanisms used by the provider, the hint may or may not
-    * be observed.
-    * @param hintName
-    * @param value
-    * @return the same query instance
-    *
-    * * @throws IllegalArgumentException if the second argument is not
-    * valid for the implementation
-    */
+     * Set a query hint.
+     * If a vendor-specific hint is not recognized, it is silently
+     * ignored.
+     * Portable applications should not rely on the standard timeout
+     * hint. Depending on the database in use and the locking
+     * mechanisms used by the provider, the hint may or may not
+     * be observed.
+     *
+     * @param hintName
+     * @param value
+     * @return the same query instance
+     *         <p/>
+     *         * @throws IllegalArgumentException if the second argument is not
+     *         valid for the implementation
+     */
     public Query setHint(String hintName, Object value);
 
     /**
-    * Get the hints and associated values that are in effect for
-    * the query instance.
-    * @return query hints
-    */
+     * Get the hints and associated values that are in effect for
+     * the query instance.
+     *
+     * @return query hints
+     */
     public Map<String, Object> getHints();
+
     /**
-    * Get the names of the hints that are supported for query
-    * objects. These hints correspond to hints that may be passed
-    * to the methods of the Query interface that take hints as
-    * arguments or used with the NamedQuery and NamedNativeQuery
-    * annotations. These include all standard query hints as well as
-    * vendor-specific hints supported by the provider. These hints
-    * may or may not currently be in effect.
-    * @return hints
-    */
+     * Get the names of the hints that are supported for query
+     * objects. These hints correspond to hints that may be passed
+     * to the methods of the Query interface that take hints as
+     * arguments or used with the NamedQuery and NamedNativeQuery
+     * annotations. These include all standard query hints as well as
+     * vendor-specific hints supported by the provider. These hints
+     * may or may not currently be in effect.
+     *
+     * @return hints
+     */
     public Set<String> getSupportedHints();
+
     /**
-    * Bind an argument to a named parameter.
-    * @param name the parameter name
-    * @param value
-    * @return the same query instance
-    * @throws IllegalArgumentException if parameter name does not
-    * correspond to parameter in query string
-    * or argument is of incorrect type
-    */
+     * Bind an argument to a named parameter.
+     *
+     * @param name  the parameter name
+     * @param value
+     * @return the same query instance
+     * @throws IllegalArgumentException if parameter name does not
+     *                                  correspond to parameter in query string
+     *                                  or argument is of incorrect type
+     */
     public Query setParameter(String name, Object value);
 
     /**
-    * Bind an instance of java.util.Date to a named parameter.
-    * @param name
-    * @param value
-    * @param temporalType
-    * @return the same query instance
-    * @throws IllegalArgumentException if parameter name does not
-    *correspond to parameter in query string
-    */
+     * Bind an instance of java.util.Date to a named parameter.
+     *
+     * @param name
+     * @param value
+     * @param temporalType
+     * @return the same query instance
+     * @throws IllegalArgumentException if parameter name does not
+     *                                  correspond to parameter in query string
+     */
     public Query setParameter(String name, Date value,
-        TemporalType temporalType);
+                              TemporalType temporalType);
+
     /**
-    * Bind an instance of java.util.Calendar to a named parameter.
-    * @param name
-    * @param value
-    * @param temporalType
-    * @return the same query instance
-    * @throws IllegalArgumentException if parameter name does not
-    *correspond to parameter in query string
-    */
+     * Bind an instance of java.util.Calendar to a named parameter.
+     *
+     * @param name
+     * @param value
+     * @param temporalType
+     * @return the same query instance
+     * @throws IllegalArgumentException if parameter name does not
+     *                                  correspond to parameter in query string
+     */
     public Query setParameter(String name, Calendar value,
-        TemporalType temporalType);
+                              TemporalType temporalType);
+
     /**
-    * Bind an argument to a positional parameter.
-    * @param position
-    * @param value
-    * @return the same query instance
-    * @throws IllegalArgumentException if position does not
-    *correspond to positional parameter of query
-    *or argument is of incorrect type
-    */
+     * Bind an argument to a positional parameter.
+     *
+     * @param position
+     * @param value
+     * @return the same query instance
+     * @throws IllegalArgumentException if position does not
+     *                                  correspond to positional parameter of query
+     *                                  or argument is of incorrect type
+     */
     public Query setParameter(int position, Object value);
 
     /**
-    * Bind an instance of java.util.Date to a positional parameter.
-    * @param position
-    * @param value
-    * @param temporalType
-    * @return the same query instance
-    * @throws IllegalArgumentException if position does not
-    *correspond to positional parameter of query
-    */
+     * Bind an instance of java.util.Date to a positional parameter.
+     *
+     * @param position
+     * @param value
+     * @param temporalType
+     * @return the same query instance
+     * @throws IllegalArgumentException if position does not
+     *                                  correspond to positional parameter of query
+     */
     public Query setParameter(int position, Date value,
-        TemporalType temporalType);
+                              TemporalType temporalType);
+
     /**
-    * Bind an instance of java.util.Calendar to a positional
-    * parameter.
-    * @param position
-    * @param value
-    * @param temporalType
-    * @return the same query instance
-    * @throws IllegalArgumentException if position does not
-    * correspond to positional parameter of query
-    */
+     * Bind an instance of java.util.Calendar to a positional
+     * parameter.
+     *
+     * @param position
+     * @param value
+     * @param temporalType
+     * @return the same query instance
+     * @throws IllegalArgumentException if position does not
+     *                                  correspond to positional parameter of query
+     */
     public Query setParameter(int position, Calendar value,
-        TemporalType temporalType);
+                              TemporalType temporalType);
+
     /**
-    * Get the parameters names and associated values of the
-    * parameters that are bound for the query instance.
-    * Returns empty map if no parameters have been bound
-    * or if the query does not use named parameters.
-    * @return named parameters
-    */
+     * Get the parameters names and associated values of the
+     * parameters that are bound for the query instance.
+     * Returns empty map if no parameters have been bound
+     * or if the query does not use named parameters.
+     *
+     * @return named parameters
+     */
     public Map<String, Object> getNamedParameters();
+
     /**
-    * Get the values of the positional parameters
-    * that are bound for the query instance.
-    * Positional positions are listed in order of position.
-    * Returns empty list if no parameters have been bound
-    * or if the query does not use positional parameters.
-    * @return positional parameters
-    */
+     * Get the values of the positional parameters
+     * that are bound for the query instance.
+     * Positional positions are listed in order of position.
+     * Returns empty list if no parameters have been bound
+     * or if the query does not use positional parameters.
+     *
+     * @return positional parameters
+     */
     public List getPositionalParameters();
+
     /**
-    * Set the flush mode type to be used for the query execution.
-    * The flush mode type applies to the query regardless of the
-    * flush mode type in use for the entity manager.
-    * @param flushMode
-    */
+     * Set the flush mode type to be used for the query execution.
+     * The flush mode type applies to the query regardless of the
+     * flush mode type in use for the entity manager.
+     *
+     * @param flushMode
+     */
     public Query setFlushMode(FlushModeType flushMode);
+
     /**
-    * The flush mode in effect for the query execution. If a flush
-    * mode has not been set for the query object, returns the flush
-    * mode in effect for the entity manager.
-    * @return flush mode
-    */
+     * The flush mode in effect for the query execution. If a flush
+     * mode has not been set for the query object, returns the flush
+     * mode in effect for the entity manager.
+     *
+     * @return flush mode
+     */
     public FlushModeType getFlushMode();
+
     /**
-    * Set the lock mode type to be used for the query execution.
-    * @param lockMode
-    * @throws IllegalStateException if not a Java Persistence
-    * query language SELECT query or Criteria API query
-    */
+     * Set the lock mode type to be used for the query execution.
+     *
+     * @param lockMode
+     * @throws IllegalStateException if not a Java Persistence
+     *                               query language SELECT query or Criteria API query
+     */
     public Query setLockMode(LockModeType lockMode);
+
     /**
-    * Get the current lock mode for the query.
-    * @return lock mode
-    * @throws IllegalStateException if not a Java Persistence
-    * query language SELECT query or Criteria API query
-    */
+     * Get the current lock mode for the query.
+     *
+     * @return lock mode
+     * @throws IllegalStateException if not a Java Persistence
+     *                               query language SELECT query or Criteria API query
+     */
     public LockModeType getLockMode();
+
     /**
-    * Return an object of the specified type to allow access to the
-    * provider-specific API. If the provider's Query implementation
-    * does not support the specified class, the PersistenceException
-    * is thrown.
-    * @param cls the class of the object to be returned. This is
-    * normally either the underlying Query implementation class
-    * or an interface that it implements.
-    * @return an instance of the specified class
-    * @throws PersistenceException if the provider does not support
-    * the call.
-    */
+     * Return an object of the specified type to allow access to the
+     * provider-specific API. If the provider's Query implementation
+     * does not support the specified class, the PersistenceException
+     * is thrown.
+     *
+     * @param cls the class of the object to be returned. This is
+     *            normally either the underlying Query implementation class
+     *            or an interface that it implements.
+     * @return an instance of the specified class
+     * @throws PersistenceException if the provider does not support
+     *                              the call.
+     */
     public <T> T unwrap(Class<T> cls);
 }

Modified: geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/QueryBuilder.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/QueryBuilder.java?rev=721048&r1=721047&r2=721048&view=diff
==============================================================================
--- geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/QueryBuilder.java (original)
+++ geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/QueryBuilder.java Wed Nov 26 16:23:43 2008
@@ -28,35 +28,35 @@
  * Factory interface for query definition objects
  */
 public interface QueryBuilder {
-	/**
-	 * Create an uninitialized query definition object.
-	 *
-	 * @return query definition instance
-	 */
-	QueryDefinition createQueryDefinition();
+    /**
+     * Create an uninitialized query definition object.
+     *
+     * @return query definition instance
+     */
+    QueryDefinition createQueryDefinition();
 
-	/**
-	 * Create a query definition object with the given root. The root must be an
-	 * entity class.
-	 *
-	 * @param cls -
-	 *            an entity class
-	 * @return root domain object
-	 */
-	DomainObject createQueryDefinition(Class root);
+    /**
+     * Create a query definition object with the given root. The root must be an
+     * entity class.
+     *
+     * @param cls -
+     *            an entity class
+     * @return root domain object
+     */
+    DomainObject createQueryDefinition(Class root);
 
-	/**
-	 * Create a query definition object whose root is derived from a domain
-	 * object of the containing query. Provides support for correlated
-	 * subqueries. Joins against the resulting domain object do not affect the
-	 * query domain of the containing query. The path expression must correspond
-	 * to an entity class. The path expression must not be a domain object of
-	 * the containing query.
-	 *
-	 * @param path -
-	 *            path expression corresponding to the domain object used to
-	 *            derive the subquery root.
-	 * @return the subquery DomainObject
-	 */
+    /**
+     * Create a query definition object whose root is derived from a domain
+     * object of the containing query. Provides support for correlated
+     * subqueries. Joins against the resulting domain object do not affect the
+     * query domain of the containing query. The path expression must correspond
+     * to an entity class. The path expression must not be a domain object of
+     * the containing query.
+     *
+     * @param path -
+     *             path expression corresponding to the domain object used to
+     *             derive the subquery root.
+     * @return the subquery DomainObject
+         */
 	DomainObject createSubqueryDefinition(PathExpression path);
 }

Modified: geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/QueryDefinition.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/QueryDefinition.java?rev=721048&r1=721047&r2=721048&view=diff
==============================================================================
--- geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/QueryDefinition.java (original)
+++ geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/QueryDefinition.java Wed Nov 26 16:23:43 2008
@@ -24,509 +24,506 @@
 //
 package javax.persistence;
 
-import java.util.List;
-import java.util.Date;
 import java.util.Calendar;
+import java.util.Date;
+import java.util.List;
 
 /**
  * Interface for construction of query definitions
  */
 public interface QueryDefinition extends Subquery {
-	/**
-	 * Add a query root corresponding to the given entity, forming a cartesian
-	 * product with any existing roots. The domain object that is returned is
-	 * bound as a component of the given query. The argument must be an entity
-	 * class.
-	 *
-	 * @param cls -
-	 *            an entity class
-	 * @return DomainObject corresponding to the specified entity class.
-	 */
-	DomainObject addRoot(Class cls);
-
-	/**
-	 * Add a root derived from a domain object of the containing query
-	 * definition to a query definition used as a subquery. Provides support for
-	 * correlated subqueries. Joins against the resulting domain object do not
-	 * affect the query domain of the containing query. The path expression must
-	 * correspond to an entity class. The path expression must not be a domain
-	 * object of the containing query.
-	 *
-	 * @param path -
-	 *            path expression corresponding to the domain object used to
-	 *            derive the subquery root.
-	 * @return the subquery DomainObject
-	 */
-	DomainObject addSubqueryRoot(PathExpression path);
-
-	/**
-	 * Specify the objects / values to be returned. Replaces the previous select
-	 * list, if any. If no select items are specified and there is only one
-	 * query root, the root entity is assumed to be the result.
-	 *
-	 * @param selectItems -
-	 *            one or more SelectItem instances
-	 * @return the modified query definition instance
-	 */
-	QueryDefinition select(SelectItem... selectItems);
-
-	/**
-	 * Specify the objects / values to be returned. Replaces the previous select
-	 * list, if any. If no select items are specified and there is only one
-	 * query root, the root entity is assumed to be the result.
-	 *
-	 * @param selectItemList -
-	 *            a list containing one or more SelectItem instances
-	 * @return the modified query definition instance
-	 */
-	QueryDefinition select(List<SelectItem> selectItemList);
-
-	/**
-	 * Specify the objects / values to be returned. Duplicate results will be
-	 * eliminated. Replaces the previous select list, if any. If no select items
-	 * are specified and there is only one query root, the root entity is
-	 * assumed to be the result.
-	 *
-	 * @param selectItems -
-	 *            one or more SelectItem instances
-	 * @return the modified query definition instance
-	 */
-	QueryDefinition selectDistinct(SelectItem... selectItems);
-
-	/**
-	 * Specify the objects / values to be returned. Duplicate results will be
-	 * eliminated. Replaces the previous select list, if any. If no select items
-	 * are specified, and there is only one query root, the root entity is
-	 * assumed to be the result. is assumed to be the result.
-	 *
-	 * @param selectItemList -
-	 *            a list containing one or more SelectItem instances
-	 * @return the modified query definition instance
-	 */
-	QueryDefinition selectDistinct(List<SelectItem> selectItemList);
-
-	/**
-	 * Modifies the query definition to restrict the result of the query
-	 * according to the specified predicate. Replaces the previously added
-	 * restriction(s), if any.
-	 *
-	 * @param predicate -
-	 *            a simple or compound conditional predicate
-	 * @return the modified QueryDefinition instance
-	 */
-	QueryDefinition where(Predicate predicate);
-
-	/**
-	 * Specify the items of the select list that are used in ordering the query
-	 * results. Replaces the previous order-by list, if any.
-	 *
-	 * @param orderByItems -
-	 *            one or more OrderByItem instances
-	 * @return the modified QueryDefinition instance
-	 */
-	QueryDefinition orderBy(OrderByItem... orderByItems);
-
-	/**
-	 * Specify the items of the select list that are used in ordering the query
-	 * results. Replaces the previous order-by list, if any.
-	 *
-	 * @param orderByItemList -
-	 *            a list containing one or more OrderByItem instances
-	 * @return the modified QueryDefinition instance
-	 */
-	QueryDefinition orderBy(List<OrderByItem> orderByItemList);
-
-	/**
-	 * Specify the items that are used to form groups over the query results.
-	 * Replaces the previous group-by list, if any.
-	 *
-	 * @param pathExprs
-	 * @return the modified QueryDefinition instance
-	 */
-	QueryDefinition groupBy(PathExpression... pathExprs);
-
-	/**
-	 * Specify the items that are used to form groups over the query results.
-	 * Replaces the previous group-by list, if any.
-	 *
-	 * @param pathExprList
-	 * @return the modified QueryDefinition instance
-	 */
-	QueryDefinition groupBy(List<PathExpression> pathExprList);
-
-	/**
-	 * Specify the restrictions over the groups of a query. Replaces the
-	 * previous having restriction(s), if any.
-	 *
-	 * @param predicate
-	 * @return the modified QueryDefinition Instance
-	 */
-	QueryDefinition having(Predicate predicate);
-
-	/**
-	 * Specify that a constructor for the given class is to be applied to the
-	 * corresponding query results after the query is executed. The class must
-	 * have a constructor that accepts the Java argument types corresponding to
-	 * the given select items.
-	 *
-	 * @param cls -
-	 *            a class with the correponding constructor
-	 * @param args -
-	 *            select items that correspond to result types that are valid as
-	 *            arguments to the constructor
-	 * @result SelectItem instance representing the constructor
-	 */
-	SelectItem newInstance(Class cls, SelectItem... args);
-
-	/**
-	 * Use the query definition instance as a subquery in an exists predicate.
-	 *
-	 * @return the resulting predicate
-	 */
-	Predicate exists();
-
-	/**
-	 * Use the query definition object in a subquery in an all expression.
-	 *
-	 * @return the resulting Subquery
-	 */
-	Subquery all();
-
-	/**
-	 * Use the query definition object in a subquery in an any expression.
-	 *
-	 * @return the resulting Subquery
-	 */
-	Subquery any();
-
-	/**
-	 * Use the query definition object in a subquery in a some expression.
-	 *
-	 * @return the resulting Subquery
-	 */
-	Subquery some();
-
-	/**
-	 * Create an empty general case expression. A general case expression is of
-	 * the form:
-	 *
-	 * generalCase() .when(conditional-predicate).then(scalar-expression)
-	 * .when(conditional-predicate).then(scalar-expression) ...
-	 * .elseCase(scalar-expression)
-	 *
-	 * @return empty general case expression
-	 */
-	CaseExpression generalCase();
-
-	/**
-	 * Create a simple case expression with the given case operand. A simple
-	 * case expression is of the form:
-	 *
-	 * simpleCase(case-operand) .when(scalar-expression).then(scalar-expression)
-	 * .when(scalar-expression).then(scalar-expression) ...
-	 * .elseCase(scalar-expression)
-	 *
-	 * @param caseOperand -
-	 *            expression used for testing against the when scalar
-	 *            expressions
-	 * @return case expression with the given case operand
-	 */
-	CaseExpression simpleCase(Expression caseOperand);
-
-	/**
-	 * Create a simple case expression with the given case operand. A simple
-	 * case expression is of the form:
-	 *
-	 * simpleCase(case-operand) .when(scalar-expression).then(scalar-expression)
-	 * .when(scalar-expression).then(scalar-expression) ...
-	 * .elseCase(scalar-expression)
-	 *
-	 * @param caseOperand -
-	 *            numeric value used for testing against the when scalar
-	 *            expressions
-	 * @return case expression with the given case operand
-	 */
-	CaseExpression simpleCase(Number caseOperand);
-
-	/**
-	 * Create a simple case expression with the given case operand. A simple
-	 * case expression is of the form:
-	 *
-	 * simpleCase(case-operand) .when(scalar-expression).then(scalar-expression)
-	 * .when(scalar-expression).then(scalar-expression) ...
-	 * .elseCase(scalar-expression)
-	 *
-	 * @param caseOperand -
-	 *            value used for testing against the when scalar expressions
-	 * @return case expression with the given case operand
-	 */
-	CaseExpression simpleCase(String caseOperand);
-
-	/**
-	 * Create a simple case expression with the given case operand. A simple
-	 * case expression is of the form:
-	 *
-	 * simpleCase(case-operand) .when(scalar-expression).then(scalar-expression)
-	 * .when(scalar-expression).then(scalar-expression) ...
-	 * .elseCase(scalar-expression)
-	 *
-	 * @param caseOperand -
-	 *            value used for testing against the when scalar expressions
-	 * @return case expression with the given case operand
-	 */
-	CaseExpression simpleCase(Date caseOperand);
-
-	/**
-	 * Create a simple case expression with the given case operand. A simple
-	 * case expression is of the form:
-	 *
-	 * simpleCase(case-operand) .when(scalar-expression).then(scalar-expression)
-	 * .when(scalar-expression).then(scalar-expression) ...
-	 * .elseCase(scalar-expression)
-	 *
-	 * @param caseOperand -
-	 *            value used for testing against the when scalar expressions
-	 * @return case expression with the given case operand
-	 */
-	CaseExpression simpleCase(Calendar caseOperand);
-
-	/**
-	 * Create a simple case expression with the given case operand. A simple
-	 * case expression is of the form:
-	 *
-	 * simpleCase(case-operand) .when(scalar-expression).then(scalar-expression)
-	 * .when(scalar-expression).then(scalar-expression) ...
-	 * .elseCase(scalar-expression)
-	 *
-	 * @param caseOperand -
-	 *            value used for testing against the when scalar expressions
-	 * @return case expression with the given case operand
-	 */
-	CaseExpression simpleCase(Class caseOperand);
-
-	/**
-	 * Create a simple case expression with the given case operand. A simple
-	 * case expression is of the form:
-	 *
-	 * simpleCase(case-operand) .when(scalar-expression).then(scalar-expression)
-	 * .when(scalar-expression).then(scalar-expression) ...
-	 * .elseCase(scalar-expression)
-	 *
-	 * @param caseOperand -
-	 *            value used for testing against the when scalar expressions
-	 * @return case expression with the given case operand
-	 */
-	CaseExpression simpleCase(Enum<?> caseOperand);
-
-	/**
-	 * coalesce This is equivalent to a case expression that returns null if all
-	 * its arguments evaluate to null, and the value of its first non-null
-	 * argument otherwise.
-	 *
-	 * @param exp -
-	 *            expressions to be used for testing against null
-	 * @return Expression corresponding to the given coalesce expression
-	 */
-	Expression coalesce(Expression... exp);
-
-	/**
-	 * coalesce This is equivalent to a case expression that returns null if all
-	 * its arguments evaluate to null, and the value of its first non-null
-	 * argument otherwise.
-	 *
-	 * @param exp -
-	 *            expressions to be used for testing against null
-	 * @return Expression corresponding to the given coalesce expression
-	 */
-	Expression coalesce(String... exp);
-
-	/**
-	 * coalesce This is equivalent to a case expression that returns null if all
-	 * its arguments evaluate to null, and the value of its first non-null
-	 * argument otherwise.
-	 *
-	 * @param exp -
-	 *            expressions to be used for testing against null
-	 * @return Expression corresponding to the given coalesce expression
-	 */
-	Expression coalesce(Date... exp);
-
-	/**
-	 * coalesce This is equivalent to a case expression that returns null if all
-	 * its arguments evaluate to null, and the value of its first non-null
-	 * argument otherwise.
-	 *
-	 * @param exp -
-	 *            expressions to be used for testing against null
-	 * @return Expression corresponding to the given coalesce expression
-	 */
-	Expression coalesce(Calendar... exp);
-
-	/**
-	 * nullif This is equivalent to a case expression that tests whether its
-	 * arguments are equal, returning null if they are and the value of the
-	 * first expression if they are not.
-	 *
-	 * @param exp1
-	 * @param exp2
-	 * @return Expression corresponding to the given nullif expression
-	 */
-	Expression nullif(Expression exp1, Expression exp2);
-
-	/**
-	 * nullif This is equivalent to a case expression that tests whether its
-	 * arguments are equal, returning null if they are and the value of the
-	 * first expression if they are not.
-	 *
-	 * @param arg1
-	 * @param arg2
-	 * @return Expression corresponding to the given nullif expression
-	 */
-	Expression nullif(Number arg1, Number arg2);
-
-	/**
-	 * nullif This is equivalent to a case expression that tests whether its
-	 * arguments are equal, returning null if they are and the value of the
-	 * first expression if they are not.
-	 *
-	 * @param arg1
-	 * @param arg2
-	 *            Criteria API Java Persistence 2.0, Public Review Draft
-	 *            Criteria API Interfaces 10/31/08 158 JSR-317 Public Review
-	 *            Draft Sun Microsystems, Inc.
-	 * @return Expression corresponding to the given nullif expression
-	 */
-	Expression nullif(String arg1, String arg2);
-
-	/**
-	 * nullif This is equivalent to a case expression that tests whether its
-	 * arguments are equal, returning null if they are and the value of the
-	 * first expression if they are not.
-	 *
-	 * @param arg1
-	 * @param arg2
-	 * @return Expression corresponding to the given nullif expression
-	 */
-	Expression nullif(Date arg1, Date arg2);
-
-	/**
-	 * nullif This is equivalent to a case expression that tests whether its
-	 * arguments are equal, returning null if they are and the value of the
-	 * first expression if they are not.
-	 *
-	 * @param arg1
-	 * @param arg2
-	 * @return Expression corresponding to the given nullif expression
-	 */
-	Expression nullif(Calendar arg1, Calendar arg2);
-
-	/**
-	 * nullif This is equivalent to a case expression that tests whether its
-	 * arguments are equal, returning null if they are and the value of the
-	 * first expression if they are not.
-	 *
-	 * @param arg1
-	 * @param arg2
-	 * @return Expression corresponding to the given nullif expression
-	 */
-	Expression nullif(Class arg1, Class arg2);
-
-	/**
-	 * nullif This is equivalent to a case expression that tests whether its
-	 * arguments are equal, returning null if they are and the value of the
-	 * first expression if they are not.
-	 *
-	 * @param arg1
-	 * @param arg2
-	 * @return Expression corresponding to the given nullif expression
-	 */
-	Expression nullif(Enum<?> arg1, Enum<?> arg2);
-
-	/**
-	 * Create a predicate value from the given boolean.
-	 *
-	 * @param b
-	 *            boolean value
-	 * @return a true or false predicate
-	 */
-	Predicate predicate(boolean b);
-
-	/**
-	 * Create an Expression corresponding to the current time on the database
-	 * server at the time of query execution.
-	 *
-	 * @return the corresponding Expression
-	 */
-	Expression currentTime();
-
-	/**
-	 * Create an Expression corresponding to the current date on the database
-	 * server at the time of query execution.
-	 *
-	 * @return the corresponding Expression
-	 */
-	Expression currentDate();
-
-	/**
-	 * Create an Expression corresponding to the current timestamp on the
-	 * database server at the time of query execution.
-	 *
-	 * @return the corresponding Expression
-	 */
-	Expression currentTimestamp();
-
-	/**
-	 * Create an Expression corresponding to a String value.
-	 *
-	 * @param s -
-	 *            string value
-	 * @return the corresponding Expression literal
-	 */
-	Expression literal(String s);
-
-	/**
-	 * Create an Expression corresponding to a numeric value.
-	 *
-	 * @param n -
-	 *            numeric value
-	 * @return the corresponding Expression literal
-	 */
-	Expression literal(Number n);
-
-	/**
-	 * Create an Expression corresponding to a boolean value.
-	 *
-	 * @param b -
-	 *            boolean value
-	 * @return the corresponding Expression literal
-	 */
+    /**
+     * Add a query root corresponding to the given entity, forming a cartesian
+     * product with any existing roots. The domain object that is returned is
+     * bound as a component of the given query. The argument must be an entity
+     * class.
+     *
+     * @param cls -
+     *            an entity class
+     * @return DomainObject corresponding to the specified entity class.
+     */
+    DomainObject addRoot(Class cls);
+
+    /**
+     * Add a root derived from a domain object of the containing query
+     * definition to a query definition used as a subquery. Provides support for
+     * correlated subqueries. Joins against the resulting domain object do not
+     * affect the query domain of the containing query. The path expression must
+     * correspond to an entity class. The path expression must not be a domain
+     * object of the containing query.
+     *
+     * @param path -
+     *             path expression corresponding to the domain object used to
+     *             derive the subquery root.
+     * @return the subquery DomainObject
+     */
+    DomainObject addSubqueryRoot(PathExpression path);
+
+    /**
+     * Specify the objects / values to be returned. Replaces the previous select
+     * list, if any. If no select items are specified and there is only one
+     * query root, the root entity is assumed to be the result.
+     *
+     * @param selectItems -
+     *                    one or more SelectItem instances
+     * @return the modified query definition instance
+     */
+    QueryDefinition select(SelectItem... selectItems);
+
+    /**
+     * Specify the objects / values to be returned. Replaces the previous select
+     * list, if any. If no select items are specified and there is only one
+     * query root, the root entity is assumed to be the result.
+     *
+     * @param selectItemList -
+     *                       a list containing one or more SelectItem instances
+     * @return the modified query definition instance
+     */
+    QueryDefinition select(List<SelectItem> selectItemList);
+
+    /**
+     * Specify the objects / values to be returned. Duplicate results will be
+     * eliminated. Replaces the previous select list, if any. If no select items
+     * are specified and there is only one query root, the root entity is
+     * assumed to be the result.
+     *
+     * @param selectItems -
+     *                    one or more SelectItem instances
+     * @return the modified query definition instance
+     */
+    QueryDefinition selectDistinct(SelectItem... selectItems);
+
+    /**
+     * Specify the objects / values to be returned. Duplicate results will be
+     * eliminated. Replaces the previous select list, if any. If no select items
+     * are specified, and there is only one query root, the root entity is
+     * assumed to be the result. is assumed to be the result.
+     *
+     * @param selectItemList -
+     *                       a list containing one or more SelectItem instances
+     * @return the modified query definition instance
+     */
+    QueryDefinition selectDistinct(List<SelectItem> selectItemList);
+
+    /**
+     * Modifies the query definition to restrict the result of the query
+     * according to the specified predicate. Replaces the previously added
+     * restriction(s), if any.
+     *
+     * @param predicate -
+     *                  a simple or compound conditional predicate
+     * @return the modified QueryDefinition instance
+     */
+    QueryDefinition where(Predicate predicate);
+
+    /**
+     * Specify the items of the select list that are used in ordering the query
+     * results. Replaces the previous order-by list, if any.
+     *
+     * @param orderByItems -
+     *                     one or more OrderByItem instances
+     * @return the modified QueryDefinition instance
+     */
+    QueryDefinition orderBy(OrderByItem... orderByItems);
+
+    /**
+     * Specify the items of the select list that are used in ordering the query
+     * results. Replaces the previous order-by list, if any.
+     *
+     * @param orderByItemList -
+     *                        a list containing one or more OrderByItem instances
+     * @return the modified QueryDefinition instance
+     */
+    QueryDefinition orderBy(List<OrderByItem> orderByItemList);
+
+    /**
+     * Specify the items that are used to form groups over the query results.
+     * Replaces the previous group-by list, if any.
+     *
+     * @param pathExprs
+     * @return the modified QueryDefinition instance
+     */
+    QueryDefinition groupBy(PathExpression... pathExprs);
+
+    /**
+     * Specify the items that are used to form groups over the query results.
+     * Replaces the previous group-by list, if any.
+     *
+     * @param pathExprList
+     * @return the modified QueryDefinition instance
+     */
+    QueryDefinition groupBy(List<PathExpression> pathExprList);
+
+    /**
+     * Specify the restrictions over the groups of a query. Replaces the
+     * previous having restriction(s), if any.
+     *
+     * @param predicate
+     * @return the modified QueryDefinition Instance
+     */
+    QueryDefinition having(Predicate predicate);
+
+    /**
+     * Specify that a constructor for the given class is to be applied to the
+     * corresponding query results after the query is executed. The class must
+     * have a constructor that accepts the Java argument types corresponding to
+     * the given select items.
+     *
+     * @param cls  -
+     *             a class with the correponding constructor
+     * @param args -
+     *             select items that correspond to result types that are valid as
+     *             arguments to the constructor
+     * @result SelectItem instance representing the constructor
+     */
+    SelectItem newInstance(Class cls, SelectItem... args);
+
+    /**
+     * Use the query definition instance as a subquery in an exists predicate.
+     *
+     * @return the resulting predicate
+     */
+    Predicate exists();
+
+    /**
+     * Use the query definition object in a subquery in an all expression.
+     *
+     * @return the resulting Subquery
+     */
+    Subquery all();
+
+    /**
+     * Use the query definition object in a subquery in an any expression.
+     *
+     * @return the resulting Subquery
+     */
+    Subquery any();
+
+    /**
+     * Use the query definition object in a subquery in a some expression.
+     *
+     * @return the resulting Subquery
+     */
+    Subquery some();
+
+    /**
+     * Create an empty general case expression. A general case expression is of
+     * the form:
+     * <p/>
+     * generalCase() .when(conditional-predicate).then(scalar-expression)
+     * .when(conditional-predicate).then(scalar-expression) ...
+     * .elseCase(scalar-expression)
+     *
+     * @return empty general case expression
+     */
+    CaseExpression generalCase();
+
+    /**
+     * Create a simple case expression with the given case operand. A simple
+     * case expression is of the form:
+     * <p/>
+     * simpleCase(case-operand) .when(scalar-expression).then(scalar-expression)
+     * .when(scalar-expression).then(scalar-expression) ...
+     * .elseCase(scalar-expression)
+     *
+     * @param caseOperand -
+     *                    expression used for testing against the when scalar
+     *                    expressions
+     * @return case expression with the given case operand
+     */
+    CaseExpression simpleCase(Expression caseOperand);
+
+    /**
+     * Create a simple case expression with the given case operand. A simple
+     * case expression is of the form:
+     * <p/>
+     * simpleCase(case-operand) .when(scalar-expression).then(scalar-expression)
+     * .when(scalar-expression).then(scalar-expression) ...
+     * .elseCase(scalar-expression)
+     *
+     * @param caseOperand -
+     *                    numeric value used for testing against the when scalar
+     *                    expressions
+     * @return case expression with the given case operand
+     */
+    CaseExpression simpleCase(Number caseOperand);
+
+    /**
+     * Create a simple case expression with the given case operand. A simple
+     * case expression is of the form:
+     * <p/>
+     * simpleCase(case-operand) .when(scalar-expression).then(scalar-expression)
+     * .when(scalar-expression).then(scalar-expression) ...
+     * .elseCase(scalar-expression)
+     *
+     * @param caseOperand -
+     *                    value used for testing against the when scalar expressions
+     * @return case expression with the given case operand
+     */
+    CaseExpression simpleCase(String caseOperand);
+
+    /**
+     * Create a simple case expression with the given case operand. A simple
+     * case expression is of the form:
+     * <p/>
+     * simpleCase(case-operand) .when(scalar-expression).then(scalar-expression)
+     * .when(scalar-expression).then(scalar-expression) ...
+     * .elseCase(scalar-expression)
+     *
+     * @param caseOperand -
+     *                    value used for testing against the when scalar expressions
+     * @return case expression with the given case operand
+     */
+    CaseExpression simpleCase(Date caseOperand);
+
+    /**
+     * Create a simple case expression with the given case operand. A simple
+     * case expression is of the form:
+     * <p/>
+     * simpleCase(case-operand) .when(scalar-expression).then(scalar-expression)
+     * .when(scalar-expression).then(scalar-expression) ...
+     * .elseCase(scalar-expression)
+     *
+     * @param caseOperand -
+     *                    value used for testing against the when scalar expressions
+     * @return case expression with the given case operand
+     */
+    CaseExpression simpleCase(Calendar caseOperand);
+
+    /**
+     * Create a simple case expression with the given case operand. A simple
+     * case expression is of the form:
+     * <p/>
+     * simpleCase(case-operand) .when(scalar-expression).then(scalar-expression)
+     * .when(scalar-expression).then(scalar-expression) ...
+     * .elseCase(scalar-expression)
+     *
+     * @param caseOperand -
+     *                    value used for testing against the when scalar expressions
+     * @return case expression with the given case operand
+     */
+    CaseExpression simpleCase(Class caseOperand);
+
+    /**
+     * Create a simple case expression with the given case operand. A simple
+     * case expression is of the form:
+     * <p/>
+     * simpleCase(case-operand) .when(scalar-expression).then(scalar-expression)
+     * .when(scalar-expression).then(scalar-expression) ...
+     * .elseCase(scalar-expression)
+     *
+     * @param caseOperand -
+     *                    value used for testing against the when scalar expressions
+     * @return case expression with the given case operand
+     */
+    CaseExpression simpleCase(Enum<?> caseOperand);
+
+    /**
+     * coalesce This is equivalent to a case expression that returns null if all
+     * its arguments evaluate to null, and the value of its first non-null
+     * argument otherwise.
+     *
+     * @param exp -
+     *            expressions to be used for testing against null
+     * @return Expression corresponding to the given coalesce expression
+     */
+    Expression coalesce(Expression... exp);
+
+    /**
+     * coalesce This is equivalent to a case expression that returns null if all
+     * its arguments evaluate to null, and the value of its first non-null
+     * argument otherwise.
+     *
+     * @param exp -
+     *            expressions to be used for testing against null
+     * @return Expression corresponding to the given coalesce expression
+     */
+    Expression coalesce(String... exp);
+
+    /**
+     * coalesce This is equivalent to a case expression that returns null if all
+     * its arguments evaluate to null, and the value of its first non-null
+     * argument otherwise.
+     *
+     * @param exp -
+     *            expressions to be used for testing against null
+     * @return Expression corresponding to the given coalesce expression
+     */
+    Expression coalesce(Date... exp);
+
+    /**
+     * coalesce This is equivalent to a case expression that returns null if all
+     * its arguments evaluate to null, and the value of its first non-null
+     * argument otherwise.
+     *
+     * @param exp -
+     *            expressions to be used for testing against null
+     * @return Expression corresponding to the given coalesce expression
+     */
+    Expression coalesce(Calendar... exp);
+
+    /**
+     * nullif This is equivalent to a case expression that tests whether its
+     * arguments are equal, returning null if they are and the value of the
+     * first expression if they are not.
+     *
+     * @param exp1
+     * @param exp2
+     * @return Expression corresponding to the given nullif expression
+     */
+    Expression nullif(Expression exp1, Expression exp2);
+
+    /**
+     * nullif This is equivalent to a case expression that tests whether its
+     * arguments are equal, returning null if they are and the value of the
+     * first expression if they are not.
+     *
+     * @param arg1
+     * @param arg2
+     * @return Expression corresponding to the given nullif expression
+     */
+    Expression nullif(Number arg1, Number arg2);
+
+    /**
+     * nullif This is equivalent to a case expression that tests whether its
+     * arguments are equal, returning null if they are and the value of the
+     * first expression if they are not.
+     *
+     * @param arg1
+     * @param arg2 Criteria API Java Persistence 2.0, Public Review Draft
+     *             Criteria API Interfaces 10/31/08 158 JSR-317 Public Review
+     *             Draft Sun Microsystems, Inc.
+     * @return Expression corresponding to the given nullif expression
+     */
+    Expression nullif(String arg1, String arg2);
+
+    /**
+     * nullif This is equivalent to a case expression that tests whether its
+     * arguments are equal, returning null if they are and the value of the
+     * first expression if they are not.
+     *
+     * @param arg1
+     * @param arg2
+     * @return Expression corresponding to the given nullif expression
+     */
+    Expression nullif(Date arg1, Date arg2);
+
+    /**
+     * nullif This is equivalent to a case expression that tests whether its
+     * arguments are equal, returning null if they are and the value of the
+     * first expression if they are not.
+     *
+     * @param arg1
+     * @param arg2
+     * @return Expression corresponding to the given nullif expression
+     */
+    Expression nullif(Calendar arg1, Calendar arg2);
+
+    /**
+     * nullif This is equivalent to a case expression that tests whether its
+     * arguments are equal, returning null if they are and the value of the
+     * first expression if they are not.
+     *
+     * @param arg1
+     * @param arg2
+     * @return Expression corresponding to the given nullif expression
+     */
+    Expression nullif(Class arg1, Class arg2);
+
+    /**
+     * nullif This is equivalent to a case expression that tests whether its
+     * arguments are equal, returning null if they are and the value of the
+     * first expression if they are not.
+     *
+     * @param arg1
+     * @param arg2
+     * @return Expression corresponding to the given nullif expression
+     */
+    Expression nullif(Enum<?> arg1, Enum<?> arg2);
+
+    /**
+     * Create a predicate value from the given boolean.
+     *
+     * @param b boolean value
+     * @return a true or false predicate
+     */
+    Predicate predicate(boolean b);
+
+    /**
+     * Create an Expression corresponding to the current time on the database
+     * server at the time of query execution.
+     *
+     * @return the corresponding Expression
+     */
+    Expression currentTime();
+
+    /**
+     * Create an Expression corresponding to the current date on the database
+     * server at the time of query execution.
+     *
+     * @return the corresponding Expression
+     */
+    Expression currentDate();
+
+    /**
+     * Create an Expression corresponding to the current timestamp on the
+     * database server at the time of query execution.
+     *
+     * @return the corresponding Expression
+     */
+    Expression currentTimestamp();
+
+    /**
+     * Create an Expression corresponding to a String value.
+     *
+     * @param s -
+     *          string value
+     * @return the corresponding Expression literal
+     */
+    Expression literal(String s);
+
+    /**
+     * Create an Expression corresponding to a numeric value.
+     *
+     * @param n -
+     *          numeric value
+     * @return the corresponding Expression literal
+     */
+    Expression literal(Number n);
+
+    /**
+     * Create an Expression corresponding to a boolean value.
+     *
+     * @param b -
+     *          boolean value
+         * @return the corresponding Expression literal
+         */
 	Expression literal(boolean b);
 
 	/**
-	 * Create an Expression corresponding to a Calendar value.
-	 *
-	 * @param c -
-	 *            Calendar value
-	 * @return the corresponding Expression literal
-	 */
+         * Create an Expression corresponding to a Calendar value.
+         *
+         * @param c -
+         *          Calendar value
+         * @return the corresponding Expression literal
+         */
 	Expression literal(Calendar c);
 
 	/**
-	 * Create an Expression corresponding to a Date value.
-	 *
-	 * @param d -
-	 *            Date value
-	 * @return the corresponding Expression literal
-	 */
+         * Create an Expression corresponding to a Date value.
+         *
+         * @param d -
+         *          Date value
+         * @return the corresponding Expression literal
+         */
 	Expression literal(Date d);
 
 	/**
-	 * Create an Expression corresponding to a character value.
-	 *
-	 * @param character
-	 *            value
-	 * @return the corresponding Expression literal
-	 */
+         * Create an Expression corresponding to a character value.
+         *
+         * @param character value
+         * @return the corresponding Expression literal
+         */
 	Expression literal(char c);
 
 	/**
@@ -539,12 +536,12 @@
 	Expression literal(Class cls);
 
 	/**
-	 * Create an Expression corresponding to an enum.
-	 *
-	 * @param e -
-	 *            enum
-	 * @return the corresponding Expression literal
-	 */
+         * Create an Expression corresponding to an enum.
+         *
+         * @param e -
+         *          enum
+         * @return the corresponding Expression literal
+         */
 	Expression literal(Enum<?> e);
 
 	/**
@@ -555,11 +552,10 @@
 	Expression nullLiteral();
 
 	/**
-	 * Specify use of a parameter of the given name.
-	 *
-	 * @param parameter
-	 *            name
-	 * @return an Expression corresponding to a named parameter
-	 */
+         * Specify use of a parameter of the given name.
+         *
+         * @param parameter name
+         * @return an Expression corresponding to a named parameter
+         */
 	Expression param(String name);
 }
\ No newline at end of file

Modified: geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/SecondaryTable.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/SecondaryTable.java?rev=721048&r1=721047&r2=721048&view=diff
==============================================================================
--- geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/SecondaryTable.java (original)
+++ geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/SecondaryTable.java Wed Nov 26 16:23:43 2008
@@ -24,10 +24,10 @@
 //
 package javax.persistence;
 
-import java.lang.annotation.Target;
+import java.lang.annotation.ElementType;
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.ElementType;
+import java.lang.annotation.Target;
 
 /**
  * @version $Rev$ $Date$