public class ClassStream extends java.lang.Object implements java.util.stream.Stream<MirrorClass<?>>
MirrorClass
es that provides helper operationsConstructor and Description |
---|
ClassStream(java.util.stream.Stream<MirrorClass<?>> underlying)
Creates a new class stream based on the given underlying stream
|
Modifier and Type | Method and Description |
---|---|
boolean |
allMatch(java.util.function.Predicate<? super MirrorClass<?>> predicate) |
boolean |
anyMatch(java.util.function.Predicate<? super MirrorClass<?>> predicate) |
void |
close() |
<R,A> R |
collect(java.util.stream.Collector<? super MirrorClass<?>,A,R> collector) |
<R> R |
collect(java.util.function.Supplier<R> supplier,
java.util.function.BiConsumer<R,? super MirrorClass<?>> accumulator,
java.util.function.BiConsumer<R,R> combiner) |
long |
count() |
ClassStream |
distinct() |
ClassStream |
filter(java.util.function.Predicate<? super MirrorClass<?>> predicate) |
java.util.Optional<MirrorClass<?>> |
findAny() |
java.util.Optional<MirrorClass<?>> |
findFirst() |
<R> java.util.stream.Stream<R> |
flatMap(java.util.function.Function<? super MirrorClass<?>,? extends java.util.stream.Stream<? extends R>> mapper) |
FieldStream |
flatMapToDeclaredFields()
Flat maps this stream of classes to all the declared fields in each class
|
MethodStream |
flatMapToDeclaredMethods()
Flat maps this stream to the declared methods of each class
|
java.util.stream.DoubleStream |
flatMapToDouble(java.util.function.Function<? super MirrorClass<?>,? extends java.util.stream.DoubleStream> mapper) |
FieldStream |
flatMapToFields()
Flat maps this stream of classes to all the fields in each class
|
java.util.stream.IntStream |
flatMapToInt(java.util.function.Function<? super MirrorClass<?>,? extends java.util.stream.IntStream> mapper) |
ClassStream |
flatMapToInterfaces()
Flat maps this stream to the interfaces implemented by each class
|
java.util.stream.LongStream |
flatMapToLong(java.util.function.Function<? super MirrorClass<?>,? extends java.util.stream.LongStream> mapper) |
MethodStream |
flatMapToMethods()
Flat maps this stream to the methods of each class
|
void |
forEach(java.util.function.Consumer<? super MirrorClass<?>> action) |
void |
forEachOrdered(java.util.function.Consumer<? super MirrorClass<?>> action) |
<A extends java.lang.annotation.Annotation> |
getAnnotation(java.lang.Class<A> clazz)
Maps this stream of classes to the given annotation on each class, excluding classes that don't have the annotation
|
ClassStream |
hasAnnotation(java.lang.Class<? extends java.lang.annotation.Annotation> clazz)
Filters this stream of classes by if the class has the given annotation
|
ClassStream |
isInner()
Filters this stream by if the class is an inner class
|
ClassStream |
isInterface()
Filters this stream by if the class is an interface
|
ClassStream |
isNotInner()
Filters this stream by if the class is not an inner class
|
ClassStream |
isNotInterface()
Filters this stream by if the class is not an interface
|
boolean |
isParallel() |
ClassStream |
isSubClassOf(java.lang.Class<?> clazz)
Filters this stream by if the class is a sub-class of the given class
|
ClassStream |
isSubClassOf(MirrorClass<?> clazz)
Filters this stream by if the class is a sub-class of the given class
|
ClassStream |
isSuperClassOf(java.lang.Class<?> clazz)
Filters this stream by if the class is a super-class of the given class
|
ClassStream |
isSuperClassOf(MirrorClass<?> clazz)
Filters this stream by if the class is a super-class of the given class
|
java.util.Iterator<MirrorClass<?>> |
iterator() |
ClassStream |
limit(long maxSize) |
<R> java.util.stream.Stream<R> |
map(java.util.function.Function<? super MirrorClass<?>,? extends R> mapper) |
FieldStream |
mapToDeclaredField(java.lang.String... names)
Maps this stream of classes to the declared field with the given name
|
MethodStream |
mapToDeclaredMethod(java.lang.String[] names,
java.lang.Class<?>... args)
Maps this stream of classes to the declared method with the given name and the given arguments
|
MethodStream |
mapToDeclaredMethod(java.lang.String name,
java.lang.Class<?>... args)
Maps this stream of classes to the declared method with the given name and the given arguments
|
java.util.stream.DoubleStream |
mapToDouble(java.util.function.ToDoubleFunction<? super MirrorClass<?>> mapper) |
FieldStream |
mapToField(java.lang.String... names)
Maps this stream of classes to the field with given name
|
java.util.stream.IntStream |
mapToInt(java.util.function.ToIntFunction<? super MirrorClass<?>> mapper) |
java.util.stream.LongStream |
mapToLong(java.util.function.ToLongFunction<? super MirrorClass<?>> mapper) |
MethodStream |
mapToMethod(java.lang.String[] names,
java.lang.Class<?>... args)
Maps this stream of classes to the method with the given name and the given arguments
|
MethodStream |
mapToMethod(java.lang.String name,
java.lang.Class<?>... args)
Maps this stream of classes to the method with the given name and the given arguments
|
ClassStream |
mapToSuperClass()
Maps this stream to each class' super-class
|
java.util.Optional<MirrorClass<?>> |
max(java.util.Comparator<? super MirrorClass<?>> comparator) |
java.util.Optional<MirrorClass<?>> |
min(java.util.Comparator<? super MirrorClass<?>> comparator) |
boolean |
noneMatch(java.util.function.Predicate<? super MirrorClass<?>> predicate) |
ClassStream |
onClose(java.lang.Runnable closeHandler) |
ClassStream |
parallel() |
ClassStream |
peek(java.util.function.Consumer<? super MirrorClass<?>> action) |
java.util.Optional<MirrorClass<?>> |
reduce(java.util.function.BinaryOperator<MirrorClass<?>> accumulator) |
MirrorClass<?> |
reduce(MirrorClass<?> identity,
java.util.function.BinaryOperator<MirrorClass<?>> accumulator) |
<U> U |
reduce(U identity,
java.util.function.BiFunction<U,? super MirrorClass<?>,U> accumulator,
java.util.function.BinaryOperator<U> combiner) |
ClassStream |
sequential() |
ClassStream |
skip(long n) |
ClassStream |
sorted() |
ClassStream |
sorted(java.util.Comparator<? super MirrorClass<?>> comparator) |
java.util.Spliterator<MirrorClass<?>> |
spliterator() |
java.lang.Object[] |
toArray() |
<A> A[] |
toArray(java.util.function.IntFunction<A[]> generator) |
ClassStream |
unordered() |
java.util.stream.Stream<java.lang.Class<?>> |
unwrap()
Maps this stream of
MirrorClass es to a stream of unwrapped Class es |
public ClassStream(java.util.stream.Stream<MirrorClass<?>> underlying)
underlying
- The underlying stream to use for all stream operationspublic java.util.stream.Stream<java.lang.Class<?>> unwrap()
MirrorClass
es to a stream of unwrapped Class
espublic ClassStream isInner()
public ClassStream isNotInner()
public ClassStream isSubClassOf(java.lang.Class<?> clazz)
clazz
- The class to filter bypublic ClassStream isSubClassOf(MirrorClass<?> clazz)
clazz
- The class to filter bypublic ClassStream isSuperClassOf(java.lang.Class<?> clazz)
clazz
- The class to filter bypublic ClassStream isSuperClassOf(MirrorClass<?> clazz)
clazz
- The class to filter bypublic ClassStream isInterface()
public ClassStream isNotInterface()
public ClassStream mapToSuperClass()
public ClassStream flatMapToInterfaces()
public ClassStream hasAnnotation(java.lang.Class<? extends java.lang.annotation.Annotation> clazz)
clazz
- The annotation classpublic <A extends java.lang.annotation.Annotation> java.util.stream.Stream<A> getAnnotation(java.lang.Class<A> clazz)
A
- The annotation typeclazz
- The annotation classpublic FieldStream mapToField(java.lang.String... names)
names
- The names of the field to search forMirrorClass.field(String...)
public FieldStream mapToDeclaredField(java.lang.String... names)
names
- The names of the field to search forMirrorClass.declaredField(String...)
public FieldStream flatMapToFields()
public FieldStream flatMapToDeclaredFields()
public MethodStream mapToMethod(java.lang.String[] names, java.lang.Class<?>... args)
names
- The names of the methods to search forargs
- The types of the arguments that the method takesMirrorClass.method(String[], Class[])
public MethodStream mapToMethod(java.lang.String name, java.lang.Class<?>... args)
name
- The name of the methodsargs
- The types of the arguments that the method takespublic MethodStream mapToDeclaredMethod(java.lang.String[] names, java.lang.Class<?>... args)
names
- The names of the methods to search forargs
- The types of the arguments that the method takespublic MethodStream mapToDeclaredMethod(java.lang.String name, java.lang.Class<?>... args)
name
- The name of the methodsargs
- The types of the arguments that the method takespublic MethodStream flatMapToMethods()
public MethodStream flatMapToDeclaredMethods()
public ClassStream filter(java.util.function.Predicate<? super MirrorClass<?>> predicate)
filter
in interface java.util.stream.Stream<MirrorClass<?>>
public <R> java.util.stream.Stream<R> map(java.util.function.Function<? super MirrorClass<?>,? extends R> mapper)
map
in interface java.util.stream.Stream<MirrorClass<?>>
public java.util.stream.IntStream mapToInt(java.util.function.ToIntFunction<? super MirrorClass<?>> mapper)
mapToInt
in interface java.util.stream.Stream<MirrorClass<?>>
public java.util.stream.LongStream mapToLong(java.util.function.ToLongFunction<? super MirrorClass<?>> mapper)
mapToLong
in interface java.util.stream.Stream<MirrorClass<?>>
public java.util.stream.DoubleStream mapToDouble(java.util.function.ToDoubleFunction<? super MirrorClass<?>> mapper)
mapToDouble
in interface java.util.stream.Stream<MirrorClass<?>>
public <R> java.util.stream.Stream<R> flatMap(java.util.function.Function<? super MirrorClass<?>,? extends java.util.stream.Stream<? extends R>> mapper)
flatMap
in interface java.util.stream.Stream<MirrorClass<?>>
public java.util.stream.IntStream flatMapToInt(java.util.function.Function<? super MirrorClass<?>,? extends java.util.stream.IntStream> mapper)
flatMapToInt
in interface java.util.stream.Stream<MirrorClass<?>>
public java.util.stream.LongStream flatMapToLong(java.util.function.Function<? super MirrorClass<?>,? extends java.util.stream.LongStream> mapper)
flatMapToLong
in interface java.util.stream.Stream<MirrorClass<?>>
public java.util.stream.DoubleStream flatMapToDouble(java.util.function.Function<? super MirrorClass<?>,? extends java.util.stream.DoubleStream> mapper)
flatMapToDouble
in interface java.util.stream.Stream<MirrorClass<?>>
public ClassStream distinct()
distinct
in interface java.util.stream.Stream<MirrorClass<?>>
public ClassStream sorted()
sorted
in interface java.util.stream.Stream<MirrorClass<?>>
public ClassStream sorted(java.util.Comparator<? super MirrorClass<?>> comparator)
sorted
in interface java.util.stream.Stream<MirrorClass<?>>
public ClassStream peek(java.util.function.Consumer<? super MirrorClass<?>> action)
peek
in interface java.util.stream.Stream<MirrorClass<?>>
public ClassStream limit(long maxSize)
limit
in interface java.util.stream.Stream<MirrorClass<?>>
public ClassStream skip(long n)
skip
in interface java.util.stream.Stream<MirrorClass<?>>
public void forEach(java.util.function.Consumer<? super MirrorClass<?>> action)
forEach
in interface java.util.stream.Stream<MirrorClass<?>>
public void forEachOrdered(java.util.function.Consumer<? super MirrorClass<?>> action)
forEachOrdered
in interface java.util.stream.Stream<MirrorClass<?>>
public java.lang.Object[] toArray()
toArray
in interface java.util.stream.Stream<MirrorClass<?>>
public <A> A[] toArray(java.util.function.IntFunction<A[]> generator)
toArray
in interface java.util.stream.Stream<MirrorClass<?>>
public MirrorClass<?> reduce(MirrorClass<?> identity, java.util.function.BinaryOperator<MirrorClass<?>> accumulator)
reduce
in interface java.util.stream.Stream<MirrorClass<?>>
public java.util.Optional<MirrorClass<?>> reduce(java.util.function.BinaryOperator<MirrorClass<?>> accumulator)
reduce
in interface java.util.stream.Stream<MirrorClass<?>>
public <U> U reduce(U identity, java.util.function.BiFunction<U,? super MirrorClass<?>,U> accumulator, java.util.function.BinaryOperator<U> combiner)
reduce
in interface java.util.stream.Stream<MirrorClass<?>>
public <R> R collect(java.util.function.Supplier<R> supplier, java.util.function.BiConsumer<R,? super MirrorClass<?>> accumulator, java.util.function.BiConsumer<R,R> combiner)
collect
in interface java.util.stream.Stream<MirrorClass<?>>
public <R,A> R collect(java.util.stream.Collector<? super MirrorClass<?>,A,R> collector)
collect
in interface java.util.stream.Stream<MirrorClass<?>>
public java.util.Optional<MirrorClass<?>> min(java.util.Comparator<? super MirrorClass<?>> comparator)
min
in interface java.util.stream.Stream<MirrorClass<?>>
public java.util.Optional<MirrorClass<?>> max(java.util.Comparator<? super MirrorClass<?>> comparator)
max
in interface java.util.stream.Stream<MirrorClass<?>>
public long count()
count
in interface java.util.stream.Stream<MirrorClass<?>>
public boolean anyMatch(java.util.function.Predicate<? super MirrorClass<?>> predicate)
anyMatch
in interface java.util.stream.Stream<MirrorClass<?>>
public boolean allMatch(java.util.function.Predicate<? super MirrorClass<?>> predicate)
allMatch
in interface java.util.stream.Stream<MirrorClass<?>>
public boolean noneMatch(java.util.function.Predicate<? super MirrorClass<?>> predicate)
noneMatch
in interface java.util.stream.Stream<MirrorClass<?>>
public java.util.Optional<MirrorClass<?>> findFirst()
findFirst
in interface java.util.stream.Stream<MirrorClass<?>>
public java.util.Optional<MirrorClass<?>> findAny()
findAny
in interface java.util.stream.Stream<MirrorClass<?>>
public java.util.Iterator<MirrorClass<?>> iterator()
iterator
in interface java.util.stream.BaseStream<MirrorClass<?>,java.util.stream.Stream<MirrorClass<?>>>
public java.util.Spliterator<MirrorClass<?>> spliterator()
spliterator
in interface java.util.stream.BaseStream<MirrorClass<?>,java.util.stream.Stream<MirrorClass<?>>>
public boolean isParallel()
isParallel
in interface java.util.stream.BaseStream<MirrorClass<?>,java.util.stream.Stream<MirrorClass<?>>>
public ClassStream sequential()
sequential
in interface java.util.stream.BaseStream<MirrorClass<?>,java.util.stream.Stream<MirrorClass<?>>>
public ClassStream parallel()
parallel
in interface java.util.stream.BaseStream<MirrorClass<?>,java.util.stream.Stream<MirrorClass<?>>>
public ClassStream unordered()
unordered
in interface java.util.stream.BaseStream<MirrorClass<?>,java.util.stream.Stream<MirrorClass<?>>>
public ClassStream onClose(java.lang.Runnable closeHandler)
onClose
in interface java.util.stream.BaseStream<MirrorClass<?>,java.util.stream.Stream<MirrorClass<?>>>
public void close()
close
in interface java.lang.AutoCloseable
close
in interface java.util.stream.BaseStream<MirrorClass<?>,java.util.stream.Stream<MirrorClass<?>>>