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

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

Introduction

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

Prototype

public NotPredicate(final Predicate<? super T> predicate) 

Source Link

Document

Constructor that performs no validation.

Usage

From source file:com.link_intersystems.lang.reflect.ChooseMostSpecificMemberStrategy.java

protected Member2<?> chooseMostSpecificImpl(List<? extends Member2<?>> potentiallyApplicable) {
    boolean containsVarargsInvokable = CollectionUtils.exists(potentiallyApplicable,
            VarargInvokablePredicate.INSTANCE);
    Member2<?> mostSpecific = null;
    if (containsVarargsInvokable) {
        Member2<?> noVarargsMethod = (Member2<?>) CollectionUtils.find(potentiallyApplicable,
                NotPredicate.notPredicate(VarargInvokablePredicate.INSTANCE));
        mostSpecific = noVarargsMethod;/*from  w  ww  .j  a v a  2  s.  c  o  m*/
    } else {
        MostSpecificInvokableClosure mostSpecificInvokableClosure = new MostSpecificInvokableClosure();
        CollectionUtils.forAllDo(potentiallyApplicable, mostSpecificInvokableClosure);
        mostSpecific = mostSpecificInvokableClosure.getMostSpecific();
    }
    return mostSpecific;
}

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

@Test
public void reportAll() {
    ClassCriteria classCriteria = new ClassCriteria();
    classCriteria.setResult(Result.ALL);
    classCriteria.setTraverseStrategy(TraverseStrategy.DEPTH_FIRST);
    classCriteria.add(NotPredicate.notPredicate(ReflectFacade.getIsInterfacePredicate()));
    classCriteria.stopAt(AbstractCollection.class);

    Iterator<Class<?>> classIterator = classCriteria.getIterable(ArrayList.class).iterator();
    Class<?>[] expectedClasses = new Class<?>[] { ArrayList.class, AbstractList.class,
            AbstractCollection.class };
    for (int i = 0; i < expectedClasses.length; i++) {
        assertTrue(classIterator.hasNext());
        Class<?> next = classIterator.next();
        assertEquals(expectedClasses[i], next);
    }/*  ww  w  .j  av  a2  s  . c o  m*/
    assertFalse(classIterator.hasNext());
}

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  a  va2 s. com*/
            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;
}

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

@Test
public void classesOnly() {
    classCriteria.setTraverseStrategy(TraverseStrategy.DEPTH_FIRST);
    classCriteria.setSelection(ClassType.CLASSES);
    classCriteria.add(NotPredicate.notPredicate(ReflectFacade.getIsInterfacePredicate()));
    Iterator<Class<?>> iterator = classCriteria.getIterable(ArrayList.class).iterator();
    assertNotNull(iterator);/*from  www . jav a2s.  c o m*/
    assertTrue(iterator.hasNext());
    Class<?> next = iterator.next();
    assertEquals(ArrayList.class, next);
    next = iterator.next();
    assertEquals(AbstractList.class, next);
    assertTrue(iterator.hasNext());
    next = iterator.next();
    assertEquals(AbstractCollection.class, next);
    assertTrue(iterator.hasNext());
    next = iterator.next();
    assertEquals(Object.class, next);
    assertFalse(iterator.hasNext());
}

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

@SuppressWarnings("unchecked")
@Test/*from   w  w  w.ja  va2  s .c o m*/
public void visitAllFilter() {
    classCriteria.setTraverseStrategy(TraverseStrategy.DEPTH_FIRST);
    classCriteria.setSelection(ClassType.INTERFACES);
    classCriteria.add(ReflectFacade.getIsInterfacePredicate());
    classCriteria.add(NotPredicate
            .notPredicate(EqualPredicate.equalPredicate(GenericSubSubWithMultipleInterfaces.class)));
    classCriteria.setTraverseClassesUniquely(false);
    Iterator<Class<?>> iterator = classCriteria.getIterable(GenericSubSubWithMultipleInterfaces.class)
            .iterator();

    List<Class<?>> interfaces = IteratorUtils.toList(iterator);
    Collection<Class<?>> expectedInterfaces = new ArrayList<Class<?>>(Arrays.asList(GenericSubInterface.class,
            GenericInterface_Types_A_B_C.class, GenericInterface_Types_A_B_C.class));
    for (Class<?> interf : interfaces) {
        assertTrue("Unexpected " + interf + " in interator", expectedInterfaces.remove(interf));
    }
    assertTrue("Iterator does not iterator over the interfaces " + expectedInterfaces,
            expectedInterfaces.isEmpty());
}