@Override public ContainerCriteria isPresent() { return appendToParent(new PresentFilter(attribute)); }
@Test public void testPresentFilter() { PresentFilter filter = new PresentFilter("foo"); assertThat(filter.encode()).isEqualTo("(foo=*)"); NotFilter notFilter = new NotFilter(new PresentFilter("foo")); assertThat(notFilter.encode()).isEqualTo("(!(foo=*))"); AndFilter andFilter = new AndFilter(); andFilter.and(new PresentFilter("foo")); andFilter.and(new PresentFilter("bar")); assertThat(andFilter.encode()).isEqualTo("(&(foo=*)(bar=*))"); andFilter = new AndFilter(); andFilter.and(new PresentFilter("foo")); andFilter.and(new NotFilter(new PresentFilter("bar"))); assertThat(andFilter.encode()).isEqualTo("(&(foo=*)(!(bar=*)))"); }
@Override public ContainerCriteria isPresent() { return appendToParent(new PresentFilter(attribute)); }
@Override public ContainerCriteria isPresent() { return appendToParent(new PresentFilter(attribute)); }
@Override public ContainerCriteria isPresent() { return appendToParent(new PresentFilter(attribute)); }
@Test public void testEquals() { String attribute = "foo"; PresentFilter originalObject = new PresentFilter(attribute); PresentFilter identicalObject = new PresentFilter(attribute); PresentFilter differentObject = new PresentFilter("bar"); PresentFilter subclassObject = new PresentFilter(attribute) { }; new EqualsTester(originalObject, identicalObject, differentObject, subclassObject); } }
@Override public Object visit(Operation<?> expr, Void context) { Operator operator = expr.getOperator(); if (operator == Ops.EQ) { return new EqualsFilter(attribute(expr), value(expr)); } else if (operator == Ops.AND) { return new AndFilter().and(handle(expr.getArg(0))).and(handle(expr.getArg(1))); } else if (operator == Ops.OR) { return new OrFilter().or(handle(expr.getArg(0))).or(handle(expr.getArg(1))); } else if (operator == Ops.NOT) { return new NotFilter(handle(expr.getArg(0))); } else if (operator == Ops.LIKE) { return new LikeFilter(attribute(expr), value(expr)); } else if (operator == Ops.STARTS_WITH || operator == Ops.STARTS_WITH_IC) { return new LikeFilter(attribute(expr), value(expr) + "*"); } else if (operator == Ops.ENDS_WITH || operator == Ops.ENDS_WITH_IC) { return new LikeFilter(attribute(expr), "*" + value(expr)); } else if (operator == Ops.STRING_CONTAINS || operator == Ops.STRING_CONTAINS_IC) { return new LikeFilter(attribute(expr), "*" + value(expr) + "*"); } else if (operator == Ops.IS_NOT_NULL) { return new PresentFilter(attribute(expr)); } else if (operator == Ops.IS_NULL) { return new NotFilter(new PresentFilter(attribute(expr))); } else if (operator == Ops.GOE) { return new GreaterThanOrEqualsFilter(attribute(expr), value(expr)); } else if (operator == Ops.LOE) { return new LessThanOrEqualsFilter(attribute(expr), value(expr)); } throw new UnsupportedOperationException("Unsupported operator " + operator.toString()); }