All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.jenetics.engine.StreamProxy Maven / Gradle / Ivy

/*
 * Java Genetic Algorithm Library (jenetics-3.4.0).
 * Copyright (c) 2007-2016 Franz Wilhelmstötter
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *
 * Author:
 *    Franz Wilhelmstötter ([email protected])
 */
package org.jenetics.engine;

import static java.util.Objects.requireNonNull;

import java.util.Comparator;
import java.util.Iterator;
import java.util.Optional;
import java.util.Spliterator;
import java.util.function.BiConsumer;
import java.util.function.BiFunction;
import java.util.function.BinaryOperator;
import java.util.function.Consumer;
import java.util.function.Function;
import java.util.function.IntFunction;
import java.util.function.Predicate;
import java.util.function.Supplier;
import java.util.function.ToDoubleFunction;
import java.util.function.ToIntFunction;
import java.util.function.ToLongFunction;
import java.util.stream.Collector;
import java.util.stream.DoubleStream;
import java.util.stream.IntStream;
import java.util.stream.LongStream;
import java.util.stream.Stream;

/**
 * @author Franz Wilhelmstötter
 * @since 3.0
 * @version 3.0
 */
abstract class StreamProxy implements Stream {

	private final Stream _self;

	StreamProxy(final Stream self) {
		_self = requireNonNull(self);
	}

	@Override
	public Stream limit(final long maxSize) {
		return _self.limit(maxSize);
	}

	@Override
	public Stream
	filter(final Predicate predicate) {
		return _self.filter(predicate);
	}

	public boolean
	allMatch(final Predicate predicate) {
		return _self.allMatch(predicate);
	}

	@Override
	public boolean
	anyMatch(final Predicate predicate) {
		return _self.anyMatch(predicate);
	}

	@Override
	public  R
	collect(final Collector collector) {
		return _self.collect(collector);
	}

	@Override
	public  R collect(
		final Supplier supplier,
		final BiConsumer accumulator,
		final BiConsumer combiner
	) {
		return _self.collect(supplier, accumulator, combiner);
	}

	@Override
	public long count() {
		return _self.count();
	}

	@Override
	public Stream distinct() {
		return _self.distinct();
	}

	@Override
	public Optional findAny() {
		return _self.findAny();
	}

	@Override
	public Optional findFirst() {
		return _self.findFirst();
	}

	@Override
	public  Stream flatMap(
		final Function> mapper
	) {
		return _self.flatMap(mapper);
	}

	@Override
	public DoubleStream flatMapToDouble(
		final Function mapper
	) {
		return _self.flatMapToDouble(mapper);
	}

	@Override
	public IntStream flatMapToInt(
		final Function mapper
	) {
		return _self.flatMapToInt(mapper);
	}

	@Override
	public LongStream flatMapToLong(
		final Function mapper
	) {
		return _self.flatMapToLong(mapper);
	}

	@Override
	public void forEach(final Consumer action) {
		_self.forEach(action);
	}

	@Override
	public void forEachOrdered(final Consumer action) {
		_self.forEachOrdered(action);
	}

	@Override
	public  Stream map(
		final Function mapper
	) {
		return _self.map(mapper);
	}

	@Override
	public DoubleStream mapToDouble(
		final ToDoubleFunction mapper
	) {
		return _self.mapToDouble(mapper);
	}

	@Override
	public IntStream mapToInt(
		final ToIntFunction mapper
	) {
		return _self.mapToInt(mapper);
	}

	@Override
	public LongStream mapToLong(
		final ToLongFunction mapper
	) {
		return _self.mapToLong(mapper);
	}

	@Override
	public Optional max(
		final Comparator comparator
	) {
		return _self.max(comparator);
	}

	@Override
	public Optional min(
		final Comparator comparator
	) {
		return _self.min(comparator);
	}

	@Override
	public boolean noneMatch(
		final Predicate predicate
	) {
		return _self.noneMatch(predicate);
	}

	@Override
	public Stream peek(
		final Consumer action
	) {
		return _self.peek(action);
	}

	@Override
	public Optional reduce(
		final BinaryOperator accumulator
	) {
		return _self.reduce(accumulator);
	}

	@Override
	public T reduce(
		final T identity,
		final BinaryOperator accumulator
	) {
		return _self.reduce(identity, accumulator);
	}

	@Override
	public  U reduce(
		final U identity,
		final BiFunction accumulator,
		final BinaryOperator combiner
	) {
		return _self.reduce(identity, accumulator, combiner);
	}

	@Override
	public Stream skip(final long n) {
		return _self.skip(n);
	}

	@Override
	public Stream sorted() {
		return _self.sorted();
	}

	@Override
	public Stream sorted(
		final Comparator comparator
	) {
		return _self.sorted(comparator);
	}

	@Override
	public Object[] toArray() {
		return _self.toArray();
	}

	@Override
	public  A[] toArray(IntFunction generator) {
		return _self.toArray(generator);
	}

	@Override
	public void close() {
		_self.close();
	}

	@Override
	public boolean isParallel() {
		return _self.isParallel();
	}

	@Override
	public Iterator iterator() {
		return _self.iterator();
	}

	@Override
	public Stream onClose(final Runnable closeHandler) {
		return _self.onClose(closeHandler);
	}

	@Override
	public Stream parallel() {
		return _self.parallel();
	}

	@Override
	public Stream sequential() {
		return _self.sequential();
	}

	@Override
	public Spliterator spliterator() {
		return _self.spliterator();
	}

	@Override
	public Stream unordered() {
		return _self.unordered();
	}

}