Enum UserRole

java.lang.Object
java.lang.Enum<UserRole>
com.ntu.fdae.group1.bto.enums.UserRole
All Implemented Interfaces:
Serializable, Comparable<UserRole>, java.lang.constant.Constable

public enum UserRole extends Enum<UserRole>
Defines the roles that users can have within the BTO system. Each role represents a different level of access and permissions within the system:
  • APPLICANT - Regular users who can apply for BTO housing projects
  • HDB_OFFICER - Staff members who manage day-to-day operations
  • HDB_MANAGER - Administrative users with the highest level of access

The role hierarchy determines what actions users can perform, which views they can access, and what data they can modify within the system.

See Also:
  • Enum Constant Details

    • APPLICANT

      public static final UserRole APPLICANT
      Represents a regular user who can browse BTO projects and submit applications. Applicants have the most restricted access in the system.
    • HDB_OFFICER

      public static final UserRole HDB_OFFICER
      Represents an HDB officer who processes applications and manages project operations. Officers have elevated privileges compared to applicants but less than managers.
    • HDB_MANAGER

      public static final UserRole HDB_MANAGER
      Represents an HDB manager with administrative access to the entire system. Managers have the highest level of permissions, including system configuration.
  • Method Details

    • values

      public static UserRole[] values()
      Returns an array containing the constants of this enum type, in the order they are declared.
      Returns:
      an array containing the constants of this enum type, in the order they are declared
    • valueOf

      public static UserRole valueOf(String name)
      Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
      Parameters:
      name - the name of the enum constant to be returned.
      Returns:
      the enum constant with the specified name
      Throws:
      IllegalArgumentException - if this enum type has no constant with the specified name
      NullPointerException - if the argument is null