class Config(sourceName :String, storeClass :Class[_]) {
  def store = storeClass.getConstructor(classOf[Configuration]).newInstance(sourceName)
  def write(k :String, v :String) {
   store.writeTo(k,v)
  }
  def read(k :String): Unit ={
   store.readFrom(k)
  }
  def contains(k :String) :Boolean ={
   store.isContains(k)
  }
}
Here Configuration is a parent-abstract class whom are having some child classes.
So the 2nd parameter in class config, can be any child class Configuration.
And each child class takes a parameter while Initiating ie; sourceName.
storeClass.getConstructor(classOf[Configuration]).newInstance(sourceName)
This code above Return Type : Any , which create issue, since i need it to be of Type Configuration
def store :Configuration  
to be of the Type Configuration, otherwise the read,write and contains won't work !
Aucun commentaire:
Enregistrer un commentaire