Package mondrian.olap

Interface CacheControl

    • Method Detail

      • createMemberRegion

        CacheControl.CellRegion createMemberRegion​(Member member,
                                                   boolean descendants)
        Creates a cell region consisting of a single member.
        Parameters:
        member - the member
        descendants - When true, include descendants of the member in the region.
        Returns:
        the new cell region
      • createMemberRegion

        CacheControl.CellRegion createMemberRegion​(boolean lowerInclusive,
                                                   Member lowerMember,
                                                   boolean upperInclusive,
                                                   Member upperMember,
                                                   boolean descendants)
        Creates a cell region consisting of a range between two members.

        The members must belong to the same level of the same hierarchy. One of the bounds may be null.

        For example, given

        Member member97Q3; // [Time].[1997].[Q3]
         Member member98Q2; // [Time].[1998].[Q2]
         
        then
        Expression Meaning
        createMemberRegion(true, member97Q3, true, member98Q2, false) The members between 97Q3 and 98Q2, inclusive:
        [Time].[1997].[Q3],
        [Time].[1997].[Q4],
        [Time].[1998].[Q1],
        [Time].[1998].[Q2]
        createMemberRegion(true, member97Q3, false, member98Q2, false) The members between 97Q3 and 98Q2, exclusive:
        [Time].[1997].[Q4],
        [Time].[1998].[Q1]
        createMemberRegion(true, member97Q3, false, member98Q2, false) The members between 97Q3 and 98Q2, including their descendants, and including the lower bound but not the upper bound:
        [Time].[1997].[Q3],
        [Time].[1997].[Q3].[7],
        [Time].[1997].[Q3].[8],
        [Time].[1997].[Q3].[9],
        [Time].[1997].[Q4],
        [Time].[1997].[Q4].[10],
        [Time].[1997].[Q4].[11],
        [Time].[1997].[Q4].[12],
        [Time].[1998].[Q1],
        [Time].[1998].[Q1].[1],
        [Time].[1998].[Q1].[2],
        [Time].[1998].[Q1].[3]
        Parameters:
        lowerInclusive - whether the the range includes the lower bound; ignored if the lower bound is not specified
        lowerMember - lower bound member. If null, takes all preceding members
        upperInclusive - whether the the range includes the upper bound; ignored if the upper bound is not specified
        upperMember - upper bound member. If null, takes all preceding members
        descendants - when true, include descendants of the member in the region
        Returns:
        the new cell region
      • createCrossjoinRegion

        CacheControl.CellRegion createCrossjoinRegion​(CacheControl.CellRegion... regions)
        Forms the cartesian product of two or more cell regions.
        Parameters:
        regions - the operands
        Returns:
        the cartesian product of the operands
      • createUnionRegion

        CacheControl.CellRegion createUnionRegion​(CacheControl.CellRegion... regions)
        Forms the union of two or more cell regions. The regions must have the same dimensionality.
        Parameters:
        regions - the operands
        Returns:
        the cartesian product of the operands
      • createMeasuresRegion

        CacheControl.CellRegion createMeasuresRegion​(Cube cube)
        Creates a region consisting of all measures in a given cube.
        Parameters:
        cube - a cube
        Returns:
        the region
      • flush

        void flush​(CacheControl.CellRegion region)
        Atomically flushes all the cells in the cell cache that correspond to measures in a cube and to a given region.
        Parameters:
        region - a region
      • printCacheState

        void printCacheState​(PrintWriter pw,
                             CacheControl.CellRegion region)
        Prints the state of the cell cache as it pertains to a given region.
        Parameters:
        pw - the output target
        region - the CellRegion of interest
      • createMemberSet

        CacheControl.MemberSet createMemberSet​(Member member,
                                               boolean descendants)
        Creates a member set containing either a single member, or a member and its descendants.
        Parameters:
        member - a member
        descendants - when true, include descendants in the set
        Returns:
        the set
      • createMemberSet

        CacheControl.MemberSet createMemberSet​(boolean lowerInclusive,
                                               Member lowerMember,
                                               boolean upperInclusive,
                                               Member upperMember,
                                               boolean descendants)
        Creates a member set consisting of a range between two members. The members must belong to the same level of the same hierarchy. One of the bounds may be null. (Similar to createMemberRegion(boolean, Member, boolean, Member, boolean), which see for examples.)
        Parameters:
        lowerInclusive - whether the the range includes the lower bound; ignored if the lower bound is not specified
        lowerMember - lower bound member. If null, takes all preceding members
        upperInclusive - whether the the range includes the upper bound; ignored if the upper bound is not specified
        upperMember - upper bound member. If null, takes all preceding members
        descendants - when true, include descendants of the member in the region
        Returns:
        the set
      • filter

        CacheControl.MemberSet filter​(Level level,
                                      CacheControl.MemberSet baseSet)
        Filters a member set, keeping all members at a given Level.
        Parameters:
        level - Level
        baseSet - Member set
        Returns:
        Member set with members not at the given level removed
      • flush

        void flush​(CacheControl.MemberSet set)
        Atomically flushes all members in the member cache which belong to a given set.
        Parameters:
        set - a set of members
      • printCacheState

        void printCacheState​(PrintWriter pw,
                             CacheControl.MemberSet set)
        Prints the state of the member cache as it pertains to a given member set.
        Parameters:
        pw - the output target
        set - the MemberSet of interest
      • createDeleteCommand

        CacheControl.MemberEditCommand createDeleteCommand​(Member member)
        Creates a command to delete a member and its descendants from the member cache.
        Parameters:
        member - the member
        Returns:
        the command
      • createAddCommand

        CacheControl.MemberEditCommand createAddCommand​(Member member)
                                                 throws IllegalArgumentException
        Creates a command to add a member to the cache. The added member and its parent must have the same Dimension and the correct Levels, Null parent means add to the top level of its Dimension.

        The ordinal position of the new member among its siblings is implied by its properties.

        Parameters:
        member - the new member
        Returns:
        the command
        Throws:
        IllegalArgumentException - if member null or if member belongs to a parent-child hierarchy
      • createMoveCommand

        CacheControl.MemberEditCommand createMoveCommand​(Member member,
                                                         Member loc)
                                                  throws IllegalArgumentException
        Creates a command to Move a member (with its descendants) to a new location, that is to a new parent.
        Parameters:
        member - the member moved
        loc - the new parent
        Returns:
        the command
        Throws:
        IllegalArgumentException - if member is null, or loc is null, or member belongs to a parent-child hierarchy, or if loc is incompatible with member
      • trace

        void trace​(String message)
        Prints a debug message.
        Parameters:
        message - the message
      • isTraceEnabled

        boolean isTraceEnabled()
        Tells if tracing is enabled.
      • flushSchemaCache

        void flushSchemaCache()
        Flushes the cache which maps schema URLs to metadata.

        This cache is referenced only when creating a new connection, so existing connections will continue to use the same schema definition.

        Flushing the schema cache will flush all aggregations and segments associated to it as well.

      • flushSchema

        void flushSchema​(String catalogUrl,
                         String connectionKey,
                         String jdbcUser,
                         String dataSourceStr)
        Flushes the given Schema instance from the pool. It resolves the schema to flush by using its catalog URL, connection key and JDBC username.

        Flushing the schema cache will flush all aggregations and segments associated to it as well.

      • flushSchema

        void flushSchema​(String catalogUrl,
                         DataSource dataSource)
        Flushes the given Schema instance from the pool. It resolves the schema to flush by using its catalog URL and DataSource object.

        Flushing the schema cache will flush all aggregations and segments associated to it as well.

      • flushSchema

        void flushSchema​(Schema schema)
        Flushes the given Schema instance from the pool

        Flushing the schema cache will flush all aggregations and segments associated to it as well.

        Parameters:
        schema - Schema