У меня есть 3 класса:
- Ошибка
- ShellError
- WebError
где
ShellError extends Error
и
WebError extends Error
В ShellError
есть поля, некоторые из которых являются необязательными, а другие обязательными.Я строю объект следующим образом:
shellError = new ShellError.Builder().setFile(filePattern)
.setHost(host).setPath(path).setSource(file.isSource())
.setJobName(p.getJobName()).build();
Поскольку ShellError
расширяется Error
, я далее:
shellError.setDescription(msg.toString());
shellError.setExceptionClass("MyEvilException");
shellError.setExceptionMessage("Some clever error message");
shellError.setStacktrace(stack);
Итак ... зачем беспокоиться о Builder?Мне нравится тот факт, что моя build () среди прочего удобно проверяет, что все поля установлены правильно и т. Д.
Мне бы понравилось, если бы я мог .. build () ShellError
и добавить к нему поля изError
класс.
То, что я сделал, работает.
Есть лилучший способ, или имеет смысл то, что я сделал?
- РЕДАКТИРОВАТЬ
Я обновил Builder (), чтобы принимать некоторые параметры, которые были в классе ошибок ранее.Теперь у меня есть
shellError = new ShellError.Builder(exception, "Some description").setFile(filePattern).setHost(host)
.setPath(path).setSource(file.isSource()).
setJobName(p.getJobName()).build();
Что ты скажешь? лучше?Хуже?