在Scala中绑定不同的枚举

时间:2017-03-16 10:03:53

标签: scala enumeration

方案: 我有两种枚举类型:SchemaTable

我想将每个Table绑定到特定Schema。所以,实际上我已经实现了这个:

object Table extends Enumeration {

  type Tabella = Value

  val TABLE1 = Value("TABLE1")
  val TABLE2 = Value("TABLE2")

  def getTable(myTable: Tabella): String = {
    myTable match {
      case Table.TABLE1  =>
        (Schema.SCHEMA1 + "." + Table.TABLE1)
      case Table.TABLE2  =>
        (Schema.SCHEMA1 + "." + Table.TABLE2)
    }
  }

}

当然

object Schema extends Enumeration {

  type Schemi = Value
  val SCHEMA1 = Value("SCHEMA1")

}

现在,每当我需要一张桌子时,我都会打电话给Table.getTable(Table.TABLE1),但这是非常糟糕的代码,我知道。我想改进这个。任何帮助?

我希望有某种override def toString这样我只需将Table.TABLE1放入代码并返回SchemaName.TableName,这可能吗?

0 个答案:

没有答案