hudson.util
Class Iterators

java.lang.Object
  extended by hudson.util.Iterators

public class Iterators
extends Object

Varios Iterators.FlattenIterator implementations.

Author:
Kohsuke Kawaguchi
See Also:
AdaptedIterator

Nested Class Summary
static interface Iterators.CountingPredicate<T>
           
static class Iterators.DuplicateFilterIterator<T>
          Remove duplicates from another iterator.
static class Iterators.FilterIterator<T>
          Creates a filtered view of another iterator.
static class Iterators.FlattenIterator<U,T>
          Produces {A,B,C,D,E,F} from {{A,B},{C},{},{D,E,F}}.
 
Constructor Summary
Iterators()
           
 
Method Summary
static
<T> Iterable<T>
cast(Iterable<? extends T> itr)
          Casts Iterable by taking advantage of its covariant-ness.
static
<T> Iterator<T>
cast(Iterator<? extends T> itr)
          Casts Iterators.FlattenIterator by taking advantage of its covariant-ness.
static
<T> Iterator<T>
empty()
          Returns the empty iterator.
static
<T> Iterator<T>
limit(Iterator<? extends T> base, Iterators.CountingPredicate<? super T> filter)
          Returns the elements in the base iterator until it hits any element that doesn't satisfy the filter.
static
<T> Iterator<T>
readOnly(Iterator<T> itr)
          Creates a read-only mutator that disallows Iterators.FlattenIterator.remove().
static
<T> Iterable<T>
removeDups(Iterable<T> base)
          Filters another iterator by eliminating duplicates.
static
<T> Iterator<T>
removeDups(Iterator<T> iterator)
          Filters another iterator by eliminating duplicates.
static
<T> Iterator<T>
removeNull(Iterator<T> itr)
          Wraps another iterator and throws away nulls.
static
<T> Iterable<T>
reverse(List<T> lst)
          Returns the Iterable that lists items in the reverse order.
static List<Integer> reverseSequence(int start, int end)
           
static List<Integer> reverseSequence(int start, int end, int step)
          The short cut for reverse(sequence(start,end,step)).
static List<Integer> sequence(int start, int end)
           
static List<Integer> sequence(int start, int end, int step)
          Returns a list that represents [start,end).
static
<T> Iterable<T>
sequence(Iterable<? extends T>... iterables)
          Returns an Iterable that iterates over all the given Iterables.
static
<T> Iterator<T>
sequence(Iterator<? extends T>... iterators)
           
static
<U,T extends U>
Iterator<T>
subType(Iterator<U> itr, Class<T> type)
          Returns an Iterators.FlattenIterator that only returns items of the given subtype.
static
<T> Iterable<T>
wrap(Iterable<T> base)
          Returns an Iterable that lists items in the normal order but which hides the base iterator implementation details.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Iterators

public Iterators()
Method Detail

empty

public static <T> Iterator<T> empty()
Returns the empty iterator.


reverse

public static <T> Iterable<T> reverse(List<T> lst)
Returns the Iterable that lists items in the reverse order.

Since:
1.150

wrap

public static <T> Iterable<T> wrap(Iterable<T> base)
Returns an Iterable that lists items in the normal order but which hides the base iterator implementation details.

Since:
1.492

sequence

public static List<Integer> sequence(int start,
                                     int end,
                                     int step)
Returns a list that represents [start,end). For example sequence(1,5,1)={1,2,3,4}, and sequence(7,1,-2)={7.5,3}

Since:
1.150

sequence

public static List<Integer> sequence(int start,
                                     int end)

reverseSequence

public static List<Integer> reverseSequence(int start,
                                            int end,
                                            int step)
The short cut for reverse(sequence(start,end,step)).

Since:
1.150

reverseSequence

public static List<Integer> reverseSequence(int start,
                                            int end)

cast

public static <T> Iterator<T> cast(Iterator<? extends T> itr)
Casts Iterators.FlattenIterator by taking advantage of its covariant-ness.


cast

public static <T> Iterable<T> cast(Iterable<? extends T> itr)
Casts Iterable by taking advantage of its covariant-ness.


subType

public static <U,T extends U> Iterator<T> subType(Iterator<U> itr,
                                                  Class<T> type)
Returns an Iterators.FlattenIterator that only returns items of the given subtype.


readOnly

public static <T> Iterator<T> readOnly(Iterator<T> itr)
Creates a read-only mutator that disallows Iterators.FlattenIterator.remove().


removeNull

public static <T> Iterator<T> removeNull(Iterator<T> itr)
Wraps another iterator and throws away nulls.


sequence

public static <T> Iterable<T> sequence(Iterable<? extends T>... iterables)
Returns an Iterable that iterates over all the given Iterables.

That is, this creates {A,B,C,D} from {A,B},{C,D}.


removeDups

public static <T> Iterator<T> removeDups(Iterator<T> iterator)
Filters another iterator by eliminating duplicates.


removeDups

public static <T> Iterable<T> removeDups(Iterable<T> base)
Filters another iterator by eliminating duplicates.


sequence

public static <T> Iterator<T> sequence(Iterator<? extends T>... iterators)

limit

public static <T> Iterator<T> limit(Iterator<? extends T> base,
                                    Iterators.CountingPredicate<? super T> filter)
Returns the elements in the base iterator until it hits any element that doesn't satisfy the filter. Then the rest of the elements in the base iterator gets ignored.

Since:
1.485


Copyright © 2004-2013. All Rights Reserved.