> For the complete documentation index, see [llms.txt](https://rqndomhax.gitbook.io/versaapi/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://rqndomhax.gitbook.io/versaapi/databasemanager/deserializer/user.md).

# User

### Let's make an user class

```java
public class User {

    private final UUID uniqueId;     // A user will have a uniqueId
    private final long timestamp;    // This is the user's creation date
    private String username;        // A user will also have a username
    private Role role;              // This is the user's access
    
    // Constructor of the User
    public User(UUID uniqueId, long timestamp, String username, Role role) {
        this.uniqueId = uniqueId;
        this.timestamp = timestamp;
        this.username = username;
        this.role = role;
    }
    
    // Getter and setters
    
    public UUID getUniqueId() {
        return uniqueId;
    }
    
    public String getUsername() {
        return username;
    }
    
    public void setUsername(String username) {
        this.username = username;
    }
    
    public Role getRole() {
        return role;
    }
    
    public void setRole(Role role) {
        this.role = role;
    }
    
    public enum Role {
        ADMIN,
        USER,
        GUEST;
    }

}
```
