You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openjpa.apache.org by pp...@apache.org on 2009/09/01 23:07:20 UTC
svn commit: r810240 -
/openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/criteria/OpenJPACriteriaBuilder.java
Author: ppoddar
Date: Tue Sep 1 21:07:19 2009
New Revision: 810240
URL: http://svn.apache.org/viewvc?rev=810240&view=rev
Log:
OPENJPA-1278: missing file
Added:
openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/criteria/OpenJPACriteriaBuilder.java (with props)
Added: openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/criteria/OpenJPACriteriaBuilder.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/criteria/OpenJPACriteriaBuilder.java?rev=810240&view=auto
==============================================================================
--- openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/criteria/OpenJPACriteriaBuilder.java (added)
+++ openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/criteria/OpenJPACriteriaBuilder.java Tue Sep 1 21:07:19 2009
@@ -0,0 +1,61 @@
+package org.apache.openjpa.persistence.criteria;
+
+import javax.persistence.criteria.From;
+import javax.persistence.criteria.Predicate;
+import javax.persistence.criteria.QueryBuilder;
+import javax.persistence.metamodel.Attribute;
+
+/**
+ * OpenJPA-specific extension to JPA 2.0 Criteria Query Builder API.
+ *
+ *
+ * @author Pinaki Poddar
+ * @since 2.0.0
+ */
+public interface OpenJPACriteriaBuilder extends QueryBuilder {
+ /**
+ * Create a predicate based upon the attribute values of a given
+ * "example" entity instance. The predicate is the conjunction
+ * or disjunction of predicates for subset of attribute of the entity.
+ * <br>
+ * All the singular entity attributes (the basic, embedded
+ * and uni-cardinality relations) that have a non-null or non-default
+ * value for the example instance and are not an identity or version
+ * attribute are included. The comparable attributes can be further
+ * pruned by specifying variable list of attributes for exclusion.
+ *
+ * @param example a non-null instance of a persistent entity.
+ *
+ * @param style specifies various aspects of comparison such as whether
+ * non-null attribute values be included, how string-valued attribute be
+ * compared, whether the individual attribute based predicates are ANDed
+ * or ORed etc. Can be null to designate default comparison style.
+ *
+ * @param excludes list of attributes that are excluded from comparison.
+ * Can be null.
+ *
+ * @return a predicate
+ */
+ public <T> Predicate qbe(From<?, T> from, T example, ComparisonStyle style, Attribute<?,?>... excludes);
+
+ /**
+ * Overloaded with no extra attribute to exclude.
+ */
+ public <T> Predicate qbe(From<?, T> from, T example, ComparisonStyle style);
+
+ /**
+ * Overloaded with default comparison style.
+ */
+ public <T> Predicate qbe(From<?, T> from, T example, Attribute<?,?>... excludes);
+
+ /**
+ * Overloaded with default comparison style and no extra attribute to exclude.
+ */
+ public <T> Predicate qbe(From<?, T> from, T example);
+
+ /**
+ * Create a mutable style to apply on query-by-example.
+ */
+ public ComparisonStyle qbeStyle();
+
+}
Propchange: openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/criteria/OpenJPACriteriaBuilder.java
------------------------------------------------------------------------------
svn:eol-style = native