У меня есть разные классы дел и объекты для этого класса дел, и я пытаюсь создать экземпляр объекта класса и вернуть этот класс.
case class KeySet(KeyID:String,KeyName:String,KeyType:String)
object KeySet{
def fromXml(node: scala.xml.Node):KeySet = {
//some operation
new KeySet(KeyID,KeyName,KeyType)
}
}
case class NodeSet(NodeID:String,NodeValue:String,NodeType:String,NodeKey:String,NodeLocation:String)
object NodeSet{
def fromXml(node: scala.xml.Node):NodeSet = {
//some operation
new KeySet(NodeID,NodeValue,NodeType,NodeKey,NodeLocation)
}
}
и у меня есть метод для создания экземпляра класса и возвращаемого объекта класса.
def getConnectionDetails(connectionType:String) : Option[Class[_]]= {
connectionType match {
case "KeySet" => Some(() => {
val xml_cred= scala.xml.XML.loadString("xmlfile")
KeySet.fromXml(xml_cred)
})
case "NodeSet" => Some(() => {
val xml_cred= scala.xml.XML.loadString("xmlfile")
NodeSet.fromXml(xml_cred)
})
case _ => None
}
}
Здесь я получаю сообщение об ошибке в типе Return, каждый случай будет возвращаться по-разному кейс-класс. какой будет тип возвращаемого значения для этого метода?