2015-02-14 3 views
1

один из вопроса гидролокатора, что я недавно обнаружил, что «вредоносный код уязвимости - может привести внутреннее представление путем включения ссылки на изменяемый объект»Как генерировать геттеры и сеттеры в eclipse для изменяемых объектов?

Например идеально Eclipse, должен генерировать Присваиватель даты, как следующий

public void setBillDate(Date billDate) { 
    this.billDate = (Date)billDate.clone(); 
} 

Как заставить Eclipse генерировать код следующим образом?

ответ

0
Window -> Preferences -> Java -> Code Style -> Code Templates 

Включение конкретного проекта настройки

Вы увидите "сеттер Body", Edit:

${field} = ${param}; 

код вам нужно может быть записана в виде

try { 
     ${field} = ${param}.getClass().cast(${param}.clone()); 
} catch(CloneNotSupportedException cnse){ 
    // whatever 
} 

Признаюсь что я не знаю, есть ли переменная шаблона для класса параметров. Изучение ...

+0

но это уже есть. Как он будет использовать метод клонирования? –

+0

Я думал, что вы это знаете, по вашему вопросу. - Обратите внимание, что это будет код для всех - даже там, где клон защищен или когда параметр не является объектом. Поэтому вам придется писать другие формы вручную. – laune

+0

спасибо за ваш быстрый ответ. с моей стороны также :-) –