У меня есть два задания Скальдинга, где один наследуется от другого. Что-то вроде этогоОтверстие для переопределения аргументов в подклассе
class BaseJob(args : Args) extends Job(args) {
val verbose = args.boolean("verbose")
if(verbose){
// do stuff
}else{
// do other stuff
}
}
class MyJob(args : Args) extends BaseJob(args) {
override val verbose = true
override def formatOutput(p: Pipe): Pipe = {
println(verbose) // outputs false if not run with --verbose
p.project('field1, 'field2, 'field3)
}
}
Идеи заключается в том, что какой-то код в MyJob предположит, что мы бежим с многословным флагом, поэтому вместо того, чтобы этот параметр, я хочу, чтобы убедиться, что это всегда имеет значение. Однако просто переопределение переменной класса не работает, так как оно все равно примет значение «verbose» из параметра командной строки. Кто-нибудь знает, как это можно сделать?