Improve documentation.
authorMathieu Baudier <mbaudier@argeo.org>
Sat, 17 Jun 2023 05:04:25 +0000 (07:04 +0200)
committerMathieu Baudier <mbaudier@argeo.org>
Sat, 17 Jun 2023 05:04:25 +0000 (07:04 +0200)
org.argeo.api.acr/src/org/argeo/api/acr/search/AndFilter.java
org.argeo.api.acr/src/org/argeo/api/acr/search/BasicSearch.java
org.argeo.api.acr/src/org/argeo/api/acr/search/Composition.java
org.argeo.api.acr/src/org/argeo/api/acr/search/Constraint.java
org.argeo.api.acr/src/org/argeo/api/acr/search/ContentFilter.java
org.argeo.api.acr/src/org/argeo/api/acr/search/Intersection.java
org.argeo.api.acr/src/org/argeo/api/acr/search/OrFilter.java
org.argeo.api.acr/src/org/argeo/api/acr/search/Union.java
org.argeo.cms.ux/src/org/argeo/cms/ux/acr/ContentHierarchicalPart.java

index e58b212367edb68ba2156b3a51a8253ed05f1945..d3880d899e7346cbddceea1fd662e7d528202c22 100644 (file)
@@ -1,5 +1,6 @@
 package org.argeo.api.acr.search;
 
+/** AND filter based on the intersection composition. */
 public class AndFilter extends ContentFilter<Intersection> {
 
        public AndFilter() {
index 8028f5d2033e8d5138bf23aaca90a029b2e2f4ce..2e4f249d4ce5dbe35206f621e250368c003ce184 100644 (file)
@@ -9,9 +9,13 @@ import java.util.function.Consumer;
 
 import javax.xml.namespace.QName;
 
-import org.argeo.api.acr.DName;
 import org.argeo.api.acr.QNamed;
 
+/**
+ * A basic search mechanism modelled on WebDav basicsearch.
+ * 
+ * @see http://www.webdav.org/specs/rfc5323.html
+ */
 public class BasicSearch {
 
        private List<QName> select = new ArrayList<>();
@@ -87,10 +91,10 @@ public class BasicSearch {
 
        }
 
-       static void main(String[] args) {
-               BasicSearch search = new BasicSearch();
-               search.select(DName.creationdate.qName()) //
-                               .from(URI.create("/test")) //
-                               .where((f) -> f.eq(DName.creationdate.qName(), ""));
-       }
+//     static void main(String[] args) {
+//             BasicSearch search = new BasicSearch();
+//             search.select(DName.creationdate.qName()) //
+//                             .from(URI.create("/test")) //
+//                             .where((f) -> f.eq(DName.creationdate.qName(), ""));
+//     }
 }
index 80786f462f403a86597706a9728e741ed434a7dc..622d8c268e5b65d56bf34b08d70d6ac694b5bd07 100644 (file)
@@ -1,4 +1,5 @@
 package org.argeo.api.acr.search;
+
+/** Marker interface for a composition of multiple constraints. */
 interface Composition {
 }
-
index fc4313d7a0b69648e42525902a96dca34514d532..36c98f7a5f9a6b511d2bb095dc010adb092eda7c 100644 (file)
@@ -1,4 +1,5 @@
 package org.argeo.api.acr.search;
 
+/** Marker interface for a constraint. */
 public interface Constraint {
 }
index c5f5fc607b634a9b10447da8303aede30f3f3f60..45f2d848c4183754c3935e73bdc77d0c1f5d4590 100644 (file)
@@ -6,9 +6,9 @@ import java.util.function.Consumer;
 
 import javax.xml.namespace.QName;
 
-import org.argeo.api.acr.DName;
 import org.argeo.api.acr.QNamed;
 
+/** A constraint filtering based ona given composition (and/or). */
 public abstract class ContentFilter<COMPOSITION extends Composition> implements Constraint {
        private Set<Constraint> constraintss = new HashSet<>();
 
@@ -167,17 +167,17 @@ public abstract class ContentFilter<COMPOSITION extends Composition> implements
 
        }
 
-       public static void main(String[] args) {
-               AndFilter filter = new AndFilter();
-               filter.eq(new QName("test"), "test").and().not().eq(new QName("type"), "integer");
-
-               OrFilter unionFilter = new OrFilter();
-               unionFilter.all((f) -> {
-                       f.eq(DName.displayname, "").and().eq(DName.creationdate, "");
-               }).or().not().any((f) -> {
-                       f.eq(DName.creationdate, "").or().eq(DName.displayname, "");
-               });
-
-       }
+//     public static void main(String[] args) {
+//             AndFilter filter = new AndFilter();
+//             filter.eq(new QName("test"), "test").and().not().eq(new QName("type"), "integer");
+//
+//             OrFilter unionFilter = new OrFilter();
+//             unionFilter.all((f) -> {
+//                     f.eq(DName.displayname, "").and().eq(DName.creationdate, "");
+//             }).or().not().any((f) -> {
+//                     f.eq(DName.creationdate, "").or().eq(DName.displayname, "");
+//             });
+//
+//     }
 
 }
index 5fff2ae8868867f4a82fa95055bfe3363298b22b..9ce7632041db410e5216a4e757d4b49f9060b298 100644 (file)
@@ -1,4 +1,6 @@
 package org.argeo.api.acr.search;
+
+/** A composition which is the intersection of sets (AND). */
 class Intersection implements Composition {
        ContentFilter<Intersection> filter;
 
@@ -12,4 +14,3 @@ class Intersection implements Composition {
        }
 
 }
-
index 40460d499fd255032a047270a68ce52fee47578e..80a1568be934dc02dfb9b3d48ed3bf3ef25047cc 100644 (file)
@@ -1,5 +1,6 @@
 package org.argeo.api.acr.search;
 
+/** OR filter based on the union composition. */
 public class OrFilter extends ContentFilter<Union> {
 
        public OrFilter() {
index d4b342b5fcff09cab39fc577fd1fb1cef31e1c3e..df1b00175019600fe6bfdf791a31f7802bb8325e 100644 (file)
@@ -1,5 +1,6 @@
 package org.argeo.api.acr.search;
 
+/** A composition which is the union of sets (OR). */
 class Union implements Composition {
        ContentFilter<Union> filter;
 
index baaa25238ebb0f39a33871cbb67ab99270ddb8ea..bb9c7422d3189cb973665bf1fad9d26fa546d1ea 100644 (file)
@@ -8,15 +8,16 @@ import org.argeo.api.acr.Content;
 import org.argeo.cms.ux.widgets.AbstractHierarchicalPart;
 import org.argeo.cms.ux.widgets.HierarchicalPart;
 
+/** A {@link HierarchicalPart} based on {@link Content}. */
 public class ContentHierarchicalPart extends AbstractHierarchicalPart<Content> implements HierarchicalPart<Content> {
        @Override
-       public List<Content> getChildren(Content content) {
+       public List<Content> getChildren(Content parent) {
                List<Content> res = new ArrayList<>();
-               if (isLeaf(content))
+               if (isLeaf(parent))
                        return res;
-               if (content == null)
+               if (parent == null)
                        return res;
-               for (Iterator<Content> it = content.iterator(); it.hasNext();) {
+               for (Iterator<Content> it = parent.iterator(); it.hasNext();) {
                        res.add(it.next());
                }