После обсуждения с одним из архитекторов мы выкинули этот код. А теперь несколько других архитекторов убедили этого, что backward compatibility важнее правильной работы Java. И пытаются заставить меня откатить изменения. Я пока сопротивляюсь, но скоро мои бастионы падут. И придется мне своими руками внести DIRTY HACK в Java.
Ээх! Надо будет написать обширный JavaDoc, в котором попытаться объяснить, что из-за каких-то недоучившихся дегенератов, пишуших бины не по спецификации, пришлось нормальных программистов лишить возможности писать правильные бины.
Immutable bean - класс, который создается конструктором с параметром, значение которого соответствует свойству бина. Например:
public class ImmutableBean
{
private Object value;
@ConstructorProperties({"value"})
public ImmutableBean( Object value )
{
this.value = value;
}
public Object getValue()
{
return this.value;
}
}