Я пытаюсь воспользоваться тем, что groovy более динамичен, чем java. Я хотел бы иметь блок кода, который делает
TypeA type = //do something to build an object
TypeA dbType = TypeA.findBySomethingAndSomething(something, somethingelse)
if(dbType != null)
type.id = dbType.id
type.save()
но это может работать для нескольких объектов, поддерживающих один и тот же метод findBySomethingAndSomething.
Можно ли сказать
def type = //do something to build an object
def dbType = type.findBySomethingAndSomething(type.identifier, type.otheridentifier)
if(dbType != null)
type.id = dbType.id
type.save()
Есть ли «лучший» способ сделать это? Я пытаюсь избежать большого оператора switch или серий if/else, которые делают одно и то же для каждого типа.