Advertisement
Guest User

Untitled

a guest
Apr 7th, 2020
215
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Scala 1.01 KB | None | 0 0
  1. case class TableSchema(
  2.                         tableName: Option[String],
  3.                         columns: Option[Array[Column]]
  4.                       )
  5. {
  6.   override def equals(obj: Any): Boolean = {
  7.     if (super.equals(obj)) true
  8.     else {
  9.       obj match {
  10.         case _: TableSchema => val other = obj.asInstanceOf[TableSchema]
  11.           other.tableName == this.tableName &&
  12.             (other.columns.isEmpty && this.columns.isEmpty ||
  13.               other.columns.get.sameElements(this.columns.get))
  14.         case _ => false
  15.       }
  16.     }
  17.   }
  18. }
  19.  
  20. case class Column(
  21.                    name: Option[String],
  22.                    `type`: Option[String]
  23.                  )
  24.  
  25.  
  26.   val input = TableSchema(Option("table1"), Option(Array[Column](Column(Option("col1"), Option("string")), Column(Option("col2"), Option("int")))))
  27.  
  28.   val input2 = TableSchema(Option("table1"), Option(Array[Column](Column(Option("col1"), Option("string")), Column(Option("col2"), Option("int")))))
  29.  
  30.   println(input.equals(input2))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement