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

net.openhft.chronicle.testframework.internal.apimetrics.StandardApiMetrics Maven / Gradle / Ivy

package net.openhft.chronicle.testframework.internal.apimetrics;

import net.openhft.chronicle.testframework.apimetrics.Accumulator;
import net.openhft.chronicle.testframework.apimetrics.ApiMetrics;

import java.util.LinkedHashSet;
import java.util.Objects;
import java.util.Set;
import java.util.stream.Collectors;
import java.util.stream.Stream;

import static java.util.Objects.requireNonNull;

public final class StandardApiMetrics implements ApiMetrics {

    private final Set accumulators;
    private final Set internalAccumulators;

    public StandardApiMetrics(final Set accumulators,
                              final Set internalAccumulators) {
        requireNonNull(accumulators);
        requireNonNull(internalAccumulators);
        this.accumulators = new LinkedHashSet<>(accumulators);
        this.internalAccumulators = new LinkedHashSet<>(internalAccumulators);
    }

    @Override
    public Stream accumulators() {
        return accumulators.stream();
    }

    @Override
    public Stream internalAccumulators() {
        return internalAccumulators.stream();
    }

    @Override
    public String toString() {
        return accumulators.stream()
                .map(Objects::toString)
                .collect(Collectors.joining(String.format("%n")));
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy