Видимо, на диаграмме используется расширенный чертеж, в котором первое отделение дает «стандартному» enum именам элементов больше связанного значения атрибутов, второе отделение - это атрибуты, третье - конечно, операции,(В BoUML я предпочел рисовать элементы и атрибуты в одном и том же отсеке в соответствии со стандартом UML)
Поскольку это enum, конструктор должен быть приватным , а не public , это ошибка на диаграмме
Необязательно ли вводить вещи ниже перечисляемой части, или это потребуется, а также перечисление?
Должны быть установлены атрибуты и определены атрибуты / операции, возможное определение UserType :
public enum UserType {
Student("Under Graduate Student", 1, 20),
PostStudent("PostGraduate Student", 2, 30),
AdminStaff("Administrative Staff", 3, 30),
Librarian("Librarian", 4, 40),
AcademicStaff("Academic Staff", 5, 40),
Admin("System Administrator", 6, 30);
private String name;
private int id;
private int numberOfAllowedBooksToBorrow;
private UserType(final String n, int i, int nb) {
this.name = n;
this.id = i;
this.numberOfAllowedBooksToBorrow = nb;
}
public String getName(){ return name; }
public int getId(){ return id; }
public int getNumberOfAllowedBooksToBorrow(){ return numberOfAllowedBooksToBorrow; }
public String toString(){ return name; }
}
Аналогичным образом можно использовать для PermissionType