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

com.ringcentral.platform.metrics.MetricModBuilder Maven / Gradle / Ivy

package com.ringcentral.platform.metrics;

import com.ringcentral.platform.metrics.configs.builders.*;
import com.ringcentral.platform.metrics.counter.configs.CounterConfig;
import com.ringcentral.platform.metrics.histogram.configs.HistogramConfig;
import com.ringcentral.platform.metrics.rate.configs.RateConfig;
import com.ringcentral.platform.metrics.timer.configs.TimerConfig;
import com.ringcentral.platform.metrics.var.configs.builders.*;

public class MetricModBuilder {

    private MetricConfigBuilderProvider metricConfigBuilderProvider;
    private MetricConfigBuilderProvider varConfigBuilderProvider;
    private MetricConfigBuilderProvider cachingVarConfigBuilderProvider;
    private MetricConfigBuilderProvider meterConfigBuilderProvider;
    private MetricConfigBuilderProvider> counterConfigBuilderProvider;
    private MetricConfigBuilderProvider> rateConfigBuilderProvider;
    private MetricConfigBuilderProvider> histogramConfigBuilderProvider;
    private MetricConfigBuilderProvider> timerConfigBuilderProvider;

    public static MetricModBuilder metricMod() {
        return metricModBuilder();
    }

    public static MetricModBuilder modifying() {
        return metricModBuilder();
    }

    public static MetricModBuilder metricModBuilder() {
        return new MetricModBuilder();
    }

    public MetricModBuilder metric(MetricConfigBuilderProvider metricConfigBuilderProvider) {
        this.metricConfigBuilderProvider = metricConfigBuilderProvider;
        return this;
    }

    public MetricModBuilder variable(MetricConfigBuilderProvider varConfigBuilderProvider) {
        this.varConfigBuilderProvider = varConfigBuilderProvider;
        return this;
    }

    public MetricModBuilder cachingVar(MetricConfigBuilderProvider cachingVarConfigBuilderProvider) {
        this.cachingVarConfigBuilderProvider = cachingVarConfigBuilderProvider;
        return this;
    }

    public MetricModBuilder meter(MetricConfigBuilderProvider meterConfigBuilderProvider) {
        this.meterConfigBuilderProvider = meterConfigBuilderProvider;
        return this;
    }

    public MetricModBuilder counter(MetricConfigBuilderProvider> counterConfigBuilderProvider) {
        this.counterConfigBuilderProvider = counterConfigBuilderProvider;
        return this;
    }

    public MetricModBuilder rate(MetricConfigBuilderProvider> rateConfigBuilderProvider) {
        this.rateConfigBuilderProvider = rateConfigBuilderProvider;
        return this;
    }

    public MetricModBuilder histogram(MetricConfigBuilderProvider> histogramConfigBuilderProvider) {
        this.histogramConfigBuilderProvider = histogramConfigBuilderProvider;
        return this;
    }

    public MetricModBuilder timer(MetricConfigBuilderProvider> timerConfigBuilderProvider) {
        this.timerConfigBuilderProvider = timerConfigBuilderProvider;
        return this;
    }

    public MetricMod build() {
        return new MetricMod(
            metricConfigBuilderProvider,
            varConfigBuilderProvider,
            cachingVarConfigBuilderProvider,
            meterConfigBuilderProvider,
            counterConfigBuilderProvider,
            rateConfigBuilderProvider,
            histogramConfigBuilderProvider,
            timerConfigBuilderProvider);
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy