Example usage for org.apache.commons.collections4.functors OrPredicate OrPredicate

List of usage examples for org.apache.commons.collections4.functors OrPredicate OrPredicate

Introduction

In this page you can find the example usage for org.apache.commons.collections4.functors OrPredicate OrPredicate.

Prototype

public OrPredicate(final Predicate<? super T> predicate1, final Predicate<? super T> predicate2) 

Source Link

Document

Constructor that performs no validation.

Usage

From source file:com.link_intersystems.lang.reflect.criteria.MemberCriteria.java

@SuppressWarnings("unchecked")
protected Iterator<T> applyAccessAndNamePredicates(Iterator<T> iterator) {
    List<Predicate<?>> predicates = new ArrayList<Predicate<?>>();

    int accessModifiers = 0;
    Collection<AccessType> accesses = getAccesses();
    for (AccessType access : accesses) {
        switch (access) {
        case PUBLIC:
            accessModifiers |= Modifier.PUBLIC;
            break;
        case PRIVATE:
            accessModifiers |= Modifier.PRIVATE;
            break;
        case PROTECTED:
            accessModifiers |= Modifier.PROTECTED;
            break;
        default://from  w  w  w. j ava  2 s .c o  m
            break;
        }
    }
    Predicate<Member> accessModifierPredicate = new MemberModifierPredicate(accessModifiers,
            Match.AT_LEAST_ONE);

    if (accesses.contains(AccessType.DEFAULT)) {
        accessModifierPredicate = OrPredicate.orPredicate(accessModifierPredicate,
                NotPredicate.notPredicate(new MemberModifierPredicate(
                        Modifier.PRIVATE | Modifier.PUBLIC | Modifier.PROTECTED, Match.AT_LEAST_ONE)));
    }

    predicates.add(accessModifierPredicate);

    int modifiers = getModifiers();
    if (modifiers != 0) {
        predicates.add(new MemberModifierPredicate(modifiers, Match.AT_LEAST_ALL));
    }

    String name = getName();
    if (name != null) {
        predicates.add(ReflectFacade.getMemberNamePredicate(name));
    }

    Pattern pattern = getPattern();
    if (pattern != null) {
        predicates.add(ReflectFacade.getMemberNamePatternPredicate(pattern));
    }
    Predicate<T> allPredicate = AllPredicate.allPredicate((Collection<? extends Predicate<T>>) predicates);
    iterator = IteratorUtils.filteredIterator(iterator, allPredicate);
    return iterator;
}