Releases: c-massie/PermissionsSystem
PermissionsSystem R15
PermissionGroup now uses Events (from JavaLibrary) rather than rolling its own observer pattern.
Added PermissionGroup.getPermissionStatuses()
Added overrides for .equals(...), .hashCode(), and .toString() to PermissionStatus
Added methods to PermissionsRegistry dealing with multiple permissions/groups in a single operation.
Made PermissionsRegistry's required fields accessible. (Though still not writable)
Created PermissionsRegistryDecorator, and turned ThreadsafePermissionsRegistry and PermissionsRegistryWithEvents into decorators.
Added the capacity to MissingPermissionException (and its subclasses) to properly represent multiple permissions missing.
Added more testing for PermissionsRegistry and its subclasses.
PermissionsSystem R14
Added:
- Permission.toString()
- PermissionGroup.toString()
Created:
- PermissionsRegistryWithEvents
- ThreadsafePermissionGroup
- ThreadsafePermissionsRegistry
- ThreadsafePermissionsRegistryWithEvents
- PermissionsChangedEventTarget
- Eventargs types for PermissionRegistryWithEvents
Created tests:
- PermissionGroupTest
- PermissionSetTest
- PermissionsRegistryWithEventsTest
- ThreadsafePermissionsRegistryTest
Made PermissionSet.set(...), .setWhileDeIndenting, PermissionGroup.addPermission(...), and the PermissionsRegistry add permission methods return the previous Permission object associated with the same path.
Made PermissionSet.remove(...), PermissionGroup.removePermission(...), and the PermissionsRegistry remove permission methods return the removed Permission object, rather than a boolean to indicate success.
Renamed PermissionsRegistry.getGroupPermissionsGroup(...) to .getGroupPermissionsGroupOrNew(...)
Fixed:
- PermissionGroup.clear() not clearing the callbacks to that group.
- PermissionsRegistry.groupHasAnySubPermissionOf(...) not treating "*" as the default permissions.
PermissionsSystem R13
Added PermissionStatus.assertHasPermission(...)
Addressed all warnings.
Updated to use new Tree types introduced in JavaLibrary R8.
PermissionsSystem R12
Added methods that check if a user/group/the default permissions has a given permission and throws an exception if they don't, and the associated exceptions.
PermissionsSystem R11
Added the ability to check whether or not a user or group in a permissions registry has permissions under a given permission.
PermissionsSystem R10
Added the ability to get all information about how a permission relates to a user or group at once.
PermissionsSystem R9
Fixed crash when loading user permission entries with anything other than 1 group.
PermissionsSystem R8
Updated javadoc.
Changed license from GPL to LGPL
Added checks for circular group dependencies.
PermissionsSystem R7
Documented permission system classes with Javadoc.
Save files:
- Users and groups may be saved in a single line if they're just assigned a group and nothing else.
- No longer leaves a blank line between single-line user/group entries.
Default permission group, assignable by referring to a group as "*". (without quotes) All users are considered to have all permissions and groups assigned as default.
Group names must now be entirely made up of alphanumeric characters.
PermissionGroup objects now no longer need to have their referenced PermissionGroup objects re-sorted when one of them changes priority.
Bugs fixed:
- PermissionsRegistry.hasGroup not looking up the group hierarchy.
PermissionsSystem R6
Added the ability to check if a user or permission group has a given group.