I am new to Groovy and I am having a little problem with constructors of subclasses. Basically, I have a base abstract class like
class BaseClass {
def BaseClass(Map options) {
// Does something with options,
// mainly initialization.
}
// More methods
}
and a bunch of derived classes like
class AnotherClass extends BaseClass {
// Does stuff
}
I would like to be able to create instances like
def someObject = new AnotherClass(foo: 1, bar: 2)
Unfortunately, Groovy creates automatically all sorts of constructors for AnotherClass
, with various signatures - based on the properties of AnotherClass
- but will not allow me to just reuse the constructor in BaseClass
. I have to manually create one like
class AnotherClass extends BaseClass {
def AnotherClass(options) {
super(options)
}
// Does stuff
}
It feels repetitive doing so for each subclass, and it is probably the wrong way.
What would be the Groovy way to share some logic in the constructor?