Class SmartMemberReader

  • All Implemented Interfaces:
    MemberSource
    Direct Known Subclasses:
    RolapCubeHierarchy.CacheRolapCubeHierarchyMemberReader

    public class SmartMemberReader
    extends Object
    SmartMemberReader implements MemberReader by keeping a cache of members and their children. If a member is 'in cache', there is a list of its children. It also caches the members of levels.

    Synchronization: the MemberReader source must be called from synchronized(this) context - it does not synchronize itself (probably it should).

    Constraints: Member.Children and Level.Members may be constrained by a SqlConstraint object. In this case a subset of all members is returned. These subsets are cached too and the SqlConstraint is part of the cache key. This is used in NON EMPTY context.

    Uniqueness. We need to ensure that there is never more than one RolapMember object representing the same member.

    Since:
    21 December, 2001
    Author:
    jhyde