Я пытаюсь воспользоваться тем, что 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 ряда, который делает одно и то же для каждого типа.