Package mondrian.xmla
Interface XmlaHandler.XmlaExtra
-
- Enclosing class:
- XmlaHandler
public static interface XmlaHandler.XmlaExtra
Extra 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.XmlaExtraImpl
class provides a default implementation that uses the olap4j interface exclusively.
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static class
XmlaHandler.XmlaExtra.FunctionDefinition
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description boolean
canDrillThrough(org.olap4j.Cell cell)
Returns a boolean indicating if the specified cell can be drilled on.void
checkMemberOrdinal(org.olap4j.metadata.Member member)
ResultSet
executeDrillthrough(org.olap4j.OlapStatement olapStatement, String mdx, boolean advanced, String tabFields, int[] rowCountSlot)
void
flushSchemaCache(org.olap4j.OlapConnection conn)
Makes the connection send a command to the server to flush all caches.Map<String,Object>
getAnnotationMap(org.olap4j.metadata.MetadataElement element)
Returns a map containing annotations on this element.String
getCubeType(org.olap4j.metadata.Cube cube)
List<Map<String,Object>>
getDataSources(org.olap4j.OlapConnection connection)
Returns a list of the data sources in this server.int
getDrillThroughCount(org.olap4j.Cell cell)
Returns the number of rows returned by a drillthrough on the specified cell.int
getHierarchyCardinality(org.olap4j.metadata.Hierarchy hierarchy)
int
getHierarchyStructure(org.olap4j.metadata.Hierarchy hierarchy)
int
getLevelCardinality(org.olap4j.metadata.Level level)
default String
getLevelDataType(org.olap4j.metadata.Level level)
Returns the data type of the level's key.List<org.olap4j.metadata.Property>
getLevelProperties(org.olap4j.metadata.Level level)
Returns the defined properties of a level.int
getMeasureAggregator(org.olap4j.metadata.Member member)
Object
getMemberKey(org.olap4j.metadata.Member m)
Returns the key for a given member.Object
getOrderKey(org.olap4j.metadata.Member m)
Returns the ordering key for a given member.void
getSchemaFunctionList(List<XmlaHandler.XmlaExtra.FunctionDefinition> funDefs, org.olap4j.metadata.Schema schema, Util.Functor1<Boolean,String> functionFilter)
String
getSchemaId(org.olap4j.metadata.Schema schema)
Returns the unique ID of a schema.Date
getSchemaLoadDate(org.olap4j.metadata.Schema schema)
List<String>
getSchemaRoleNames(org.olap4j.metadata.Schema schema)
Returns a list of names of roles in the given schema to which the current user belongs.boolean
isHierarchyParentChild(org.olap4j.metadata.Hierarchy hierarchy)
boolean
isLevelUnique(org.olap4j.metadata.Level level)
boolean
isPropertyInternal(org.olap4j.metadata.Property property)
void
setPreferList(org.olap4j.OlapConnection connection)
boolean
shouldReturnCellProperty(org.olap4j.CellSet cellSet, org.olap4j.metadata.Property cellProperty, boolean evenEmpty)
Returns whether we should return a cell property in the XMLA result.
-
-
-
Method Detail
-
executeDrillthrough
ResultSet executeDrillthrough(org.olap4j.OlapStatement olapStatement, String mdx, boolean advanced, String tabFields, int[] rowCountSlot) throws SQLException
- Throws:
SQLException
-
setPreferList
void setPreferList(org.olap4j.OlapConnection connection)
-
getSchemaLoadDate
Date getSchemaLoadDate(org.olap4j.metadata.Schema schema)
-
getLevelCardinality
int getLevelCardinality(org.olap4j.metadata.Level level) throws org.olap4j.OlapException
- Throws:
org.olap4j.OlapException
-
getSchemaFunctionList
void getSchemaFunctionList(List<XmlaHandler.XmlaExtra.FunctionDefinition> funDefs, org.olap4j.metadata.Schema schema, Util.Functor1<Boolean,String> functionFilter)
-
getHierarchyCardinality
int getHierarchyCardinality(org.olap4j.metadata.Hierarchy hierarchy) throws org.olap4j.OlapException
- Throws:
org.olap4j.OlapException
-
getHierarchyStructure
int getHierarchyStructure(org.olap4j.metadata.Hierarchy hierarchy)
-
isHierarchyParentChild
boolean isHierarchyParentChild(org.olap4j.metadata.Hierarchy hierarchy)
-
getMeasureAggregator
int getMeasureAggregator(org.olap4j.metadata.Member member)
-
checkMemberOrdinal
void checkMemberOrdinal(org.olap4j.metadata.Member member) throws org.olap4j.OlapException
- Throws:
org.olap4j.OlapException
-
shouldReturnCellProperty
boolean shouldReturnCellProperty(org.olap4j.CellSet cellSet, org.olap4j.metadata.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(org.olap4j.metadata.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
-
getSchemaId
String getSchemaId(org.olap4j.metadata.Schema schema)
Returns the unique ID of a schema.
-
getCubeType
String getCubeType(org.olap4j.metadata.Cube cube)
-
isLevelUnique
boolean isLevelUnique(org.olap4j.metadata.Level level)
-
getLevelProperties
List<org.olap4j.metadata.Property> getLevelProperties(org.olap4j.metadata.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(org.olap4j.metadata.Property property)
-
getDataSources
List<Map<String,Object>> getDataSources(org.olap4j.OlapConnection connection) throws org.olap4j.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:
org.olap4j.OlapException
- on error
-
getAnnotationMap
Map<String,Object> getAnnotationMap(org.olap4j.metadata.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(org.olap4j.Cell cell)
Returns a boolean indicating if the specified cell can be drilled on.
-
getDrillThroughCount
int getDrillThroughCount(org.olap4j.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(org.olap4j.OlapConnection conn) throws org.olap4j.OlapException
Makes the connection send a command to the server to flush all caches.- Throws:
org.olap4j.OlapException
-
getMemberKey
Object getMemberKey(org.olap4j.metadata.Member m) throws org.olap4j.OlapException
Returns the key for a given member.- Throws:
org.olap4j.OlapException
-
getOrderKey
Object getOrderKey(org.olap4j.metadata.Member m) throws org.olap4j.OlapException
Returns the ordering key for a given member.- Throws:
org.olap4j.OlapException
-
getLevelDataType
default String getLevelDataType(org.olap4j.metadata.Level level)
Returns the data type of the level's key.- Parameters:
level
-- Returns:
- String|Numeric|Integer|Boolean|Date|Time|Timestamp
-
-