Если вы можете добавить аннотацию к исходному файлу, можно использовать процессор аннотаций или генератор кода, например , этот .
import net.zerobuilder.BeanBuilder
@BeanBuilder
public class DummyBean {
// bean stuff
}
Будет сгенерирован класс DummyBeanBuilders
, который имеет статический метод dummyBeanUpdater
для создания мелких копий, так же, как вы делаете это вручную.
DummyBean bean = new DummyBean();
// Call some setters ...
// Now make a copy
DummyBean copy = DummyBeanBuilders.dummyBeanUpdater(bean).done();