Scala, Design Patterns, Programming, Factory Pattern.
def options = new csvOptions } private case class jsonReader(var path: String) extends Reader { override def open(): Unit = System.out.println(s"jsonReader opened json on path ${path} with ${options.getOptions}") override def options = new jsonOptions } private case class parquetReader(var path: