Package mondrian.olap

Class RoleImpl

java.lang.Object
mondrian.olap.RoleImpl
All Implemented Interfaces:
Role

public class RoleImpl extends Object implements Role
Default implementation of the Role interface.
Since:
Oct 5, 2002
Author:
jhyde, lucboudreau
  • Constructor Details

    • RoleImpl

      public RoleImpl()
      Creates a role with no permissions.
  • Method Details

    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
    • clone

      protected RoleImpl clone()
      Overrides:
      clone in class Object
    • makeMutableClone

      public RoleImpl makeMutableClone()
      Returns a copy of this Role which can be modified.
    • makeImmutable

      public void makeImmutable()
      Prevents any further modifications.
    • isMutable

      public boolean isMutable()
      Returns whether modifications are possible.
    • grant

      public void grant(Schema schema, Access access)
      Defines access to all cubes and dimensions in a schema.
      Parameters:
      schema - Schema whose access to grant/deny.
      access - An access code
    • getAccess

      public Access getAccess(Schema schema)
      Description copied from interface: Role
      Returns the access this role has to a given schema.
      Specified by:
      getAccess in interface Role
    • grant

      public void grant(Cube cube, Access access)
      Defines access to a cube.
      Parameters:
      cube - Cube whose access to grant/deny.
      access - An access code
    • getAccess

      public Access getAccess(Cube cube)
      Description copied from interface: Role
      Returns the access this role has to a given cube.
      Specified by:
      getAccess in interface Role
    • grant

      public void grant(Dimension dimension, Access access)
      Defines access to a dimension.
      Parameters:
      dimension - Dimension whose access to grant/deny.
      access - An Access instance
    • getAccess

      public Access getAccess(Dimension dimension)
      Description copied from interface: Role
      Returns the access this role has to a given dimension.
      Specified by:
      getAccess in interface Role
    • grant

      public void grant(Hierarchy hierarchy, Access access, Level topLevel, Level bottomLevel, Role.RollupPolicy rollupPolicy)
      Defines access to a hierarchy.
      Parameters:
      hierarchy - Hierarchy whose access to grant/deny.
      access - An access code
      topLevel - Top-most level which can be accessed, or null if the highest level. May only be specified if access is Access.CUSTOM.
      bottomLevel - Bottom-most level which can be accessed, or null if the lowest level. May only be specified if access is Access.CUSTOM.
      rollupPolicy - Rollup policy
    • getAccess

      public Access getAccess(Hierarchy hierarchy)
      Description copied from interface: Role
      Returns the access this role has to a given hierarchy.
      Specified by:
      getAccess in interface Role
    • getAccessDetails

      public Role.HierarchyAccess getAccessDetails(Hierarchy hierarchy)
      Description copied from interface: Role
      Returns the details of this hierarchy's access, or null if the hierarchy has not been given explicit access.
      Specified by:
      getAccessDetails in interface Role
    • getAccess

      public Access getAccess(Level level)
      Description copied from interface: Role
      Returns the access this role has to a given level.
      Specified by:
      getAccess in interface Role
    • grant

      public void grant(Member member, Access access)
      Defines access to a member in a hierarchy.

      Notes:

      1. The order of grants matters. If you grant/deny access to a member, previous grants/denials to its descendants are ignored.
      2. Member grants do not supersde top/bottom levels set using grant(Hierarchy, Access, Level, Level, mondrian.olap.Role.RollupPolicy).
      3. If you have access to a member, then you can see its ancestors even those explicitly denied, up to the top level.
    • getAccess

      public Access getAccess(Member member)
      Description copied from interface: Role
      Returns the access this role has to a given member.
      Specified by:
      getAccess in interface Role
    • getAccess

      public Access getAccess(NamedSet set)
      Description copied from interface: Role
      Returns the access this role has to a given named set.
      Specified by:
      getAccess in interface Role
    • canAccess

      public boolean canAccess(OlapElement olapElement)
      Description copied from interface: Role
      Returns whether this role is allowed to see a given element.
      Specified by:
      canAccess in interface Role
    • createAllAccess

      public static Role.HierarchyAccess createAllAccess(Hierarchy hierarchy)
      Creates an element which represents all access to a hierarchy.
      Parameters:
      hierarchy - Hierarchy
      Returns:
      element representing all access to a given hierarchy
    • union

      public static Role union(List<Role> roleList)
      Returns a role that is the union of the given roles.
      Parameters:
      roleList - List of roles
      Returns:
      Union role