All Downloads are FREE. Search and download functionalities are using the official Maven repository.

ai.starlake.schema.model.Severity.scala Maven / Gradle / Ivy

package ai.starlake.schema.model

import com.fasterxml.jackson.databind.annotation.JsonSerialize
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer

@JsonSerialize(using = classOf[ToStringSerializer])
sealed abstract class Severity(value: String) {
  override def toString: String = String.format("%1$-8s", value)

}

object Severity {
  def fromString(value: String): Severity = {
    value.toUpperCase() match {
      case "ERROR"    => Error
      case "WARNING"  => Warning
      case "INFO"     => Info
      case "DISABLED" => Disabled
      case _          => Disabled
    }
  }
  final object Error extends Severity("ERROR")
  final object Warning extends Severity("WARNING")
  final object Info extends Severity("INFO")
  final object Disabled extends Severity("DISABLED")

  def main(args: Array[String]): Unit = {
    println(Severity.fromString("ERROR"))
    println(Severity.fromString("WARNING"))
    println(Severity.fromString("INFO"))
    println(Severity.fromString("DISABLED"))
    println(Severity.fromString("UNKNOWN"))
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy