001package io.prometheus.client.exporter;
002
003import io.prometheus.client.Predicate;
004import io.prometheus.client.Supplier;
005
006/**
007 * For convenience, an implementation of a {@code Supplier<Predicate<String>>} that
008 * always returns the same sampleNameFilter.
009 */
010public class SampleNameFilterSupplier implements Supplier<Predicate<String>> {
011
012    private final Predicate<String> sampleNameFilter;
013
014    public static SampleNameFilterSupplier of(Predicate<String> sampleNameFilter) {
015        return new SampleNameFilterSupplier(sampleNameFilter);
016    }
017
018    private SampleNameFilterSupplier(Predicate<String> sampleNameFilter) {
019        this.sampleNameFilter = sampleNameFilter;
020    }
021
022    @Override
023    public Predicate<String> get() {
024        return sampleNameFilter;
025    }
026}