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

package io.sentry;

import org.jetbrains.annotations.Nullable;
import org.jetbrains.annotations.NotNull;

public final class TracesSamplingDecision
{
    @NotNull
    private final Boolean sampled;
    @Nullable
    private final Double sampleRate;
    @Nullable
    private final Double sampleRand;
    @NotNull
    private final Boolean profileSampled;
    @Nullable
    private final Double profileSampleRate;
    
    public TracesSamplingDecision(@NotNull final Boolean sampled) {
        this(sampled, null);
    }
    
    public TracesSamplingDecision(@NotNull final Boolean sampled, @Nullable final Double sampleRate) {
        this(sampled, sampleRate, null, false, null);
    }
    
    public TracesSamplingDecision(@NotNull final Boolean sampled, @Nullable final Double sampleRate, @Nullable final Double sampleRand) {
        this(sampled, sampleRate, sampleRand, false, null);
    }
    
    public TracesSamplingDecision(@NotNull final Boolean sampled, @Nullable final Double sampleRate, @NotNull final Boolean profileSampled, @Nullable final Double profileSampleRate) {
        this(sampled, sampleRate, null, profileSampled, profileSampleRate);
    }
    
    public TracesSamplingDecision(@NotNull final Boolean sampled, @Nullable final Double sampleRate, @Nullable final Double sampleRand, @NotNull final Boolean profileSampled, @Nullable final Double profileSampleRate) {
        this.sampled = sampled;
        this.sampleRate = sampleRate;
        this.sampleRand = sampleRand;
        this.profileSampled = (sampled && profileSampled);
        this.profileSampleRate = profileSampleRate;
    }
    
    @NotNull
    public Boolean getSampled() {
        return this.sampled;
    }
    
    @Nullable
    public Double getSampleRate() {
        return this.sampleRate;
    }
    
    @Nullable
    public Double getSampleRand() {
        return this.sampleRand;
    }
    
    @NotNull
    public Boolean getProfileSampled() {
        return this.profileSampled;
    }
    
    @Nullable
    public Double getProfileSampleRate() {
        return this.profileSampleRate;
    }
}
