Мне нужно реализовать сервер RMI, который будет интерфейсом для двух других служб RMI. Поэтому я решил, что будет логично, если интерфейс для этого реализует интерфейсы для двух других сервисов.
public interface FrontEndServer extends Remote, BookServer, StudentServer
{
// Block empty so far
}
Однако на StudentServer есть метод
/**
* Allows a student to borrow a book
*
* @param studentID of the student who wishes to borrow a book
* @param bookID of the book the student wishes to borrow
* @throws RemoteException
* @throws StudentNotFoundException when a student is not found in the system
*/
void addBookToStudent(int studentID, int bookID) throws RemoteException, StudentNotFoundException;
Я хотел бы, чтобы FrontEndServer
также выдавал BookNotFoundException
, поскольку этот сервис также проверяет, существует ли книга на самом деле, прежде чем пытаться добавить подробности.
Возможно ли это, или моя дизайнерская идея полностью неверна, и на самом деле это плохая дизайнерская идея, как если бы другие интерфейсы изменились и все такое? И не лучше ли будет написать сигнатуры методов для всех методов внутри FrontEndServer
?