X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.api.acr%2Fsrc%2Forg%2Fargeo%2Fapi%2Facr%2Fsearch%2FContentFilter.java;fp=org.argeo.api.acr%2Fsrc%2Forg%2Fargeo%2Fapi%2Facr%2Fsearch%2FContentFilter.java;h=66c7559e968c92d2703b9463a1379ab2c2901ac7;hb=d0e3d2246086746e73b2b68c9a6aaf8395ee93b7;hp=df7d562698bcec40d86f6766bd8d57dae87dcde7;hpb=31f4ba71167c039527446e11cff5ac052a820c31;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.api.acr/src/org/argeo/api/acr/search/ContentFilter.java b/org.argeo.api.acr/src/org/argeo/api/acr/search/ContentFilter.java index df7d56269..66c7559e9 100644 --- a/org.argeo.api.acr/src/org/argeo/api/acr/search/ContentFilter.java +++ b/org.argeo.api.acr/src/org/argeo/api/acr/search/ContentFilter.java @@ -79,6 +79,55 @@ public abstract class ContentFilter implements return eq(attr.qName(), value); } + public COMPOSITION lt(QName attr, Object value) { + addConstraint(new Lt(attr, value)); + return composition; + } + + public COMPOSITION lt(QNamed attr, Object value) { + return lt(attr.qName(), value); + } + + public COMPOSITION lte(QName attr, Object value) { + addConstraint(new Lte(attr, value)); + return composition; + } + + public COMPOSITION lte(QNamed attr, Object value) { + return lte(attr.qName(), value); + } + + public COMPOSITION gt(QName attr, Object value) { + addConstraint(new Gt(attr, value)); + return composition; + } + + public COMPOSITION gt(QNamed attr, Object value) { + return gt(attr.qName(), value); + } + + public COMPOSITION gte(QName attr, Object value) { + addConstraint(new Gte(attr, value)); + return composition; + } + + public COMPOSITION gte(QNamed attr, Object value) { + return gte(attr.qName(), value); + } + + public COMPOSITION like(QName attr, String pattern) { + addConstraint(new Like(attr, pattern)); + return composition; + } + + public COMPOSITION like(QNamed attr, String pattern) { + return like(attr.qName(), pattern); + } + + /* + * PROPERTIES CONSTRAINTS + */ + public COMPOSITION isDefined(QName attr) { addConstraint(new IsDefined(attr)); return composition; @@ -125,71 +174,6 @@ public abstract class ContentFilter implements * CLASSES */ - public static class Not implements Constraint { - final Constraint negated; - - public Not(Constraint negated) { - this.negated = negated; - } - - public Constraint getNegated() { - return negated; - } - - } - - public static class Eq implements Constraint { - final QName prop; - final Object value; - - public Eq(QName prop, Object value) { - super(); - this.prop = prop; - this.value = value; - } - - public QName getProp() { - return prop; - } - - public Object getValue() { - return value; - } - - } - - public static class IsDefined implements Constraint { - final QName prop; - - public IsDefined(QName prop) { - super(); - this.prop = prop; - } - - public QName getProp() { - return prop; - } - } - - public static class IsContentClass implements Constraint { - final QName[] contentClasses; - - public IsContentClass(QName[] contentClasses) { - this.contentClasses = contentClasses; - } - - public IsContentClass(QNamed[] contentClasses) { - this.contentClasses = new QName[contentClasses.length]; - for (int i = 0; i < contentClasses.length; i++) - this.contentClasses[i] = contentClasses[i].qName(); - } - - public QName[] getContentClasses() { - return contentClasses; - } - - } - // public static void main(String[] args) { // AndFilter filter = new AndFilter(); // filter.eq(new QName("test"), "test").and().not().eq(new QName("type"), "integer");