У меня есть 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? Мне нравится тот факт, что my build(), среди прочего, удобно проверяет, что все поля установлены соответствующим образом и т.д.
Мне бы это понравилось, если бы я мог.. build() ShellError
и добавить к нему поля из класса Error
.
Что я делал.
- Вопрос в следующем:
Есть ли лучший способ, или это имеет смысл, что я сделал?
- EDIT
Я обновил Builder(), чтобы принять некоторые параметры, которые ранее были в классе Error. Теперь у меня
shellError = new ShellError.Builder(exception, "Some description").setFile(filePattern).setHost(host)
.setPath(path).setSource(file.isSource()).
setJobName(p.getJobName()).build();
Что ты скажешь? лучше? Хуже?