package com.airlock.iam.authentication.domain.model.idpropagation;

import com.airlock.iam.base.api.domain.model.exception.FailureException;
import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
import jakarta.inject.Inject;
import java.net.URI;
import java.util.Optional;

public final class TargetUriToPropagate {
   private Optional<URI> targetUri = Optional.empty();

   public void setTargetUri(URI uri) {
      if (this.targetUri.isPresent()) {
         throw new FailureException("Cannot replace target URI to propagate");
      }

      this.targetUri = Optional.of(uri);
   }

   @SuppressFBWarnings(justification = "generated code")
   public Optional<URI> getTargetUri() {
      return this.targetUri;
   }
}
