com.tonbeller.jpivot.olap.query
Interface QuaxUti

All Known Implementing Classes:
MondrianQuaxUti, XMLA_QuaxUti

public interface QuaxUti


Field Summary
static int FUNTYPE_BRACES
           
static int FUNTYPE_FUNCTION
           
static int FUNTYPE_INFIX
           
static int FUNTYPE_PROPERTY
           
static int FUNTYPE_TUPLE
           
 
Method Summary
 void addLevelMembers(java.util.List list, Level lev, int[] maxLevel)
           
 void addMemberChildren(java.util.List list, Member m, int[] maxLevel)
           
 void addMemberDescendants(java.util.List list, Member m, Level lev, int[] maxLevel)
           
 void addMemberSiblings(java.util.List list, Member m, int[] maxLevel)
           
 void addMemberUncles(java.util.List list, Member m, int[] maxLevel)
           
 boolean canHandle(java.lang.Object oExp)
          check a Funcall expression whether we can handle it.
 boolean checkChild(Member cMember, java.lang.Object pMembObj)
          check, whether member is child of other member
 boolean checkDescendantM(Member aMember, Member dMember)
          check, whether member is descendant of other member
 boolean checkDescendantO(Member aMember, java.lang.Object oMember)
          check, whether member object is descendant of member
 boolean checkParent(Member pMember, java.lang.Object cMembObj)
          check, whether member is parent of other member
 java.lang.Object createFunCall(java.lang.String function, java.lang.Object[] args, int funType)
          generation of FunCalls
 java.lang.Object createMemberSet(java.util.List mList)
          generate an object for a list of members
 Dimension dimForMember(Member member)
           
 boolean equalMember(java.lang.Object oExp, Member member)
           
 java.lang.Object funCallArg(java.lang.Object oExp, int index)
          get funcall argument
 int funCallArgCount(java.lang.Object oFun)
          get number of funCall arguments
 java.lang.String funCallName(java.lang.Object oFun)
          get funcall name
 java.lang.StringBuffer funString(java.lang.Object oExp)
           
 java.lang.Object[] getChildren(java.lang.Object oMember)
          determine the children of a member object
 java.lang.Object[] getLevelMembers(Level level)
          get the members of a level
 java.lang.String getMemberUniqueName(java.lang.Object oExp)
           
 Level getParentLevel(Level lev)
           
 Member getParentMember(java.lang.Object oExp)
           
 Hierarchy hierForExp(java.lang.Object oExp)
           
 Hierarchy hierForMember(Member member)
           
 boolean isChildOfMemberInFunCall(java.lang.Object oExp, Member member)
          check, whether a funcall set contains any child of a specific member
 boolean isDescendantOfMemberInFunCall(java.lang.Object oExp, Member member)
          check, whether funcall set contains descendant of a specific member
 boolean isFunCall(java.lang.Object oExp)
           
 boolean isFunCallNotTopLevel(java.lang.Object oExp)
          check whether a Funcall does NOT resolve to top level of hierarchy
 boolean isFunCallTo(java.lang.Object oExp, java.lang.String function)
           
 boolean isMember(java.lang.Object oExp)
           
 boolean isMemberInFunCall(java.lang.Object oExp, Member member)
          check, whether funcall set contains member
 boolean isMemberOnToplevel(java.lang.Object oMem)
          check, whether a member is on top level (has no parent);
 int levelDepthForMember(java.lang.Object oExp)
          level depth for member
 Level LevelForObj(java.lang.Object oLevel)
           
 Member memberForObj(java.lang.Object oExp)
           
 java.lang.String memberString(Member[] mPath)
           
 java.lang.Object objForDim(Dimension dim)
          Expression Object for Dimension
 java.lang.Object objForMember(Member member)
          Expression Object for member
 mondrian.olap.Exp toExp(java.lang.Object o)
          Converts an object to an expression.
 java.lang.Object topLevelMembers(Hierarchy hier, boolean expandAllMember)
           
 

Field Detail

FUNTYPE_FUNCTION

static final int FUNTYPE_FUNCTION
See Also:
Constant Field Values

FUNTYPE_PROPERTY

static final int FUNTYPE_PROPERTY
See Also:
Constant Field Values

FUNTYPE_BRACES

static final int FUNTYPE_BRACES
See Also:
Constant Field Values

FUNTYPE_TUPLE

static final int FUNTYPE_TUPLE
See Also:
Constant Field Values

FUNTYPE_INFIX

static final int FUNTYPE_INFIX
See Also:
Constant Field Values
Method Detail

isMember

boolean isMember(java.lang.Object oExp)
Parameters:
oExp -
Returns:
true if oExp is a member expression

isFunCall

boolean isFunCall(java.lang.Object oExp)
Parameters:
oExp -
Returns:
true if oExp is a FunCall expression

equalMember

boolean equalMember(java.lang.Object oExp,
                    Member member)
Parameters:
oExp -
member -
Returns:
true if oExp is equal to member

isFunCallTo

boolean isFunCallTo(java.lang.Object oExp,
                    java.lang.String function)
Parameters:
oExp -
function -
Returns:
true if oExp is a specific function call

checkParent

boolean checkParent(Member pMember,
                    java.lang.Object cMembObj)
check, whether member is parent of other member

Parameters:
pMember - (parent)
cMember - (child)
Returns:
true if cMember (2.arg) is child of pMember (1.arg)

checkChild

boolean checkChild(Member cMember,
                   java.lang.Object pMembObj)
check, whether member is child of other member

Parameters:
pMember - (child)
cMember - (parent)
Returns:
true if cMember (1.arg) is child of pMember (2.arg)

checkDescendantM

boolean checkDescendantM(Member aMember,
                         Member dMember)
check, whether member is descendant of other member

Parameters:
aMember - (ancestor)
dMember - (descendant)
Returns:
true if dMember (2.arg) is descendant of aMember (1.arg)

checkDescendantO

boolean checkDescendantO(Member aMember,
                         java.lang.Object oMember)
check, whether member object is descendant of member

Parameters:
aMember - (ancestor)
oMember - (descendant member object)
Returns:
true if 2.arg is descendant of 1.arg

isMemberInFunCall

boolean isMemberInFunCall(java.lang.Object oExp,
                          Member member)
                          throws Quax.CannotHandleException
check, whether funcall set contains member

Parameters:
f -
m -
Returns:
true if FunCall contains member
Throws:
Quax.CannotHandleException

isChildOfMemberInFunCall

boolean isChildOfMemberInFunCall(java.lang.Object oExp,
                                 Member member)
                                 throws Quax.CannotHandleException
check, whether a funcall set contains any child of a specific member

Parameters:
oExp - - funcall
member -
Returns:
true, if FunCall contains member's child
Throws:
Quax.CannotHandleException

isDescendantOfMemberInFunCall

boolean isDescendantOfMemberInFunCall(java.lang.Object oExp,
                                      Member member)
                                      throws Quax.CannotHandleException
check, whether funcall set contains descendant of a specific member

Parameters:
f -
m -
Returns:
true if FunCall contains descendant of member
Throws:
Quax.CannotHandleException

isFunCallNotTopLevel

boolean isFunCallNotTopLevel(java.lang.Object oExp)
                             throws Quax.CannotHandleException
check whether a Funcall does NOT resolve to top level of hierarchy

Parameters:
oExp - - FunCall Exp
Returns:
true, if any member of the set defined by funcall is NOT top level
Throws:
Quax.CannotHandleException

isMemberOnToplevel

boolean isMemberOnToplevel(java.lang.Object oMem)
check, whether a member is on top level (has no parent);

Parameters:
m - - member to be checked
Returns:
true - if member is on top level

canHandle

boolean canHandle(java.lang.Object oExp)
check a Funcall expression whether we can handle it. currently we can basically handle following FunCalls member.children, member.descendants, level.members


getParentMember

Member getParentMember(java.lang.Object oExp)

memberForObj

Member memberForObj(java.lang.Object oExp)

hierForMember

Hierarchy hierForMember(Member member)

dimForMember

Dimension dimForMember(Member member)

funString

java.lang.StringBuffer funString(java.lang.Object oExp)

getMemberUniqueName

java.lang.String getMemberUniqueName(java.lang.Object oExp)

objForMember

java.lang.Object objForMember(Member member)
Expression Object for member

Parameters:
member -
Returns:
Expression Object

objForDim

java.lang.Object objForDim(Dimension dim)
Expression Object for Dimension

Parameters:
member -
Returns:
Expression Object

memberString

java.lang.String memberString(Member[] mPath)

createMemberSet

java.lang.Object createMemberSet(java.util.List mList)
generate an object for a list of members

Parameters:
mList - list of members
Returns:
null for empty lis, single member or set function otherwise

levelDepthForMember

int levelDepthForMember(java.lang.Object oExp)
level depth for member

Parameters:
oExp - - member
Returns:
depth

hierForExp

Hierarchy hierForExp(java.lang.Object oExp)
                     throws Quax.CannotHandleException
Parameters:
oExp -
Returns:
hierarchy for Exp
Throws:
Quax.CannotHandleException

topLevelMembers

java.lang.Object topLevelMembers(Hierarchy hier,
                                 boolean expandAllMember)
Parameters:
hier - - the Hierarchy
expandAllMember - - if true, an "All" member will be expanded
Returns:
a set for the top level members of an hierarchy

createFunCall

java.lang.Object createFunCall(java.lang.String function,
                               java.lang.Object[] args,
                               int funType)
generation of FunCalls

Parameters:
function - name
args - arguments
funType - FUNTYPE
Returns:
function object

funCallArgCount

int funCallArgCount(java.lang.Object oFun)
get number of funCall arguments

Parameters:
oFun - funcall expression
Returns:
number of args

funCallName

java.lang.String funCallName(java.lang.Object oFun)
get funcall name

Parameters:
oFun - funcall expression
Returns:
function name

funCallArg

java.lang.Object funCallArg(java.lang.Object oExp,
                            int index)
get funcall argument

Parameters:
oFun - funcall expression
i - - index of argument
Returns:
argument object

getChildren

java.lang.Object[] getChildren(java.lang.Object oMember)
determine the children of a member object

Parameters:
oMember -
Returns:

getLevelMembers

java.lang.Object[] getLevelMembers(Level level)
get the members of a level


addMemberUncles

void addMemberUncles(java.util.List list,
                     Member m,
                     int[] maxLevel)

addMemberSiblings

void addMemberSiblings(java.util.List list,
                       Member m,
                       int[] maxLevel)

addMemberChildren

void addMemberChildren(java.util.List list,
                       Member m,
                       int[] maxLevel)

addMemberDescendants

void addMemberDescendants(java.util.List list,
                          Member m,
                          Level lev,
                          int[] maxLevel)

addLevelMembers

void addLevelMembers(java.util.List list,
                     Level lev,
                     int[] maxLevel)

LevelForObj

Level LevelForObj(java.lang.Object oLevel)

getParentLevel

Level getParentLevel(Level lev)

toExp

mondrian.olap.Exp toExp(java.lang.Object o)
Converts an object to an expression. In particular, adds expression wrappers (MemberExpr, etc.) to olap elements (Member, etc.).

Parameters:
o - Object, which may or may not be an expression
Returns:
An expression