List of usage examples for org.apache.commons.collections ClosureUtils ifClosure
public static Closure ifClosure(Predicate predicate, Closure trueClosure, Closure falseClosure)
From source file:ClosureExample.java
public static void main(String args[]) { Closure ifClosure = ClosureUtils.ifClosure(PredicateUtils.equalPredicate(new Integer(20)), ClosureUtils.nopClosure(), ClosureUtils.exceptionClosure()); ifClosure.execute(new Integer(20)); // ifClosure.execute(new Integer(30)); }
From source file:com.nwea.samples.apachecommons.collections.SampleCollectionUtils.java
@SuppressWarnings("unchecked") public static void setDefaultHomeroomsBySex(Collection<Student> students, final String femaleHomeroom, final String maleHomeroom) { // predicate returns true if student sex is "F" Predicate ifStatement = new Predicate() { public boolean evaluate(Object obj) { Student student = (Student) obj; return student.getSex().equals("F"); }/*from ww w .ja v a 2s . c om*/ }; // closure calls setHomeroom() on Student refs. // allows to set "homeRoom" var in instance initializer class SetHomeroom implements Closure { String homeRoom; public void execute(Object obj) { Student student = (Student) obj; student.setHomeroom(homeRoom); } } CollectionUtils.forAllDo(students, ClosureUtils.ifClosure(ifStatement, new SetHomeroom() { { homeRoom = femaleHomeroom; } }, new SetHomeroom() { { homeRoom = maleHomeroom; } })); // crazy braces/parens! }
From source file:com.newlandframework.avatarmq.broker.ProducerMessageHook.java
private void filterByTopic(String topic) { Predicate focusAllPredicate = new Predicate() { public boolean evaluate(Object object) { ConsumerClusters clusters = (ConsumerClusters) object; return clusters.findSubscriptionData(topic) != null; }//from ww w . j a va 2 s.co m }; AnyPredicate any = new AnyPredicate(new Predicate[] { focusAllPredicate }); Closure joinClosure = new Closure() { public void execute(Object input) { if (input instanceof ConsumerClusters) { ConsumerClusters clusters = (ConsumerClusters) input; clustersSet.add(clusters); } } }; Closure ignoreClosure = new Closure() { public void execute(Object input) { } }; Closure ifClosure = ClosureUtils.ifClosure(any, joinClosure, ignoreClosure); CollectionUtils.forAllDo(focusTopicGroup, ifClosure); }