package Utility.User; import org.telegram.telegrambots.meta.api.objects.User; import java.util.List; public class MyUser extends User { private Roles role = null; private List permission = null; private State state = null; public MyUser(User user, Roles role, List permissions){ super(user.getId(), user.getFirstName(), user.getBot(), user.getLastName(), user.getUserName(), user.getLanguageCode()); this.role = role; this.permission = permissions; } public MyUser(User user, Roles role){ super(user.getId(), user.getFirstName(), user.getBot(), user.getLastName(), user.getUserName(), user.getLanguageCode()); this.role = role; } public MyUser(Integer id, String firstName, Boolean isBot, String lastName, String userName, String languageCode, Roles role, List permissions) { super(id, firstName, isBot, lastName, userName, languageCode); this.role = role; this.permission = permissions; } public MyUser(Integer id, String firstName, Boolean isBot, String lastName, String userName, String languageCode, Roles role) { super(id, firstName, isBot, lastName, userName, languageCode); this.role = role; permission = null; } public MyUser(Integer id, String firstName, Boolean isBot, String lastName, String userName, String languageCode) { super(id, firstName, isBot, lastName, userName, languageCode); role = null; permission = null; } public MyUser(Integer id, String userName){ super(id, null, false, null, userName, "DE"); role = null; permission = null; } public MyUser(Integer id, String userName, Roles role){ super(id, null, false, null, userName, "DE"); this.role = role; permission = null; } public MyUser(Integer id, String userName, Roles role, List permission){ super(id, null, false, null, userName, "DE"); this.role = role; this.permission = permission; } public MyUser(){ super(); role = null; permission = null; } public Roles getRole() { return role; } public void setRole(Roles role) { this.role = role; } public List getPermission() { return permission; } public void setPermission(List permission) { this.permission = permission; } public void changePermission(UserPermission permission){ if (!this.permission.contains(permission)){ this.permission.add(permission); } else { this.permission.remove(permission); } } public State getState() { return state; } public void setState(State state) { this.state = state; } public String toStringEXTRA(){ return (this).toString() + "ROLE: " + (role == null ? "null" : role.name() ) + " PERMISSIONS: " + (permission == null ? "null" : permission.toString()) + " || "; } }