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.

  • Method Details

    • 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)
    • getMeasureDisplayFolder

      String getMeasureDisplayFolder(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 set
      cellProperty - Cell property definition
      evenEmpty - 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 - the level
      Returns:
      String|Numeric|Integer|Boolean|Date|Time|Timestamp