List of usage examples for org.apache.commons.collections.functors AllPredicate AllPredicate
public AllPredicate(Predicate[] predicates)
From source file:com.cognifide.cq.cqsm.core.scripts.ScriptFilters.java
public static Predicate filterOnSchedule(final Date date) { return new AllPredicate(new Predicate[] { filterExecutionEnabled(true), filterByExecutionMode(ExecutionMode.ON_SCHEDULE), new Predicate() { @Override/*from www . jav a 2 s. c o m*/ public boolean evaluate(Object o) { final Script script = (Script) o; return (script.getExecutionLast() == null) && script.getExecutionSchedule().before(date); } } }); }
From source file:com.discursive.jccook.collections.predicate.ImprovedPredicatedMapExample.java
public void start() { // Create the Predicates PropertyPredicate teamName = new PropertyPredicate("name"); PropertyPredicate coachFirstName = new PropertyPredicate("coach.firstName"); PropertyPredicate coachLastName = new PropertyPredicate("coach.lastName"); // Tie three Predicates together into an AllPredicate Predicate[] predicateArray = new Predicate[] { teamName, coachFirstName, coachLastName }; AllPredicate valuePredicate = new AllPredicate(predicateArray); // Decorate a HashMap with a predicate on the value teamMap = PredicatedMap.decorate(new HashMap(), null, valuePredicate); // Manufacture some teams Team redSox = new Team("Red Sox", new Coach("Patrick", "Moloney")); Team yankees = new Team("Yankees", new Coach("David", "McGarry")); Team dodgers = new Team("Dodgers", new Coach("Nick", "Taylor")); Team twins = new Team(null, new Coach("Patrick", "Moloney")); Team braves = new Team("Braves", null); // The follow put calls should work fine teamMap.put("RedSox", redSox); teamMap.put("Yankees", yankees); teamMap.put("Dodgers", dodgers); // This put should fail because the team name is null try {//from w ww. j a va 2 s.c om teamMap.put("Twins", twins); } catch (IllegalArgumentException iae) { System.out.println("Twins put failed, as expected"); } // This put should fail because the coach is null try { teamMap.put("Braves", braves); } catch (IllegalArgumentException iae) { System.out.println("Braves put failed, as expected"); } }
From source file:com.cognifide.cq.cqsm.core.scripts.ScriptFilters.java
public static Predicate filterOnModify(final ResourceResolver resolver) { return new AllPredicate(new Predicate[] { filterExecutionEnabled(true), filterByExecutionMode(ExecutionMode.ON_MODIFY), new Predicate() { @Override// w w w.ja v a 2 s .co m public boolean evaluate(Object o) { return ((Script) o).isContentModified(resolver); } } }); }
From source file:com.discursive.jccook.collections.predicate.XPathPredicatedMapExample.java
public void start() { // Create the Predicates Predicate teamName = new XPathPredicate("./name"); Predicate coachFirstName = new XPathPredicate("./coach/firstName"); Predicate coachLastName = new XPathPredicate("./coach/lastName"); // Create a predicate that rejects all teams with name Dodgers Map variables = new HashMap(); variables.put("name", "Dodgers"); Predicate noDodgers = new NotPredicate(new XPathPredicate("./name[. = $name]", variables)); // Tie three Predicates together into an AllPredicate Predicate[] predicateArray = new Predicate[] { teamName, coachFirstName, coachLastName, noDodgers }; AllPredicate valuePredicate = new AllPredicate(predicateArray); // Decorate a HashMap with a predicate on the value teamMap = PredicatedMap.decorate(new HashMap(), null, valuePredicate); // Manufacture some teams Team redSox = new Team("Red Sox", new Coach("Patrick", "Moloney")); Team yankees = new Team("Yankees", new Coach("David", "McGarry")); Team dodgers = new Team("Dodgers", new Coach("Nick", "Taylor")); Team twins = new Team(null, new Coach("Patrick", "Moloney")); Team braves = new Team("Braves", null); // The follow put calls should work fine teamMap.put("RedSox", redSox); teamMap.put("Yankees", yankees); // This should fail because we have a predicate checking for "Dodgers" and rejecting try {/*from w ww. j ava 2s.co m*/ teamMap.put("Dodgers", dodgers); } catch (IllegalArgumentException iae) { System.out.println("Dodgers put failed, as expected"); } // This put should fail because the team name is null try { teamMap.put("Twins", twins); } catch (IllegalArgumentException iae) { System.out.println("Twins put failed, as expected"); } // This put should fail because the coach is null try { teamMap.put("Braves", braves); } catch (IllegalArgumentException iae) { System.out.println("Braves put failed, as expected"); } }
From source file:com.cognifide.cq.cqsm.core.scripts.ScriptFilters.java
public static Predicate filterOnStart(final ResourceResolver resolver) { return new AllPredicate(new Predicate[] { filterExecutionEnabled(true), new OrPredicate(filterByExecutionMode(ExecutionMode.ON_START), filterOnModify(resolver)) }); }
From source file:info.mikaelsvensson.devtools.sitesearch.SiteSearchPlugin.java
private Predicate getWordFilters() { Collection<Predicate> predicates = new LinkedList<Predicate>(); predicates.add(new WordEntryNotNullFilter()); try {/*from ww w . ja va 2s . c o m*/ int minWordLength = Integer.parseInt(getProperties().get(PROPERTY_SEARCHBOX_INDEX_MINWORDLENGTH)); if (minWordLength > 0) { predicates.add(new WordEntryLengthFilter(minWordLength)); } } catch (NumberFormatException e) { getLog().info("Could not convert value of " + PROPERTY_SEARCHBOX_INDEX_MINWORDLENGTH + " to a number.", e); } boolean excludeNumbers = Boolean.getBoolean(getProperties().get(PROPERTY_SEARCHBOX_INDEX_EXCLUDENUMBERS)); if (excludeNumbers) { predicates.add(new WordEntryNoNumbersFilter()); } String excludeCommonWords = getProperties().get(PROPERTY_SEARCHBOX_INDEX_EXCLUDECOMMONWORDS); if (!StringUtils.isEmpty(excludeCommonWords)) { String[] localeNames = StringUtils.split(excludeCommonWords, ','); predicates.add(new WordEntryBlackListFilter(localeNames)); } return new AllPredicate(predicates.toArray(new Predicate[predicates.size()])); }
From source file:org.openfaces.component.filter.PredicateBuilder.java
/** * Used by the <code>build</code> method internally. This method shouldn't normally be invoked by application * developers.//from w w w. j a v a2s.c o m */ public Object process(AndFilterCriterion criterion) { List<FilterCriterion> criteria = criterion.getCriteria(); Predicate[] predicates = new Predicate[criteria.size()]; for (int i = 0; i < criteria.size(); i++) { FilterCriterion filterCriterion = criteria.get(i); predicates[i] = (Predicate) filterCriterion.process(this); } return new AllPredicate(predicates); }
From source file:org.openfaces.component.filter.PredicateBuilder.java
private static Predicate convertToPredicate(final ExpressionFilterCriterion expressionFilterCriterion) { final FilterCondition condition = expressionFilterCriterion.getCondition(); final Object parameter = expressionFilterCriterion.getArg1(); if (parameter == null && condition != FilterCondition.EMPTY) return TruePredicate.getInstance(); final Predicate predicateFunctor = condition.process(new FilterConditionProcessor<Predicate>() { public Predicate processEmpty() { return new Predicate() { public boolean evaluate(Object o) { return o == null || o.equals(""); }// ww w . j a v a 2 s .c om }; } public Predicate processEquals() { Comparator comparator = getComparatorForParameter(parameter); if (parameter instanceof Date) { TimeZone timeZone = (TimeZone) expressionFilterCriterion.getParameters().get("timeZone"); Date dayStart = ParametersInterpreter.dayStart((Date) parameter, timeZone); Predicate preficateForBefore = new ComparePredicate(dayStart, FilterCondition.GREATER_OR_EQUAL, comparator); Date dayEnd = ParametersInterpreter.dayEnd((Date) parameter, timeZone); Predicate preficateForAfter = new ComparePredicate(dayEnd, FilterCondition.LESS_OR_EQUAL, comparator); return new AllPredicate(new Predicate[] { preficateForBefore, preficateForAfter }); } else if (parameter instanceof String) { boolean caseSensitive = expressionFilterCriterion.isCaseSensitive(); return new AbstractStringPredicate(parameter.toString(), caseSensitive) { public boolean evaluate(String parameter, String value) { return value.equals(parameter); } }; } else { return new ComparePredicate(parameter, condition, comparator); } } public Predicate processContains() { boolean caseSensitive = expressionFilterCriterion.isCaseSensitive(); return new AbstractStringPredicate(parameter.toString(), caseSensitive) { public boolean evaluate(String parameter, String value) { return value.contains(parameter); } }; } public Predicate processBegins() { boolean caseSensitive = expressionFilterCriterion.isCaseSensitive(); return new AbstractStringPredicate(parameter.toString(), caseSensitive) { public boolean evaluate(String parameter, String value) { return value.startsWith(parameter); } }; } public Predicate processEnds() { boolean caseSensitive = expressionFilterCriterion.isCaseSensitive(); return new AbstractStringPredicate(parameter.toString(), caseSensitive) { public boolean evaluate(String parameter, String value) { return value.endsWith(parameter); } }; } public Predicate processLess() { Comparator comparator = getComparatorForParameter(parameter); Object correctedParameter = parameter; if (parameter instanceof Date) { TimeZone timeZone = (TimeZone) expressionFilterCriterion.getParameters().get("timeZone"); correctedParameter = ParametersInterpreter.dayStart((Date) parameter, timeZone); } return new ComparePredicate(correctedParameter, condition, comparator); } public Predicate processGreater() { Comparator comparator = getComparatorForParameter(parameter); Object correctedParameter = parameter; if (parameter instanceof Date) { TimeZone timeZone = (TimeZone) expressionFilterCriterion.getParameters().get("timeZone"); correctedParameter = ParametersInterpreter.dayEnd((Date) parameter, timeZone); } return new ComparePredicate(correctedParameter, condition, comparator); } public Predicate processLessOrEqual() { Comparator comparator = getComparatorForParameter(parameter); Object correctedParameter = parameter; if (parameter instanceof Date) { TimeZone timeZone = (TimeZone) expressionFilterCriterion.getParameters().get("timeZone"); correctedParameter = ParametersInterpreter.dayEnd((Date) parameter, timeZone); } return new ComparePredicate(correctedParameter, condition, comparator); } public Predicate processGreaterOrEqual() { Comparator comparator = getComparatorForParameter(parameter); Object correctedParameter = parameter; if (parameter instanceof Date) { TimeZone timeZone = (TimeZone) expressionFilterCriterion.getParameters().get("timeZone"); correctedParameter = ParametersInterpreter.dayStart((Date) parameter, timeZone); } return new ComparePredicate(correctedParameter, condition, comparator); } public Predicate processBetween() { Comparator comparator = getComparatorForParameter(parameter); Object parameter1 = parameter; Object parameter2 = expressionFilterCriterion.getArg2(); if (parameter2 == null) return TruePredicate.getInstance(); if (parameter1 instanceof Date && parameter2 instanceof Date) { TimeZone timeZone = (TimeZone) expressionFilterCriterion.getParameters().get("timeZone"); parameter1 = ParametersInterpreter.dayStart((Date) parameter1, timeZone); parameter2 = ParametersInterpreter.dayEnd((Date) parameter1, timeZone); } Predicate preficateForBefore = new ComparePredicate(parameter1, FilterCondition.GREATER_OR_EQUAL, comparator); Predicate preficateForAfter = new ComparePredicate(parameter2, FilterCondition.LESS_OR_EQUAL, comparator); return new AllPredicate(new Predicate[] { preficateForBefore, preficateForAfter }); } }); final PropertyLocator propertyLocator = expressionFilterCriterion.getPropertyLocator(); Predicate predicate = new Predicate() { public boolean evaluate(Object o) { return predicateFunctor.evaluate(propertyLocator.getPropertyValue(o)); } }; return (expressionFilterCriterion.isInverse()) ? new NotPredicate(predicate) : predicate; }