E
- the type of the elementsN
- the type of what kind of RubyContract.Enumerator
should be usedZ
- the type to define if some methods are lazy or eager loadingstatic interface RubyContract.Enumerable<E,N extends RubyContract.Enumerator<?,?,?>,Z extends RubyContract.Enumerable<?,?,?>>
extends java.lang.Iterable<E>
RubyContract.Enumerable
defines all methods of a Ruby Enumerable should have.Modifier and Type | Method and Description |
---|---|
boolean |
allʔ()
Checks if null is excluded.
|
boolean |
allʔ(BooleanBlock<? super E> block)
Checks if any result returned by the block is false.
|
boolean |
anyʔ()
Checks if any non-null object is included.
|
boolean |
anyʔ(BooleanBlock<? super E> block)
Checks if any result returned by the block is true.
|
<S> N |
chunk(java.lang.String methodName,
java.lang.Object... args)
Chunks elements into entries.
|
<S> N |
chunk(TransformBlock<? super E,? extends S> block)
Chunks elements into entries.
|
N |
collect()
Returns an enumerator of elements.
|
<S> Z |
collect(java.lang.String methodName,
java.lang.Object... args)
Transforms each element by given method.
|
<S> Z |
collect(TransformBlock<? super E,? extends S> block)
Transforms each element by the block.
|
N |
collectConcat()
Returns an enumerator of elements.
|
<S> Z |
collectConcat(TransformBlock<? super E,? extends java.util.List<? extends S>> block)
Turns each element into a List and then flattens it.
|
int |
count()
Counts the elements.
|
int |
count(BooleanBlock<? super E> block)
Counts the elements which are true returned by the block.
|
N |
cycle()
Generates a sequence from first element to last element and so on
infinitely.
|
void |
cycle(Block<? super E> block)
Generates a sequence from start element to end element and so on
infinitely.
|
N |
cycle(int n)
Generates a sequence from first element to last element, repeat n times.
|
void |
cycle(int n,
Block<? super E> block)
Generates a sequence from start element to end element, repeat n times.
|
N |
detect()
Returns an enumerator of elements.
|
E |
detect(BooleanBlock<? super E> block)
Finds the first element which gets true returned by the block.
|
Z |
drop(int n)
Drops the first n elements.
|
N |
dropWhile()
Returns an enumerator which contains only the first element.
|
Z |
dropWhile(BooleanBlock<? super E> block)
Drops the first n elements until an element gets false returned by the
block.
|
N |
each()
Returns an enumerator of elements.
|
RubyContract.Enumerable<E,N,Z> |
each(Block<? super E> block)
Yields each element to the block.
|
N |
eachCons(int n)
Iterates each element and puts the element with n - 1 consecutive
elements into a
RubyArray . |
void |
eachCons(int n,
Block<? super RubyArray<E>> block)
Iterates each element and yields the element with n - 1 consecutive
elements to the block.
|
N |
eachEntry()
Returns an enumerator of elements.
|
RubyContract.Enumerable<E,N,Z> |
eachEntry(Block<? super E> block)
Yields each element to the block.
|
N |
eachSlice(int n)
Slices elements into
RubyArray s with length n. |
void |
eachSlice(int n,
Block<? super RubyArray<E>> block)
Slices elements into
RubyArray s with length n and yield them to
the block. |
N |
eachWithIndex()
Iterates elements with their indices by Entry.
|
RubyContract.Enumerable<E,N,Z> |
eachWithIndex(WithIndexBlock<? super E> block)
Iterates elements with their indices and yields them to the block.
|
<O> N |
eachWithObject(O obj)
Iterates elements with an object O.
|
<O> O |
eachWithObject(O obj,
WithObjectBlock<? super E,? super O> block)
Iterates elements with an object O and yield them to the block.
|
RubyArray<E> |
entries()
Puts each element into a
RubyArray . |
N |
find()
Equivalent to
detect() . |
E |
find(BooleanBlock<? super E> block)
Equivalent to
detect(BooleanBlock) . |
N |
findAll()
Returns an enumerator of elements.
|
Z |
findAll(BooleanBlock<? super E> block)
Finds all elements which are true returned by the block.
|
N |
findIndex()
Returns an enumerator of elements.
|
java.lang.Integer |
findIndex(BooleanBlock<? super E> block)
Returns the index of first element which gets true returned by the block.
|
java.lang.Integer |
findIndex(E target)
Returns the index of the target element.
|
E |
first()
Returns first element.
|
RubyArray<E> |
first(int n)
Returns the first n elements.
|
N |
flatMap()
Equivalent to
collectConcat() . |
<S> Z |
flatMap(TransformBlock<? super E,? extends java.util.List<? extends S>> block)
Equivalent to
collectConcat(TransformBlock) . |
Z |
grep(java.lang.String regex)
Finds all elements which are matched by the regular expression.
|
<S> Z |
grep(java.lang.String regex,
java.lang.String methodName,
java.lang.Object... args)
Finds all elements which are matched by the regular expression and
invokes them by given method name.
|
<S> Z |
grep(java.lang.String regex,
TransformBlock<? super E,? extends S> block)
Finds all elements which are matched by the regular expression and
transforms them.
|
N |
groupBy()
Returns an enumerator of elements.
|
<S> RubyHash<S,RubyArray<E>> |
groupBy(java.lang.String methodName,
java.lang.Object... args)
Puts elements with the same result S invoked by given method name into a
Entry<S, RubyArray<E>>y of a
RubyHash . |
<S> RubyHash<S,RubyArray<E>> |
groupBy(TransformBlock<? super E,? extends S> block)
Puts elements with the same result S returned by the block into a
Entry<S, RubyArray<E>>y of a
RubyHash . |
boolean |
includeʔ(E target)
Checks if target element is included.
|
<I> I |
inject(I init,
java.lang.String methodName)
Reduces each element with initial value by a method of S, then assigns
the result back to initial value and so on.
|
<I> I |
inject(I init,
WithInitBlock<? super E,I> block)
Reduces each element with block, then assigns the result back to initial
value and so on.
|
E |
inject(ReduceBlock<E> block)
Assigns the first element as the initial value.
|
E |
inject(java.lang.String methodName)
Assigns the first element as the initial value.
|
RubyLazyEnumerator<E> |
lazy()
Returns a
RubyLazyEnumerator . |
N |
map()
Returns an enumerator of elements.
|
<S> Z |
map(java.lang.String methodName,
java.lang.Object... args)
Equivalent to
collect(String, Object...) . |
<S> Z |
map(TransformBlock<? super E,? extends S> block)
Equivalent to
collect(TransformBlock) . |
E |
max()
Finds the max element.
|
E |
max(java.util.Comparator<? super E> comp)
Finds the max element compared by the Comparator.
|
N |
maxBy()
Returns an enumerator of elements.
|
<S> E |
maxBy(java.util.Comparator<? super S> comp,
TransformBlock<? super E,? extends S> block)
Finds the max element for outputs transformed by the block and compared
by the Comparator.
|
<S> E |
maxBy(java.lang.String methodName,
java.lang.Object... args)
Finds the max element for outputs invoked by given method name.
|
<S> E |
maxBy(TransformBlock<? super E,? extends S> block)
Finds the max element for outputs transformed by the block.
|
boolean |
memberʔ(E target)
Equivalent to
includeʔ(Object) . |
E |
min()
Finds the min element.
|
E |
min(java.util.Comparator<? super E> comp)
Finds the min element for outputs compared by the Comparator.
|
N |
minBy()
Returns an enumerator of elements.
|
<S> E |
minBy(java.util.Comparator<? super S> comp,
TransformBlock<? super E,? extends S> block)
Finds the min element for outputs transformed by the block and compared
by the Comparator.
|
<S> E |
minBy(java.lang.String methodName,
java.lang.Object... args)
Finds min element for outputs invoked by given method name.
|
<S> E |
minBy(TransformBlock<? super E,? extends S> block)
Finds the min element for outputs transformed by the block.
|
RubyArray<E> |
minmax()
Finds the min and max elements.
|
RubyArray<E> |
minmax(java.util.Comparator<? super E> comp)
Finds the min and max elements for outputs compared by the Comparator.
|
N |
minmaxBy()
Returns an enumerator of elements.
|
<S> RubyArray<E> |
minmaxBy(java.util.Comparator<? super S> comp,
TransformBlock<? super E,? extends S> block)
Finds the min and max elements for outputs transformed by the block and
compared by the Comparator.
|
<S> RubyArray<E> |
minmaxBy(java.lang.String methodName,
java.lang.Object... args)
Finds the min and max elements for outputs invoked by given method name.
|
<S> RubyArray<E> |
minmaxBy(TransformBlock<? super E,? extends S> block)
Finds the min and max elements for outputs transformed by the block.
|
boolean |
noneʔ()
Checks if elements contain only null objects.
|
boolean |
noneʔ(BooleanBlock<? super E> block)
Checks if elements contain only elements which are false returned by the
block.
|
boolean |
oneʔ()
Checks if elements contain only one element beside null.
|
boolean |
oneʔ(BooleanBlock<? super E> block)
Checks if elements contain only one element which are true returned by
the block.
|
N |
partition()
Returns an enumerator of elements.
|
RubyArray<RubyArray<E>> |
partition(BooleanBlock<? super E> block)
Divides elements into 2 groups by the given block.
|
<I> I |
reduce(I init,
java.lang.String methodName)
Equivalent to
inject(Object, String) . |
<I> I |
reduce(I init,
WithInitBlock<? super E,I> block)
Equivalent to
inject(Object, WithInitBlock) . |
E |
reduce(ReduceBlock<E> block)
Equivalent to
inject(ReduceBlock) . |
E |
reduce(java.lang.String methodName)
Equivalent to
inject(String) . |
N |
reject()
Returns an enumerator of elements.
|
Z |
reject(BooleanBlock<? super E> block)
Filters all elements which are true returned by the block.
|
N |
reverseEach()
Returns a reversed enumerator of elements.
|
RubyContract.Enumerable<E,N,Z> |
reverseEach(Block<? super E> block)
Iterates each element reversely by given block.
|
N |
select()
Returns an enumerator of elements.
|
Z |
select(BooleanBlock<? super E> block)
Equivalent to
findAll(BooleanBlock) |
N |
sliceBefore(BooleanBlock<? super E> block)
|
N |
sliceBefore(java.lang.String regex)
|
RubyArray<E> |
sort()
Sorts elements and puts them into a
RubyArray . |
N |
sortBy()
Returns an enumerator of elements.
|
<S> RubyArray<E> |
sortBy(java.util.Comparator<? super E> comp1,
java.util.Comparator<? super S> comp2,
TransformBlock<? super E,? extends S> block)
Sorts elements by the ordering of outputs transformed by the block
induced by the Comparator for S and applies the Comparator for E again
before puts them into a
RubyArray . |
<S> RubyArray<E> |
sortBy(java.util.Comparator<? super S> comp,
TransformBlock<? super E,? extends S> block)
Sorts elements by the ordering of outputs transformed by the block
induced by the Comparator, then puts them into a
RubyArray . |
<S> RubyArray<E> |
sortBy(java.lang.String methodName,
java.lang.Object... args)
Sorts elements by the ordering of the outputs invoked by given method
name, then puts them into a
RubyArray . |
<S> RubyArray<E> |
sortBy(TransformBlock<? super E,? extends S> block)
Sorts elements by the ordering of outputs transformed by the block, then
puts them into a
RubyArray . |
Z |
take(int n)
Takes the first n elements.
|
N |
takeWhile()
Returns an enumerator which contains only the first element.
|
Z |
takeWhile(BooleanBlock<? super E> block)
Takes elements until an element gets false returned by the block.
|
RubyArray<E> |
toA()
Puts all elements into a
RubyArray . |
Z |
zip(java.lang.Iterable<? extends E>... others)
Groups elements which get the same indices among all other Iterables into
RubyArray s. |
Z |
zip(java.util.List<? extends java.lang.Iterable<? extends E>> others)
Groups elements which get the same indices among all other Lists into
RubyArray s. |
void |
zip(java.util.List<? extends java.lang.Iterable<? extends E>> others,
Block<? super RubyArray<E>> block)
Groups elements which get the same indices among all other Iterables into
RubyArray s and yields them to the block. |
boolean allʔ()
boolean allʔ(BooleanBlock<? super E> block)
block
- to check elementsboolean anyʔ()
boolean anyʔ(BooleanBlock<? super E> block)
block
- to check elements<S> N chunk(TransformBlock<? super E,? extends S> block)
RubyArray
which contains
elements having the same result returned by the block and aside to each
other.S
- the type of transformed elementsblock
- to chunk elementsRubyContract.Enumerator
<S> N chunk(java.lang.String methodName, java.lang.Object... args)
RubyArray
which
contains elements having the same result returned by the block and aside
to each other.S
- the type of transformed elementsmethodName
- name of a Methodargs
- arguments of a MethodRubyContract.Enumerator
N collect()
RubyContract.Enumerator
<S> Z collect(TransformBlock<? super E,? extends S> block)
S
- the type of transformed elementsblock
- to transform elementsRubyContract.Enumerable
<S> Z collect(java.lang.String methodName, java.lang.Object... args)
S
- the type of transformed elementsmethodName
- name of a Methodargs
- arguments of a MethodRubyContract.Enumerable
N collectConcat()
RubyContract.Enumerator
<S> Z collectConcat(TransformBlock<? super E,? extends java.util.List<? extends S>> block)
S
- the type of transformed elementsblock
- to take element into a ListRubyContract.Enumerable
int count()
int count(BooleanBlock<? super E> block)
block
- to define elements to be countedN cycle()
RubyContract.Enumerator
N cycle(int n)
n
- times to repeatRubyContract.Enumerator
void cycle(int n, Block<? super E> block)
n
- times to repeatblock
- to yield each elementvoid cycle(Block<? super E> block)
block
- to yield each elementN detect()
RubyContract.Enumerator
E detect(BooleanBlock<? super E> block)
block
- to filter elementsZ drop(int n)
n
- number of elements to dropRubyContract.Enumerable
N dropWhile()
RubyContract.Enumerator
Z dropWhile(BooleanBlock<? super E> block)
block
- to define which elements to be droppedRubyContract.Enumerable
N each()
RubyContract.Enumerator
RubyContract.Enumerable<E,N,Z> each(Block<? super E> block)
block
- to yield each elementRubyContract.Enumerable
N eachCons(int n)
RubyArray
.n
- number of consecutive elementsRubyContract.Enumerator
void eachCons(int n, Block<? super RubyArray<E>> block)
n
- number of consecutive elementsblock
- to yield the List of consecutive elementsN eachEntry()
RubyContract.Enumerator
RubyContract.Enumerable<E,N,Z> eachEntry(Block<? super E> block)
block
- to yield each elementRubyContract.Enumerable
N eachSlice(int n)
RubyArray
s with length n.n
- size of each sliceRubyContract.Enumerator
void eachSlice(int n, Block<? super RubyArray<E>> block)
RubyArray
s with length n and yield them to
the block.n
- size of each sliceblock
- to yield each sliceN eachWithIndex()
RubyContract.Enumerator
RubyContract.Enumerable<E,N,Z> eachWithIndex(WithIndexBlock<? super E> block)
block
- to yield each elementRubyContract.Enumerable
<O> N eachWithObject(O obj)
O
- the type of transformed elementsobj
- an object ORubyContract.Enumerator
<O> O eachWithObject(O obj, WithObjectBlock<? super E,? super O> block)
O
- the type of transformed elementsobj
- an object Oblock
- to yield each EntryN find()
detect()
.RubyContract.Enumerator
E find(BooleanBlock<? super E> block)
detect(BooleanBlock)
.block
- to filter elementsN findAll()
RubyContract.Enumerator
Z findAll(BooleanBlock<? super E> block)
block
- to filter elementsRubyContract.Enumerable
N findIndex()
RubyContract.Enumerator
java.lang.Integer findIndex(BooleanBlock<? super E> block)
block
- to check elementsjava.lang.Integer findIndex(E target)
target
- to be foundE first()
RubyArray<E> first(int n)
n
- number of elementsRubyArray
java.lang.IllegalArgumentException
- if n is less than 0N flatMap()
collectConcat()
.RubyContract.Enumerator
<S> Z flatMap(TransformBlock<? super E,? extends java.util.List<? extends S>> block)
collectConcat(TransformBlock)
.S
- the type of transformed elementsblock
- to take element into a ListRubyContract.Enumerable
Z grep(java.lang.String regex)
regex
- regular expressionRubyContract.Enumerable
<S> Z grep(java.lang.String regex, TransformBlock<? super E,? extends S> block)
S
- the type of transformed elementsregex
- regular expressionblock
- to transform elementsRubyContract.Enumerable
<S> Z grep(java.lang.String regex, java.lang.String methodName, java.lang.Object... args)
S
- the type of transformed elementsregex
- regular expressionmethodName
- name of a Methodargs
- arguments of a MethodRubyContract.Enumerable
N groupBy()
RubyContract.Enumerator
<S> RubyHash<S,RubyArray<E>> groupBy(TransformBlock<? super E,? extends S> block)
RubyHash
.S
- the type of transformed elementsblock
- to group each elementRubyHash
<S> RubyHash<S,RubyArray<E>> groupBy(java.lang.String methodName, java.lang.Object... args)
RubyHash
.S
- the type of transformed elementsmethodName
- name of a Methodargs
- arguments of a MethodRubyHash
boolean includeʔ(E target)
target
- to be searchedE inject(ReduceBlock<E> block)
block
- to reduce each element<I> I inject(I init, WithInitBlock<? super E,I> block)
I
- the type of transformed elementsinit
- initial valueblock
- to reduce each element<I> I inject(I init, java.lang.String methodName)
I
- the type of transformed elementsinit
- initial valuemethodName
- method used to reduce elementsjava.lang.IllegalArgumentException
- if method not foundjava.lang.RuntimeException
- if invocation failedE inject(java.lang.String methodName)
methodName
- method used to reduce elementsjava.lang.IllegalArgumentException
- if method not foundjava.lang.RuntimeException
- if invocation failedRubyLazyEnumerator<E> lazy()
RubyLazyEnumerator
.RubyLazyEnumerator
N map()
RubyContract.Enumerator
<S> Z map(TransformBlock<? super E,? extends S> block)
collect(TransformBlock)
.S
- the type of transformed elementsblock
- to transform elementsRubyContract.Enumerable
<S> Z map(java.lang.String methodName, java.lang.Object... args)
collect(String, Object...)
.S
- the type of transformed elementsmethodName
- name of a Methodargs
- arguments of a MethodRubyContract.Enumerable
E max()
E max(java.util.Comparator<? super E> comp)
comp
- a ComparatorN maxBy()
RubyContract.Enumerator
<S> E maxBy(java.util.Comparator<? super S> comp, TransformBlock<? super E,? extends S> block)
S
- the type of transformed elementscomp
- a Comparatorblock
- to transform elements<S> E maxBy(TransformBlock<? super E,? extends S> block)
S
- the type of transformed elementsblock
- to transform elements<S> E maxBy(java.lang.String methodName, java.lang.Object... args)
S
- the type of transformed elementsmethodName
- name of a Methodargs
- arguments of a Methodboolean memberʔ(E target)
includeʔ(Object)
.target
- to be foundE min()
E min(java.util.Comparator<? super E> comp)
comp
- a ComparatorN minBy()
RubyContract.Enumerator
<S> E minBy(java.util.Comparator<? super S> comp, TransformBlock<? super E,? extends S> block)
S
- the type of transformed elementscomp
- a Comparatorblock
- to transform elements<S> E minBy(TransformBlock<? super E,? extends S> block)
S
- the type of transformed elementsblock
- to transform elements<S> E minBy(java.lang.String methodName, java.lang.Object... args)
S
- the type of transformed elementsmethodName
- name of a Methodargs
- arguments of a MethodRubyArray<E> minmax(java.util.Comparator<? super E> comp)
comp
- a ComparatorRubyArray
N minmaxBy()
RubyContract.Enumerator
<S> RubyArray<E> minmaxBy(java.util.Comparator<? super S> comp, TransformBlock<? super E,? extends S> block)
S
- the type of transformed elementscomp
- a Comparatorblock
- to transform elementsRubyArray
<S> RubyArray<E> minmaxBy(TransformBlock<? super E,? extends S> block)
S
- the type of transformed elementsblock
- to transform elementsRubyArray
<S> RubyArray<E> minmaxBy(java.lang.String methodName, java.lang.Object... args)
S
- the type of transformed elementsmethodName
- name of a Methodargs
- arguments of a MethodRubyArray
boolean noneʔ()
boolean noneʔ(BooleanBlock<? super E> block)
block
- to check elementsboolean oneʔ()
boolean oneʔ(BooleanBlock<? super E> block)
block
- to check elementsN partition()
RubyContract.Enumerator
RubyArray<RubyArray<E>> partition(BooleanBlock<? super E> block)
E reduce(ReduceBlock<E> block)
inject(ReduceBlock)
.block
- to reduce each element<I> I reduce(I init, WithInitBlock<? super E,I> block)
inject(Object, WithInitBlock)
.I
- the type of transformed elementsinit
- initial valueblock
- to reduce each element<I> I reduce(I init, java.lang.String methodName)
inject(Object, String)
.I
- the type of transformed elementsinit
- initial valuemethodName
- method used to reduce elementsjava.lang.IllegalArgumentException
- if method not foundjava.lang.RuntimeException
- if invocation failedE reduce(java.lang.String methodName)
inject(String)
.methodName
- method used to reduce elementsjava.lang.IllegalArgumentException
- if method not foundjava.lang.RuntimeException
- if invocation failedN reject()
RubyContract.Enumerator
Z reject(BooleanBlock<? super E> block)
block
- to filter elementsRubyContract.Enumerable
N reverseEach()
RubyContract.Enumerator
RubyContract.Enumerable<E,N,Z> reverseEach(Block<? super E> block)
block
- to yield each elementRubyContract.Enumerable
N select()
RubyContract.Enumerator
Z select(BooleanBlock<? super E> block)
findAll(BooleanBlock)
block
- to filter elementsRubyContract.Enumerable
N sliceBefore(BooleanBlock<? super E> block)
RubyArray
s and the first element of each
RubyArray
should get true returned by the block.block
- to check where to do sliceRubyContract.Enumerator
N sliceBefore(java.lang.String regex)
RubyArray
s and the first element of each
RubyArray
should be matched by the regex.regex
- to check where to do sliceRubyContract.Enumerator
RubyArray<E> sort()
RubyArray
.RubyArray
java.lang.IllegalArgumentException
- when any 2 elements are not comparableN sortBy()
RubyContract.Enumerator
<S> RubyArray<E> sortBy(java.util.Comparator<? super S> comp, TransformBlock<? super E,? extends S> block)
RubyArray
.S
- the type of transformed elementscomp
- a Comparatorblock
- to transform elementsRubyArray
<S> RubyArray<E> sortBy(java.util.Comparator<? super E> comp1, java.util.Comparator<? super S> comp2, TransformBlock<? super E,? extends S> block)
RubyArray
.S
- the type of transformed elementscomp1
- a Comparator for Ecomp2
- a Comparator for Sblock
- to transform elementsRubyArray
<S> RubyArray<E> sortBy(TransformBlock<? super E,? extends S> block)
RubyArray
.S
- the type of transformed elementsblock
- to transform elementsRubyArray
<S> RubyArray<E> sortBy(java.lang.String methodName, java.lang.Object... args)
RubyArray
.methodName
- name of a Methodargs
- arguments of a MethodRubyArray
Z take(int n)
n
- number of elementsRubyContract.Enumerable
N takeWhile()
RubyContract.Enumerator
Z takeWhile(BooleanBlock<? super E> block)
block
- to filter elementsRubyContract.Enumerable
Z zip(java.lang.Iterable<? extends E>... others)
RubyArray
s.others
- an array of IterableRubyContract.Enumerable
Z zip(java.util.List<? extends java.lang.Iterable<? extends E>> others)
RubyArray
s.others
- a List of IterableRubyContract.Enumerable
void zip(java.util.List<? extends java.lang.Iterable<? extends E>> others, Block<? super RubyArray<E>> block)
RubyArray
s and yields them to the block.others
- a List of Iterablesblock
- to yield zipped elements