I have to retrieve Derived class objects stored in a Map given the respective class name as key.
As show below
trait Caluclator
class PreScoreCalculator(data:Seq[Int]) extends Caluclator
class BenchMarkCalculator(data:Seq[Int]) extends Caluclator
val calculatorsLookUp:Map[String, Calculator] = Map[String, Calculator](
"PreScore" -> new PreScoreCalculator,
"BenchMark" -> new BenchMarkCalculator
)
Given key name i need to get respective object/instance from Map
def getCalculatorByOperationName(operation:String) : Option[ Calculator] = {
calculatorsLookUp.get(operation)
}
I am calling as below
val calcName = "PreScore"
val opt = getCalculatorByOperationName(calcName)
if(opt.isInstanceOf[PreScoreCalculator] ) /// this is coming as false
calculationController.calculate(opt) // this is not being executed.
Expect : Execute calculationController.calculate(opt)
Error : Above if condition is false hence not getting executed.
So how to handle this problem?
How to handle below i.e. default constructor objects ?
class PreScoreCalculator(data:Seq[Int]) extends Caluclator
JavaScript questions and answers, JavaScript questions pdf, JavaScript question bank, JavaScript questions and answers pdf, mcq on JavaScript pdf, JavaScript questions and solutions, JavaScript mcq Test , Interview JavaScript questions, JavaScript Questions for Interview, JavaScript MCQ (Multiple Choice Questions)