Как реализовать наследование для класса POJO - PullRequest
0 голосов
/ 30 мая 2019

У меня есть два разных класса с конструктором, но с похожим pojo, и я хотел реализовать Java-наследование, так как при выполнении анализа сонарного кода я получаю дубликат кода

Я создал классы DaoException и ServiceException, которые имеют одно и то же pojo и хотели иметь общее pojo, чтобы избежать дублирования кода

public class DaoException extends Exception {

  private static final long serialVersionUID = 1L;

  private final int code;
  private String message;


  public DaoException(int code, String message) {

      this.code = code;
      this.message = message;
  }

  public DaoException(int code, Throwable throwable) {

      this.code = code;
      this.message = throwable.getMessage();
  }

  public int getCode() {

      return code;
  }

  public void setCode(int code) {

      this.code = code;
  }

  public String getMessage() {

      return message;
  }

  public void setMessage(String message) {

      this.message = message;
  }
}


public class ServiceException extends Exception {

private static final long serialVersionUID = 1L;

private final int code;
private String message;

public ServiceException(int code, String message) {

    this.code = code;
    this.message = message;
}

public ServiceException(int code, Throwable throwable) {

    this.code = code;
    this.message = throwable.getMessage();
}

public int getCode() {

    return code;
}

public void setCode(int code) {

    this.code = code;
}

public String getMessage() {

    return message;
}

public void setMessage(String message) {

    this.message = message;
}

}

Пожалуйста, сообщите.

1 Ответ

0 голосов
/ 30 мая 2019

Вы можете создать общий родительский класс для ServiceException и DAOExecption. Вы можете создать свой класс GenericException, со всеми деталями. Затем заставьте ServiceException и DAOExecption расширить это GenericException. Вызвать соответствующий конструктор родительского класса из дочернего элемента

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...