Class PentahoAclEntry

  • All Implemented Interfaces:
    Serializable, org.pentaho.platform.api.engine.IAclEntry, org.pentaho.platform.api.engine.IPentahoAclEntry, org.pentaho.platform.api.engine.IPentahoBasicAclEntry

    public class PentahoAclEntry
    extends PentahoAbstractBasicAclEntry
    implements org.pentaho.platform.api.engine.IPentahoAclEntry
    Base Hitachi Vantara Access Control entry. Subclassed AbstractBasicAclEntry from Spring Security project. Provides known access controls.
    Author:
    mbatchel
    See Also:
    Serialized Form
    • Field Detail

      • recipientType

        public int recipientType
    • Constructor Detail

      • PentahoAclEntry

        public PentahoAclEntry()
      • PentahoAclEntry

        public PentahoAclEntry​(Object recipient,
                               int mask)
    • Method Detail

      • setRecipientType

        protected void setRecipientType​(int value)
      • getRecipientType

        protected int getRecipientType()
      • setRecipientString

        protected void setRecipientString​(String value)
      • getRecipientString

        protected String getRecipientString()
      • getValidPermissions

        public int[] getValidPermissions()
        As implemented, this method says that all permission combinations are valid. (Well not all. FULL_CONTROL must stand alone. It cannot be combined with other bits.)
        1. Find the permission value (call it p) that is the highest power of two.
        2. Find n (0-based) such that 2^n = p. (Uses logarithm with base 2.)
        3. So there are 2^(n+1) permutations of permission bits.
        4. So the valid permission values list consists of those 2^(n+1) permutations plus the FULL_CONTROL perm bit. (i.e. (2^(n+1))+1
        Specified by:
        getValidPermissions in class PentahoAbstractBasicAclEntry
        Returns:
        every valid combination of permissions
      • main

        public static void main​(String[] args)
      • printPermissionsBlock

        public String printPermissionsBlock​(int i)
        Description copied from class: PentahoAbstractBasicAclEntry
        Outputs the permissions in a human-friendly format. For example, this method may return "CR-D" to indicate the passed integer permits create, permits read, does not permit update, and permits delete.
        Specified by:
        printPermissionsBlock in class PentahoAbstractBasicAclEntry
        Parameters:
        i - the integer containing the mask which should be printed
        Returns:
        the human-friend formatted block
      • getValidPermissionsNameMap

        public static Map getValidPermissionsNameMap()
        Returns:
        Returns the validPermissionsNameMap. This method is generally useful for UI work as it returns a Map of Permission atomic values (as Integer objects) keyed by a human readable permission name.
      • getValidPermissionsNameMap

        public static Map getValidPermissionsNameMap​(String permissionsListType)
        Parameters:
        permissionsListType - - The permissions list for solutions is different than that for other UIs
        Returns:
        Returns the validPermissionsNameMap. This method is generally useful for UI work as it returns a Map of Permission atomic values (as Integer objects) keyed by a human readable permission name.
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object