Class InstantiationPermissions

  • All Implemented Interfaces:
    Serializable, IClusterable

    public class InstantiationPermissions
    extends Object
    implements IClusterable
    An internal data structure that maps a given component class to a set of role strings. Permissions can be granted to instantiate a given component class via authorize(Class, Roles roles) and denied via unauthorize(Class, Roles roles). All authorization can be removed for a given class with authorizeAll(Class).
    Author:
    Eelco Hillenius, Jonathan Locke
    See Also:
    Serialized Form
    • Method Detail

      • authorize

        public final <T extends Component> void authorize​(Class<T> componentClass,
                                                          Roles rolesToAdd)
        Gives the given role permission to instantiate the given class.
        Type Parameters:
        T -
        Parameters:
        componentClass - The component class
        rolesToAdd - The roles to add
      • authorizeAll

        public final <T extends Component> void authorizeAll​(Class<T> componentClass)
        Gives all roles permission to instantiate the given class. Note that this is only relevant if a role was previously authorized for that class. If no roles where previously authorized the effect of the unauthorize call is that no roles at all will be authorized for that class.
        Type Parameters:
        T -
        Parameters:
        componentClass - The component class
      • authorizedRoles

        public <T extends IRequestableComponentRoles authorizedRoles​(Class<T> componentClass)
        Gets the roles that have a binding with the given component class.
        Type Parameters:
        T -
        Parameters:
        componentClass - the component class
        Returns:
        the roles that have a binding with the given component class, or null if no entries are found
      • unauthorize

        public final <T extends Component> void unauthorize​(Class<T> componentClass,
                                                            Roles rolesToRemove)
        Removes permission for the given role to instantiate the given class.
        Type Parameters:
        T -
        Parameters:
        componentClass - The class
        rolesToRemove - The role to deny