package com.airlock.iam.common.infrastructure.exceptions;

import com.airlock.iam.base.api.domain.model.exception.FailureException;
import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
import lombok.NonNull;

public class DeserializationFailedException extends FailureException {
   private final DeserializationFailedType type;

   public DeserializationFailedException(@NonNull DeserializationFailedType type, String message) {
      super(message);
      if (type == null) {
         throw new NullPointerException("type is marked non-null but is null");
      }

      this.type = type;
   }

   @SuppressFBWarnings(justification = "generated code")
   public DeserializationFailedType getType() {
      return this.type;
   }
}
