List of usage examples for org.apache.commons.collections4 IteratorUtils EMPTY_ITERATOR
ResettableIterator EMPTY_ITERATOR
To view the source code for org.apache.commons.collections4 IteratorUtils EMPTY_ITERATOR.
Click Source Link
From source file:com.link_intersystems.util.graph.GraphFacade.java
/** * Creates a predicated {@link Node} iterator that iterates the {@link Node} * s per Predicate that is specified using the {@link NodeIterateStrategy}. * <p>// ww w . ja va 2 s . c om * Take the following node structure for example * * <pre> * A * +------------+------------+ * B C D * +----+----+ | +---+------------+ * E F G H I J K * +------+------+ * L M N * </pre> * * If we assume that we have 3 {@link Predicate}s * <ul> * <li>The 1. {@link Predicate} matches {@link Node}s A,C,H,D,K</li> * <li>The 2. {@link Predicate} matches {@link Node}s A,B,E,F</li> * <li>The 3. {@link Predicate} matches {@link Node}s D,J,M,N</li> * </ul> * and we construct a per predicated node iterator using * * <pre> * {@link GraphFacade#perPredicateNodeIterator(NodeIterateStrategy, Node, Predicate...) GraphFacade.perPredicatedNodeIterator(BREADTH_FIRST, startNodeA, pred1, pred2, pred3)}; * </pre> * * The resulting iterator will iterate the node structure using a breadth * first strategy for every {@link Predicate} starting at startNodeA. <br/> * The result will be: * * <pre> * breadth first breadth first breadth first * matching matching matching * pred1 pred2 pred3 * +-----------+ +-------+ +-------+ * A C D H K A B E F D J M N * * iterate order --> * </pre> * * </p> * * @param nodeIterateStrategy * @param startNode * @param nodeIterateOrderPredicates * @return */ @SuppressWarnings("unchecked") public static Iterator<Node> perPredicateNodeIterator(NodeIterateStrategy nodeIterateStrategy, Node startNode, Predicate... nodeIterateOrderPredicates) { Iterator<Node> iterator = IteratorUtils.EMPTY_ITERATOR; for (int i = 0; i < nodeIterateOrderPredicates.length; i++) { Predicate predicate = nodeIterateOrderPredicates[i]; Iterator<Node> nodeStrategyIterator = null; switch (nodeIterateStrategy) { case BREADTH_FIRST: nodeStrategyIterator = new BreadthFirstNodeIterator(startNode); break; case DEPTH_FIRST: nodeStrategyIterator = new DepthFirstNodeIterator(startNode); break; } Iterator<Node> predicateFilterIterator = IteratorUtils.filteredIterator(nodeStrategyIterator, predicate); iterator = IteratorUtils.chainedIterator(iterator, predicateFilterIterator); } return iterator; }
From source file:de.micromata.genome.gwiki.page.gspt.ServletStandalonePageContext.java
@SuppressWarnings({ "rawtypes", "unchecked" }) @Override/*from w w w . java 2 s . c o m*/ public Enumeration getAttributeNamesInScope(int scope) { switch (scope) { case PageContext.REQUEST_SCOPE: return request.getAttributeNames(); case PageContext.SESSION_SCOPE: if (session != null) { return session.getAttributeNames(); } return IteratorUtils.asEnumeration(IteratorUtils.EMPTY_ITERATOR); case PageContext.APPLICATION_SCOPE: return servletCtx.getAttributeNames(); default: return IteratorUtils.asEnumeration(pageAttributes.keySet().iterator()); } }