package com.airlock.iam.factor.domain.model.airlock2fa;

import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;

public final class Airlock2FADeviceDisplayName extends Airlock2FADisplayName {
   private Airlock2FADeviceDisplayName(String displayName) {
      super(displayName);
   }

   public static Airlock2FADeviceDisplayName airlock2FADeviceDisplayName(String providedDisplayName) {
      return new Airlock2FADeviceDisplayName(Airlock2FADisplayName.formatDisplayName(providedDisplayName));
   }

   @SuppressFBWarnings(justification = "generated code")
   @Override
   public boolean equals(Object o) {
      if (o == this) {
         return true;
      } else if (!(o instanceof Airlock2FADeviceDisplayName other)) {
         return false;
      } else {
         return !other.canEqual(this) ? false : super.equals(o);
      }
   }

   @SuppressFBWarnings(justification = "generated code")
   @Override
   protected boolean canEqual(Object other) {
      return other instanceof Airlock2FADeviceDisplayName;
   }

   @SuppressFBWarnings(justification = "generated code")
   @Override
   public int hashCode() {
      return super.hashCode();
   }
}
