]> source.dussan.org Git - iciql.git/commitdiff
Documentation
authorJames Moger <james.moger@gitblit.com>
Thu, 23 Oct 2014 01:56:32 +0000 (21:56 -0400)
committerJames Moger <james.moger@gitblit.com>
Thu, 23 Oct 2014 02:29:05 +0000 (22:29 -0400)
releases.moxie
src/site/jaqu_comparison.mkd
src/site/usage.mkd

index 47e06d36521051f7866c04e83c2eff76ade88985..a21662ec0033ed4dd73f6631af6b552f93cbbf10 100644 (file)
@@ -5,7 +5,11 @@ r21: {
     title: ${project.name} ${project.version} released
     id: ${project.version}
     date: ${project.buildDate}
-    note: "If you are upgrading and using EnumId mapping you will have to update your models to define the target class for the enumid mapping."
+    note: ''
+          If you are upgrading and using EnumId mapping you will have to update your enums to define the target class for the EnumId interface since it is now generified.
+            
+          Switching to using generic types with the EnumId interface allows you to implement alternative enum-type mappings which may make more sense for your business logic.
+          ''
     html: ~
     text: ~
     security: ~
@@ -16,8 +20,8 @@ r21: {
     changes:
     - Revised EnumId interface to support generic types (pr-6)
     additions:
-    - Add syntax for IN and NOT IN (pr-7)
-    - Add support for nested AND/OR conditions (pr-8)
+    - Add syntax oneOf/noneOf for IN and NOT IN (pr-7)
+    - Add support for compound nested AND/OR conditions (pr-8)
     - Add support for mapping SQL BOOLEAN to primitive numeric types, not just object numeric types
     - Add support for customizing EnumId mapping, you can now map enum constants to values of your choice as long as they are a standard type
     dependencyChanges: 
index 3b060e5593bfc0624a8aa0454909a2325e2293d1..b37addb0ce5f48d3c847dfdecce0b078241cb80f 100644 (file)
@@ -18,6 +18,8 @@ This is an overview of the fundamental differences between the original JaQu pro
 <tr><td>dynamic queries</td><td>methods and where clauses for dynamic queries that build iciql objects</td><td>--</td></tr>\r
 <tr><td>DROP</td><td>syntax to drop a table or view</td><td></td></tr>\r
 <tr><td>BETWEEN</td><td>syntax for specifying a BETWEEN x AND y clause</td><td>--</td></tr>\r
+<tr><td>(NOT) IN</td><td>syntax (oneOf, noneOf) for specifying a (NOT) IN clause</td><td>--</td></tr>\r
+<tr><td>compound nested conditions</td><td>WHERE (x = y OR x = z) AND (y = a OR y = b)</td><td>--</td></tr>\r
 <tr><th colspan="3">types</th></tr>\r
 <tr><td>primitives</td><td>fully supported</td><td>--</td></tr>\r
 <tr><td>enums</td><td>fully supported</td><td>--</td></tr>\r
@@ -29,4 +31,4 @@ This is an overview of the fundamental differences between the original JaQu pro
 <tr><td>DEFAULT values</td><td>set from annotation, <em>default object values</em>, or Define.defaultValue()</td><td>set from annotations</td></tr>\r
 <tr><td>Interface Configuration<br/>Mapped Fields</td><td><em>all fields</em> are mapped regardless of scope<br/>fields are ignored by annotating with @IQIgnore</td><td><em>all public fields</em> are mapped<br/>fields are ignored by reducing their scope</td></tr>\r
 <tr><td>Index names</td><td>can be set</td><td>--</td></tr>\r
-</table>
\ No newline at end of file
+</table>\r
index b09f91b004c1e6e131a402f4d9b55cc81efbcab4..21c262e29e7982ed0f8599c800f075d6fcbb0b7f 100644 (file)
@@ -82,25 +82,13 @@ final Customer model = new Customer();
 //    AND (\r
 //      region = 'LA' OR region = 'CA'\r
 //    )\r
-List<Customer> regionals =\r
-  db.from(model)\r
-    .where(model.customerId).isNotNull()\r
-    .and(model.region).isNotNull()\r
-    .and(new Or<Customer>(db, model) {{\r
-         or(model.region).is("LA");\r
-      or(model.region).is("CA");\r
-    }});\r
-\r
-List<Customer> regionalType1s =\r
-  db.from(model)\r
-    .where(new And<Customer>(db, model) {{\r
-      and(model.type).is(1);\r
-      and(new Or<Customer>(db, model) {{\r
-        or(model.region).is("CA");\r
-        or(model.region).is("LA");\r
+List<Customer> regionals = db.from(model)\r
+      .where(model.customerId).isNotNull()\r
+      .and(model.region).isNotNull()\r
+      .and(new Or<Customer>(db, model) {{\r
+            or(model.region).is("LA");\r
+            or(model.region).is("CA");\r
       }});\r
-    }});\r
-\r
 ---JAVA---\r
 \r
 ### Finding Matches for a List of Values\r