Мне нужно разработать систему, в которой пользователи будут двух разных типов -
Код: Выделить всё
Admins,Customer.AdminsКод: Выделить всё
SUPER_ADMIN,ADMIN,MEMBER.CustomerКод: Выделить всё
OWNER,TEAM_LEAD,TEAM_MEMBER- Использование
Код: Выделить всё
ENUM,like [/list] public class User { private UserType userType; private UserRole userRole; private AdminRole adminRole; } public enum UserType { ADMIN, CUSTOMER; } public enum UserRole { OWNER, TEAM_LEAD, TEAM_MEMBER,; } public enum AdminRole { SUPER_ADMIN, ADMIN, MEMBER,; }- Или используйте
Код: Выделить всё
Inheritance,like [/list] public class User { } public class Admin extends User{ private AdminRole adminRole; } public class Customer extends User{ private UserRole userRole; } public enum UserRole { OWNER, TEAM_LEAD, TEAM_MEMBER; } public enum AdminRole { SUPER_ADMIN, ADMIN, MEMBER; }
Источник: https://stackoverflow.com/questions/781 ... -subgroups
- Или используйте