public boolean accept( DependencyNode node, List<DependencyNode> parents ) { for ( DependencyFilter filter : filters ) { if ( !filter.accept( node, parents ) ) { return false; } } return true; }
public boolean accept( DependencyNode node, List<DependencyNode> parents ) { for ( DependencyFilter filter : filters ) { if ( filter.accept( node, parents ) ) { return true; } } return false; }
public boolean accept( DependencyNode node, List<DependencyNode> parents ) { return !filter.accept( node, parents ); }
private boolean nodeMatches( final DependencyNode node, final LinkedList<DependencyNode> nodeParents, final DependencyFilter filter, final DependencyFilter exclusions, final boolean checkSelf, final boolean checkParent, final int depth, final int maxDepth ) { DependencyNode parent = null; LinkedList<DependencyNode> grandParents; if ( !nodeParents.isEmpty() ) { parent = nodeParents.getFirst(); grandParents = new LinkedList<DependencyNode>( nodeParents ); grandParents.removeFirst(); } else { grandParents = new LinkedList<DependencyNode>(); } return ( checkSelf && filter.accept( node, nodeParents ) ) || ( checkParent && !exclusions.accept( node, nodeParents ) && depth < maxDepth && parent != null && nodeMatches( parent, grandParents, filter, exclusions, true, checkParent, depth + 1, maxDepth ) ); }
private boolean nodeMatches( final DependencyNode node, final LinkedList<DependencyNode> nodeParents, final DependencyFilter filter, final boolean checkSelf, final boolean checkParent, final int depth, final int maxDepth ) { DependencyNode parent = null; LinkedList<DependencyNode> grandParents; if ( !nodeParents.isEmpty() ) { parent = nodeParents.getFirst(); grandParents = new LinkedList<DependencyNode>( nodeParents ); grandParents.removeFirst(); } else { grandParents = new LinkedList<DependencyNode>(); } return ( checkSelf && filter.accept( node, nodeParents ) ) || ( checkParent && depth < maxDepth && parent != null && nodeMatches( parent, grandParents, filter, true, checkParent, depth + 1, maxDepth ) ); }
public boolean visitEnter( DependencyNode node ) { boolean accept = filter == null || filter.accept( node, parents ); accepts.push( Boolean.valueOf( accept ) ); parents.push( node ); if ( accept ) { return visitor.visitEnter( node ); } else { return true; } }
public boolean visitEnter( DependencyNode node ) { boolean accept = filter == null || filter.accept( node, parents ); parents.push( node ); if ( accept ) { DependencyNode[] path = new DependencyNode[parents.size()]; int i = parents.size() - 1; for ( DependencyNode n : parents ) { path[i] = n; i--; } paths.add( Arrays.asList( path ) ); } return !( excludeChildrenOfMatches && accept ); }