package rocks.inspectit.agent.java.tracing.core.adapter.empty; import java.util.Collections; import java.util.Map; import io.opentracing.propagation.Format; import io.opentracing.propagation.TextMap; import rocks.inspectit.agent.java.tracing.core.adapter.ClientRequestAdapter; import rocks.inspectit.agent.java.tracing.core.adapter.ServerRequestAdapter; import rocks.inspectit.shared.all.tracing.data.PropagationType; /** * Empty request adapter can be used as {@link ServerRequestAdapter} or * {@link ClientRequestAdapter}. It provides no information and it's baggage carriers can not inject * nor extract data. * <p> * This adapter is used for the * {@link rocks.inspectit.agent.java.sensor.method.remote.server.manual.ManualRemoteServerSensor}, * since this type of the sensor is manually placed by the user and we can not provide any data. * * @author Ivan Senic * */ public final class EmptyRequestAdapter implements ServerRequestAdapter<TextMap>, ClientRequestAdapter<TextMap> { /** * Static instance for usage. */ public static final EmptyRequestAdapter INSTANCE = new EmptyRequestAdapter(); /** * Private constructor, use {@link #INSTANCE}. */ private EmptyRequestAdapter() { } /** * {@inheritDoc} */ @Override public boolean startClientSpan() { return true; } /** * {@inheritDoc} */ @Override public PropagationType getPropagationType() { return null; } /** * {@inheritDoc} */ @Override public String getReferenceType() { return null; } /** * {@inheritDoc} */ @Override public Map<String, String> getTags() { return Collections.emptyMap(); } /** * {@inheritDoc} */ @Override public Format<TextMap> getFormat() { return null; } /** * {@inheritDoc} */ @Override public TextMap getCarrier() { return null; } }