Package mondrian.xmla
Interface XmlaHandler.XmlaExtra
-
- All Known Implementing Classes:
MondrianOlap4jExtra
- Enclosing class:
- XmlaHandler
public static interface XmlaHandler.XmlaExtraExtra support for XMLA server. If a connection provides this interface, the XMLA server will call methods in this interface instead of relying on the core olap4j interface.The
XmlaHandler.XmlaExtraImplclass provides a default implementation that uses the olap4j interface exclusively.
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static classXmlaHandler.XmlaExtra.FunctionDefinition
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description booleancanDrillThrough(Cell cell)Returns a boolean indicating if the specified cell can be drilled on.voidcheckMemberOrdinal(Member member)ResultSetexecuteDrillthrough(OlapStatement olapStatement, String mdx, boolean advanced, String tabFields, int[] rowCountSlot)voidflushSchemaCache(OlapConnection conn)Makes the connection send a command to the server to flush all caches.Map<String,Object>getAnnotationMap(MetadataElement element)Returns a map containing annotations on this element.StringgetCubeType(Cube cube)List<Map<String,Object>>getDataSources(OlapConnection connection)Returns a list of the data sources in this server.intgetDrillThroughCount(Cell cell)Returns the number of rows returned by a drillthrough on the specified cell.intgetHierarchyCardinality(Hierarchy hierarchy)intgetHierarchyStructure(Hierarchy hierarchy)intgetLevelCardinality(Level level)List<Property>getLevelProperties(Level level)Returns the defined properties of a level.intgetMeasureAggregator(Member member)ObjectgetMemberKey(Member m)Returns the key for a given member.ObjectgetOrderKey(Member m)Returns the ordering key for a given member.voidgetSchemaFunctionList(List<XmlaHandler.XmlaExtra.FunctionDefinition> funDefs, Schema schema, Util.Functor1<Boolean,String> functionFilter)StringgetSchemaId(Schema schema)Returns the unique ID of a schema.DategetSchemaLoadDate(Schema schema)List<String>getSchemaRoleNames(Schema schema)Returns a list of names of roles in the given schema to which the current user belongs.booleanisHierarchyParentChild(Hierarchy hierarchy)booleanisLevelUnique(Level level)booleanisPropertyInternal(Property property)voidsetPreferList(OlapConnection connection)booleanshouldReturnCellProperty(CellSet cellSet, Property cellProperty, boolean evenEmpty)Returns whether we should return a cell property in the XMLA result.
-
-
-
Method Detail
-
executeDrillthrough
ResultSet executeDrillthrough(OlapStatement olapStatement, String mdx, boolean advanced, String tabFields, int[] rowCountSlot) throws SQLException
- Throws:
SQLException
-
setPreferList
void setPreferList(OlapConnection connection)
-
getLevelCardinality
int getLevelCardinality(Level level) throws OlapException
- Throws:
OlapException
-
getSchemaFunctionList
void getSchemaFunctionList(List<XmlaHandler.XmlaExtra.FunctionDefinition> funDefs, Schema schema, Util.Functor1<Boolean,String> functionFilter)
-
getHierarchyCardinality
int getHierarchyCardinality(Hierarchy hierarchy) throws OlapException
- Throws:
OlapException
-
getHierarchyStructure
int getHierarchyStructure(Hierarchy hierarchy)
-
isHierarchyParentChild
boolean isHierarchyParentChild(Hierarchy hierarchy)
-
getMeasureAggregator
int getMeasureAggregator(Member member)
-
checkMemberOrdinal
void checkMemberOrdinal(Member member) throws OlapException
- Throws:
OlapException
-
shouldReturnCellProperty
boolean shouldReturnCellProperty(CellSet cellSet, Property cellProperty, boolean evenEmpty)
Returns whether we should return a cell property in the XMLA result.- Parameters:
cellSet- Cell setcellProperty- Cell property definitionevenEmpty- Whether to return even if cell has no properties- Returns:
- Whether to return cell property in XMLA result
-
getSchemaRoleNames
List<String> getSchemaRoleNames(Schema schema)
Returns a list of names of roles in the given schema to which the current user belongs.- Parameters:
schema- Schema- Returns:
- List of roles
-
isLevelUnique
boolean isLevelUnique(Level level)
-
getLevelProperties
List<Property> getLevelProperties(Level level)
Returns the defined properties of a level. (Not including system properties that every level has.)- Parameters:
level- Level- Returns:
- Defined properties
-
isPropertyInternal
boolean isPropertyInternal(Property property)
-
getDataSources
List<Map<String,Object>> getDataSources(OlapConnection connection) throws OlapException
Returns a list of the data sources in this server. One element per data source, each element a map whose keys are the XMLA fields describing a data source: "DataSourceName", "DataSourceDescription", "URL", etc. Unrecognized fields are ignored.- Parameters:
connection- Connection- Returns:
- List of data source definitions
- Throws:
OlapException- on error
-
getAnnotationMap
Map<String,Object> getAnnotationMap(MetadataElement element) throws SQLException
Returns a map containing annotations on this element.- Parameters:
element- Element- Returns:
- Annotation map, never null
- Throws:
SQLException
-
canDrillThrough
boolean canDrillThrough(Cell cell)
Returns a boolean indicating if the specified cell can be drilled on.
-
getDrillThroughCount
int getDrillThroughCount(Cell cell)
Returns the number of rows returned by a drillthrough on the specified cell. Will also return -1 if it cannot determine the cardinality.
-
flushSchemaCache
void flushSchemaCache(OlapConnection conn) throws OlapException
Makes the connection send a command to the server to flush all caches.- Throws:
OlapException
-
getMemberKey
Object getMemberKey(Member m) throws OlapException
Returns the key for a given member.- Throws:
OlapException
-
getOrderKey
Object getOrderKey(Member m) throws OlapException
Returns the ordering key for a given member.- Throws:
OlapException
-
-