Permission Class extending Object

/ The base class of all permissions. Extend this class if you yourself are creating a marble permission of your own /

Class Methods

Removes the permission with the given name from the Permissions object lowering the privileges of the scope binded to this Permission

function remove(string permission_name) : void

Constructs this Permission object

function __construct() : void

This function __permission_check is pure and called when the system cannot ensure weather a permission is legal or not.
Simply put when adding new permissions your own permissions are checked to see if you are allowed to do it.
However permission variables must also be ensured and if your permission variables are not equal to the permission you are trying to add
then this pure function will be called so that the permission can decide weather or not to allow this action.
The first PermissionProperty argument is the PermissionProperty you are trying to set and the second is the PermissionProperty of the permission you do not yet hold.

function __permission_check(PermissionProperty p1, PermissionProperty p2) : void

This function __prior_add is a function that is called just before this PermissionObject is about to be added to a PermissionsObject.
In this method you should ensure that the user has set all the required attributes and that they are locked so that
they cannot be changed. This is not a pure method so you must override it to use its functionality.
This function is also only called when calling the add method on the PermissionObject. Not the native functions provided.

function __prior_add() : void