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

org.zalando.riptide.opentracing.Lifecycle Maven / Gradle / Ivy

package org.zalando.riptide.opentracing;

import io.opentracing.Span;
import io.opentracing.Tracer;
import org.apiguardian.api.API;
import org.zalando.riptide.RequestArguments;

import java.util.Arrays;
import java.util.Collection;
import java.util.Optional;

import static org.apiguardian.api.API.Status.EXPERIMENTAL;

@API(status = EXPERIMENTAL)
public interface Lifecycle {

    Optional start(Tracer tracer, RequestArguments arguments);

    static Lifecycle composite(final Lifecycle... lifecyclePolicies) {
        return composite(Arrays.asList(lifecyclePolicies));
    }

    static Lifecycle composite(final Collection lifecyclePolicies) {
        return new CompositeLifecycle(lifecyclePolicies);
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy