Class DelegatingRolapMember
- java.lang.Object
-
- mondrian.olap.OlapElementBase
-
- mondrian.olap.MemberBase
-
- mondrian.rolap.RolapMemberBase
-
- mondrian.rolap.DelegatingRolapMember
-
- All Implemented Interfaces:
Comparable,Annotated,Member,OlapElement,RolapMember
- Direct Known Subclasses:
RolapCubeMember,RolapResult.CompoundSlicerRolapMember
public class DelegatingRolapMember extends RolapMemberBase
Implementation ofRolapMemberthat delegates all calls to an underlying member.- Since:
- Mar 16, 2010
- Author:
- jhyde
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class mondrian.rolap.RolapMemberBase
RolapMemberBase.DefaultPropertyValueMapFactory, RolapMemberBase.PropertyValueMapFactory, RolapMemberBase.PropertyValueMapFactoryFactory
-
Nested classes/interfaces inherited from interface mondrian.olap.Member
Member.MemberType
-
Nested classes/interfaces inherited from interface mondrian.olap.OlapElement
OlapElement.LocalizedProperty
-
-
Field Summary
Fields Modifier and Type Field Description RolapMembermember-
Fields inherited from class mondrian.olap.MemberBase
flags, level, parentMember, uniqueName
-
Fields inherited from class mondrian.olap.OlapElementBase
caption, visible
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedDelegatingRolapMember(RolapMember member)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description intcompareTo(Object o)Compares this member to anotherRolapMemberBase.List<Member>getAncestorMembers()Returns a list of the ancestor members of this member.Map<String,Annotation>getAnnotationMap()Returns a list of annotations.StringgetCaption()Returns the display name of this catalog element.MembergetDataMember()Returns the system-generated data member that is associated with a nonleaf member of a dimension.intgetDepth()returns the depth of this member, which is not the level's depth in case of parent child dimensionsStringgetDescription()DimensiongetDimension()Returns the dimension of a this expression, or null if no dimension is defined.ExpgetExpression()Returns the expression by which this member is calculated.RolapHierarchygetHierarchy()ObjectgetKey()RolapLevelgetLevel()Member.MemberTypegetMemberType()Returns the type of member.StringgetName()ComparablegetOrderKey()Returns the order key of this member among its siblings.intgetOrdinal()Returns the ordinal of this member within its hierarchy.RolapMembergetParentMember()Returns this member's parent, or null (not the 'null member', as returned byHierarchy.getNullMember()) if it has no parent.StringgetParentUniqueName()Returns name of parent member, or empty string (not null) if we are the root.Property[]getProperties()Returns the definitions of the properties this member may have.StringgetPropertyFormattedValue(String propertyName)Returns the formatted value of the property namedpropertyName.ObjectgetPropertyValue(String propertyName)Returns the value of the property namedpropertyName.ObjectgetPropertyValue(String propertyName, boolean matchCase)Returns the value of the property namedpropertyName, matching according to the required case-sensitivity.StringgetQualifiedName()Returns the name of this element qualified by its class, for example "hierarchy 'Customers'".intgetSolveOrder()StringgetUniqueName()booleanisAll()Returns whether this is the 'all' member.booleanisAllMember()booleanisCalculated()Returns whether this member is computed using either awith memberclause in an mdx query or a calculated member defined in cube.booleanisCalculatedInQuery()Returns whether this member is computed from aWITH MEMBERclause in an MDX query.booleanisChildOrEqualTo(Member member2)Returns whethermemberis equal to, a child, or a descendent of thisMember.booleanisEvaluated()Returns whether this member should be evaluated within the Evaluator.booleanisHidden()Returns whether this member is 'hidden', as per the rules which define a ragged hierarchy.booleanisMeasure()Returns whether this is a member of the measures dimension.booleanisNull()Returns whether this is the 'null member'.booleanisParentChildLeaf()booleanisParentChildPhysicalMember()OlapElementlookupChild(SchemaReader schemaReader, Id.Segment s, MatchType matchType)Looks up a child element, returning null if it does not exist.voidsetName(String name)Only allowable if the member is part of theWITHclause of a query.voidsetProperty(String name, Object value)Sets a property of this member to a given value.-
Methods inherited from class mondrian.rolap.RolapMemberBase
childLevelHasApproxRowCount, containsAggregateFunction, equals, equals, getAllMembers, getCaptionValue, getCompiledExpression, getHierarchyCardinality, getHierarchyOrdinal, getLogger, getPropertyFromMap, hashCode, keyToString, setCaptionValue, setContextIn, setOrdinal, setOrdinals, setUniqueName
-
Methods inherited from class mondrian.olap.MemberBase
computeCalculated, isChildOrEqualTo, isOnSameHierarchyChain, isOnSameHierarchyChainInternal
-
Methods inherited from class mondrian.olap.OlapElementBase
clone, computeHashCode, getLocalized, isVisible, setCaption, toString
-
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface mondrian.olap.Member
isOnSameHierarchyChain
-
Methods inherited from interface mondrian.olap.OlapElement
getLocalized, isVisible
-
-
-
-
Field Detail
-
member
public final RolapMember member
-
-
Constructor Detail
-
DelegatingRolapMember
protected DelegatingRolapMember(RolapMember member)
-
-
Method Detail
-
getLevel
public RolapLevel getLevel()
- Specified by:
getLevelin interfaceMember- Specified by:
getLevelin interfaceRolapMember- Overrides:
getLevelin classRolapMemberBase
-
getKey
public Object getKey()
- Specified by:
getKeyin interfaceRolapMember- Overrides:
getKeyin classRolapMemberBase
-
getParentMember
public RolapMember getParentMember()
Description copied from interface:MemberReturns this member's parent, or null (not the 'null member', as returned byHierarchy.getNullMember()) if it has no parent.In an access-control context, a member may have no visible parents, so use
SchemaReader.getMemberParent(mondrian.olap.Member).- Specified by:
getParentMemberin interfaceMember- Specified by:
getParentMemberin interfaceRolapMember- Overrides:
getParentMemberin classRolapMemberBase
-
getHierarchy
public RolapHierarchy getHierarchy()
- Specified by:
getHierarchyin interfaceMember- Specified by:
getHierarchyin interfaceOlapElement- Specified by:
getHierarchyin interfaceRolapMember- Overrides:
getHierarchyin classRolapMemberBase
-
getParentUniqueName
public String getParentUniqueName()
Description copied from interface:MemberReturns name of parent member, or empty string (not null) if we are the root.- Specified by:
getParentUniqueNamein interfaceMember- Overrides:
getParentUniqueNamein classMemberBase
-
getMemberType
public Member.MemberType getMemberType()
Description copied from interface:MemberReturns the type of member.- Specified by:
getMemberTypein interfaceMember- Overrides:
getMemberTypein classMemberBase
-
isParentChildLeaf
public boolean isParentChildLeaf()
- Specified by:
isParentChildLeafin interfaceMember- Overrides:
isParentChildLeafin classRolapMemberBase- Returns:
- True when the member is a leaf member, meaning it has no children
-
isParentChildPhysicalMember
public boolean isParentChildPhysicalMember()
- Specified by:
isParentChildPhysicalMemberin interfaceMember- Overrides:
isParentChildPhysicalMemberin classMemberBase- Returns:
- True when the member is part of a Parent-Child hierarchy and it is a physical member. In a Parent Child Hierarchy without a closure table, each member needs to be treated as calculated. We need a way to distinguish between true calculated members and physical members that exist in the source data
-
setName
public void setName(String name)
Description copied from interface:MemberOnly allowable if the member is part of theWITHclause of a query.- Specified by:
setNamein interfaceMember- Overrides:
setNamein classRolapMemberBase
-
isAll
public boolean isAll()
Description copied from interface:MemberReturns whether this is the 'all' member.- Specified by:
isAllin interfaceMember- Overrides:
isAllin classMemberBase
-
isMeasure
public boolean isMeasure()
Description copied from interface:MemberReturns whether this is a member of the measures dimension.- Specified by:
isMeasurein interfaceMember- Overrides:
isMeasurein classMemberBase
-
isNull
public boolean isNull()
Description copied from interface:MemberReturns whether this is the 'null member'.- Specified by:
isNullin interfaceMember- Overrides:
isNullin classMemberBase
-
isChildOrEqualTo
public boolean isChildOrEqualTo(Member member2)
Description copied from interface:MemberReturns whethermemberis equal to, a child, or a descendent of thisMember.- Specified by:
isChildOrEqualToin interfaceMember- Overrides:
isChildOrEqualToin classMemberBase
-
isCalculated
public boolean isCalculated()
Description copied from interface:MemberReturns whether this member is computed using either awith memberclause in an mdx query or a calculated member defined in cube.- Specified by:
isCalculatedin interfaceMember- Overrides:
isCalculatedin classMemberBase
-
isEvaluated
public boolean isEvaluated()
Description copied from interface:MemberReturns whether this member should be evaluated within the Evaluator.Normally
Member.isCalculated()andMember.isEvaluated()should return the same value, but in situations where mondrian would like to treat the two concepts separately such in role based security, these values may differ.- Specified by:
isEvaluatedin interfaceMember- Overrides:
isEvaluatedin classMemberBase- Returns:
- true if evaluated
-
getSolveOrder
public int getSolveOrder()
- Specified by:
getSolveOrderin interfaceMember- Overrides:
getSolveOrderin classMemberBase
-
getExpression
public Exp getExpression()
Description copied from class:MemberBaseReturns the expression by which this member is calculated. The expression is not null if and only if the member is not calculated.- Specified by:
getExpressionin interfaceMember- Overrides:
getExpressionin classMemberBase
-
getAncestorMembers
public List<Member> getAncestorMembers()
Description copied from interface:MemberReturns a list of the ancestor members of this member.- Specified by:
getAncestorMembersin interfaceMember- Overrides:
getAncestorMembersin classMemberBase
-
isCalculatedInQuery
public boolean isCalculatedInQuery()
Description copied from interface:MemberReturns whether this member is computed from aWITH MEMBERclause in an MDX query.- Specified by:
isCalculatedInQueryin interfaceMember- Overrides:
isCalculatedInQueryin classRolapMemberBase
-
getPropertyValue
public Object getPropertyValue(String propertyName)
Description copied from interface:MemberReturns the value of the property namedpropertyName. Name match is case-sensitive.- Specified by:
getPropertyValuein interfaceMember- Overrides:
getPropertyValuein classRolapMemberBase
-
getPropertyValue
public Object getPropertyValue(String propertyName, boolean matchCase)
Description copied from interface:MemberReturns the value of the property namedpropertyName, matching according to the required case-sensitivity.- Specified by:
getPropertyValuein interfaceMember- Overrides:
getPropertyValuein classRolapMemberBase
-
getPropertyFormattedValue
public String getPropertyFormattedValue(String propertyName)
Description copied from interface:MemberReturns the formatted value of the property namedpropertyName.- Specified by:
getPropertyFormattedValuein interfaceMember- Overrides:
getPropertyFormattedValuein classRolapMemberBase
-
setProperty
public void setProperty(String name, Object value)
Description copied from class:RolapMemberBaseSets a property of this member to a given value.WARNING: Setting system properties such as "$name" may have nasty side-effects.
- Specified by:
setPropertyin interfaceMember- Overrides:
setPropertyin classRolapMemberBase
-
getProperties
public Property[] getProperties()
Description copied from interface:MemberReturns the definitions of the properties this member may have.- Specified by:
getPropertiesin interfaceMember- Overrides:
getPropertiesin classRolapMemberBase
-
getOrdinal
public int getOrdinal()
Description copied from class:MemberBaseReturns the ordinal of this member within its hierarchy. The default implementation returns -1.- Specified by:
getOrdinalin interfaceMember- Overrides:
getOrdinalin classRolapMemberBase
-
getOrderKey
public Comparable getOrderKey()
Description copied from class:MemberBaseReturns the order key of this member among its siblings. The default implementation returns null.- Specified by:
getOrderKeyin interfaceMember- Overrides:
getOrderKeyin classRolapMemberBase
-
isHidden
public boolean isHidden()
Description copied from interface:MemberReturns whether this member is 'hidden', as per the rules which define a ragged hierarchy.- Specified by:
isHiddenin interfaceMember- Overrides:
isHiddenin classRolapMemberBase
-
getDepth
public int getDepth()
Description copied from interface:Memberreturns the depth of this member, which is not the level's depth in case of parent child dimensions- Specified by:
getDepthin interfaceMember- Overrides:
getDepthin classRolapMemberBase- Returns:
- depth
-
getDataMember
public Member getDataMember()
Description copied from interface:MemberReturns the system-generated data member that is associated with a nonleaf member of a dimension.Returns this member if this member is a leaf member, or if the nonleaf member does not have an associated data member.
- Specified by:
getDataMemberin interfaceMember- Overrides:
getDataMemberin classMemberBase
-
compareTo
public int compareTo(Object o)
Description copied from class:RolapMemberBaseCompares this member to anotherRolapMemberBase.The method first compares on keys; null keys always collate last. If the keys are equal, it compares using unique name.
This method does not consider
RolapMemberBase.ordinalfield, because ordinal is only unique within a parent. If you want to compare members which may be at any position in the hierarchy, useFunUtil.compareHierarchically(mondrian.olap.Member, mondrian.olap.Member, boolean).- Specified by:
compareToin interfaceComparable- Overrides:
compareToin classRolapMemberBase- Returns:
- -1 if this is less, 0 if this is the same, 1 if this is greater
-
getUniqueName
public String getUniqueName()
- Specified by:
getUniqueNamein interfaceOlapElement- Overrides:
getUniqueNamein classMemberBase
-
getName
public String getName()
- Specified by:
getNamein interfaceOlapElement- Overrides:
getNamein classRolapMemberBase
-
getDescription
public String getDescription()
- Specified by:
getDescriptionin interfaceOlapElement- Overrides:
getDescriptionin classMemberBase
-
lookupChild
public OlapElement lookupChild(SchemaReader schemaReader, Id.Segment s, MatchType matchType)
Description copied from interface:OlapElementLooks up a child element, returning null if it does not exist.- Specified by:
lookupChildin interfaceOlapElement- Overrides:
lookupChildin classMemberBase
-
getAnnotationMap
public Map<String,Annotation> getAnnotationMap()
Description copied from interface:AnnotatedReturns a list of annotations.The map may be empty, never null.
- Specified by:
getAnnotationMapin interfaceAnnotated- Overrides:
getAnnotationMapin classRolapMemberBase- Returns:
- Map from annotation name to annotations.
-
getQualifiedName
public String getQualifiedName()
Description copied from interface:OlapElementReturns the name of this element qualified by its class, for example "hierarchy 'Customers'".- Specified by:
getQualifiedNamein interfaceOlapElement- Overrides:
getQualifiedNamein classMemberBase
-
getCaption
public String getCaption()
Description copied from class:OlapElementBaseReturns the display name of this catalog element. If no caption is defined, the name is returned.- Specified by:
getCaptionin interfaceOlapElement- Overrides:
getCaptionin classMemberBase
-
getDimension
public Dimension getDimension()
Description copied from interface:OlapElementReturns the dimension of a this expression, or null if no dimension is defined. Applicable only to set expressions.Example 1:
has dimension[Sales].children
[Sales].Example 2:
has dimension [Promotion Media].order(except([Promotion Media].[Media Type].members, {[Promotion Media].[Media Type].[No Media]}), [Measures].[Unit Sales], DESC)Example 3:
has no dimension (well, actually it is [Product] x [Gender], but we can't represent that, so we return null);CrossJoin([Product].[Product Department].members, [Gender].members)- Specified by:
getDimensionin interfaceOlapElement- Overrides:
getDimensionin classMemberBase
-
isAllMember
public boolean isAllMember()
- Specified by:
isAllMemberin interfaceRolapMember- Overrides:
isAllMemberin classRolapMemberBase
-
-