Если вы используете IntelliJ IDEA, вы можете добавить новый шаблон для этого.
Поместите курсор в ваш класс и перейдите в Code -> Generate. В меню выберите «Сеттер». Затем нажмите «...» в правом верхнем углу этого меню:
Затем вы можете добавить новый шаблон под названием «без негативов» со следующим кодом:
#set($paramName = $helper.getParamName($field, $project))
#if($field.modifierStatic)
static ##
#end
void set$StringUtil.capitalizeWithJavaBeanConvention($StringUtil.sanitizeJavaIdentifier($helper.getPropertyName($field, $project)))($field.type $paramName) {
if ($paramName >= 0) {
#if ($field.name == $paramName)
#if (!$field.modifierStatic)
this.##
#else
$classname.##
#end
#end
$field.name = $paramName;
} else {
throw new IllegalArgumentException("$paramName must be positive");
}
}
Обратите внимание, что этот шаблон не проверяет, можно ли сравнить тип поля с 0 или нет.
Я в основном изменил шаблон IntelliJ по умолчанию, добавив оператор if:
if ($paramName >= 0) {
и ветвь else:
} else {
throw new IllegalArgumentException("$paramName must be positive");
}
Если вы просто не хотите устанавливать поле при отрицательном параметре, вместо того, чтобы генерировать исключение, просто удалите ветвь else.