// 
// Decompiled by Procyon v0.6.0
// 

package io.sentry;

import io.sentry.protocol.Contexts;
import io.sentry.protocol.SentryId;
import java.util.Collections;
import java.util.List;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.annotations.ApiStatus;
import io.sentry.protocol.TransactionNameSource;
import org.jetbrains.annotations.NotNull;

public final class NoOpTransaction implements ITransaction
{
    private static final NoOpTransaction instance;
    
    private NoOpTransaction() {
    }
    
    public static NoOpTransaction getInstance() {
        return NoOpTransaction.instance;
    }
    
    @Override
    public void setName(@NotNull final String name) {
    }
    
    @ApiStatus.Internal
    @Override
    public void setName(@NotNull final String name, @NotNull final TransactionNameSource transactionNameSource) {
    }
    
    @NotNull
    @Override
    public String getName() {
        return "";
    }
    
    @NotNull
    @Override
    public TransactionNameSource getTransactionNameSource() {
        return TransactionNameSource.CUSTOM;
    }
    
    @NotNull
    @Override
    public ISpan startChild(@NotNull final String operation) {
        return NoOpSpan.getInstance();
    }
    
    @NotNull
    @Override
    public ISpan startChild(@NotNull final String operation, @Nullable final String description, @NotNull final SpanOptions spanOptions) {
        return NoOpSpan.getInstance();
    }
    
    @NotNull
    @Override
    public ISpan startChild(@NotNull final SpanContext spanContext, @NotNull final SpanOptions spanOptions) {
        return NoOpSpan.getInstance();
    }
    
    @NotNull
    @Override
    public ISpan startChild(@NotNull final String operation, @Nullable final String description, @Nullable final SentryDate timestamp, @NotNull final Instrumenter instrumenter) {
        return NoOpSpan.getInstance();
    }
    
    @NotNull
    @Override
    public ISpan startChild(@NotNull final String operation, @Nullable final String description, @Nullable final SentryDate timestamp, @NotNull final Instrumenter instrumenter, @NotNull final SpanOptions spanOptions) {
        return NoOpSpan.getInstance();
    }
    
    @NotNull
    @Override
    public ISpan startChild(@NotNull final String operation, @Nullable final String description) {
        return NoOpSpan.getInstance();
    }
    
    @Nullable
    @Override
    public String getDescription() {
        return null;
    }
    
    @NotNull
    @Override
    public List<Span> getSpans() {
        return Collections.emptyList();
    }
    
    @NotNull
    @Override
    public ISpan startChild(@NotNull final String operation, @Nullable final String description, @Nullable final SentryDate timestamp) {
        return NoOpSpan.getInstance();
    }
    
    @Nullable
    @Override
    public ISpan getLatestActiveSpan() {
        return null;
    }
    
    @NotNull
    @Override
    public SentryId getEventId() {
        return SentryId.EMPTY_ID;
    }
    
    @NotNull
    @Override
    public ISentryLifecycleToken makeCurrent() {
        return NoOpScopesLifecycleToken.getInstance();
    }
    
    @Override
    public void scheduleFinish() {
    }
    
    @Override
    public void forceFinish(@NotNull final SpanStatus status, final boolean dropIfNoChildren, @Nullable final Hint hint) {
    }
    
    @Override
    public void finish(@Nullable final SpanStatus status, @Nullable final SentryDate timestamp, final boolean dropIfNoChildren, @Nullable final Hint hint) {
    }
    
    @Override
    public boolean isFinished() {
        return true;
    }
    
    @NotNull
    @Override
    public SentryTraceHeader toSentryTrace() {
        return new SentryTraceHeader(SentryId.EMPTY_ID, SpanId.EMPTY_ID, false);
    }
    
    @NotNull
    @Override
    public TraceContext traceContext() {
        return new TraceContext(SentryId.EMPTY_ID, "");
    }
    
    @Nullable
    @Override
    public BaggageHeader toBaggageHeader(@Nullable final List<String> thirdPartyBaggageHeaders) {
        return null;
    }
    
    @Override
    public void finish() {
    }
    
    @Override
    public void finish(@Nullable final SpanStatus status) {
    }
    
    @Override
    public void finish(@Nullable final SpanStatus status, @Nullable final SentryDate timestamp) {
    }
    
    @Override
    public void setOperation(@NotNull final String operation) {
    }
    
    @NotNull
    @Override
    public String getOperation() {
        return "";
    }
    
    @Override
    public void setDescription(@Nullable final String description) {
    }
    
    @Override
    public void setStatus(@Nullable final SpanStatus status) {
    }
    
    @Nullable
    @Override
    public SpanStatus getStatus() {
        return null;
    }
    
    @Override
    public void setThrowable(@Nullable final Throwable throwable) {
    }
    
    @Nullable
    @Override
    public Throwable getThrowable() {
        return null;
    }
    
    @NotNull
    @Override
    public SpanContext getSpanContext() {
        return new SpanContext(SentryId.EMPTY_ID, SpanId.EMPTY_ID, "op", null, null);
    }
    
    @Override
    public void setTag(@Nullable final String key, @Nullable final String value) {
    }
    
    @Nullable
    @Override
    public String getTag(@Nullable final String key) {
        return null;
    }
    
    @Nullable
    @Override
    public Boolean isSampled() {
        return null;
    }
    
    @Nullable
    @Override
    public Boolean isProfileSampled() {
        return null;
    }
    
    @Nullable
    @Override
    public TracesSamplingDecision getSamplingDecision() {
        return null;
    }
    
    @Override
    public void setData(@Nullable final String key, @Nullable final Object value) {
    }
    
    @Nullable
    @Override
    public Object getData(@Nullable final String key) {
        return null;
    }
    
    @Override
    public void setMeasurement(@NotNull final String name, @NotNull final Number value) {
    }
    
    @Override
    public void setMeasurement(@NotNull final String name, @NotNull final Number value, @NotNull final MeasurementUnit unit) {
    }
    
    @ApiStatus.Internal
    @Override
    public void setContext(@Nullable final String key, @Nullable final Object context) {
    }
    
    @ApiStatus.Internal
    @NotNull
    @Override
    public Contexts getContexts() {
        return new Contexts();
    }
    
    @Override
    public boolean updateEndDate(@NotNull final SentryDate date) {
        return false;
    }
    
    @NotNull
    @Override
    public SentryDate getStartDate() {
        return new SentryNanotimeDate();
    }
    
    @NotNull
    @Override
    public SentryDate getFinishDate() {
        return new SentryNanotimeDate();
    }
    
    @Override
    public boolean isNoOp() {
        return true;
    }
    
    @Override
    public void addFeatureFlag(@Nullable final String flag, @Nullable final Boolean result) {
    }
    
    static {
        instance = new NoOpTransaction();
    }
}
