org.olap4j.metadata
Interface Cube

All Superinterfaces:
MetadataElement

public interface Cube
extends MetadataElement

Central metadata object for representation of multidimensional data.

A Cube belongs to a Schema, and is described by a list of Dimensions and a list of Measures. It may also have one or more NamedSets.

Since:
Aug 22, 2006
Version:
$Id: Cube.java 229 2009-05-08 19:11:29Z jhyde $
Author:
jhyde
See Also:
getMeasures()

Method Summary
 NamedList<Dimension> getDimensions()
          Returns a list of Dimension objects in this Cube.
 NamedList<Hierarchy> getHierarchies()
          Returns a list of Hierarchy objects in this Cube.
 java.util.List<Measure> getMeasures()
          Returns a list of Measure objects in this Cube.
 Schema getSchema()
          Returns the Schema this Cube belongs to.
 NamedList<NamedSet> getSets()
          Returns a list of NamedSet objects in this Cube.
 java.util.Collection<java.util.Locale> getSupportedLocales()
          Returns a collection of Locale objects for which this Cube has been localized.
 Member lookupMember(java.lang.String... nameParts)
          Finds a member in the current Cube based upon its fully-qualified name.
 java.util.List<Member> lookupMembers(java.util.Set<Member.TreeOp> treeOps, java.lang.String... nameParts)
          Finds a collection of members in the current Cube related to a given member.
 
Methods inherited from interface org.olap4j.metadata.MetadataElement
getCaption, getDescription, getName, getUniqueName
 

Method Detail

getSchema

Schema getSchema()
Returns the Schema this Cube belongs to.

Returns:
Schema this Cube belongs to

getDimensions

NamedList<Dimension> getDimensions()
Returns a list of Dimension objects in this Cube.

The caller should assume that the list is immutable; if the caller modifies the list, behavior is undefined.

Returns:
list of Dimensions
See Also:
OlapDatabaseMetaData.getDimensions(String,String,String,String)

getHierarchies

NamedList<Hierarchy> getHierarchies()
Returns a list of Hierarchy objects in this Cube.

The caller should assume that the list is immutable; if the caller modifies the list, behavior is undefined.

Returns:
list of Dimensions
See Also:
OlapDatabaseMetaData.getHierarchies(String, String, String, String, String)

getMeasures

java.util.List<Measure> getMeasures()
Returns a list of Measure objects in this Cube.

The list includes both stored and calculated members, and (unlike the OlapDatabaseMetaData.getMeasures(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String) method or the MDSCHEMA_MEASURES XMLA request) is sorted by ordinal.

Returns:
list of Measures
See Also:
OlapDatabaseMetaData.getMeasures(String,String,String,String,String)

getSets

NamedList<NamedSet> getSets()
Returns a list of NamedSet objects in this Cube.

The caller should assume that the list is immutable; if the caller modifies the list, behavior is undefined.

Returns:
list of NamedSets
See Also:
OlapDatabaseMetaData.getSets(String,String,String,String)

getSupportedLocales

java.util.Collection<java.util.Locale> getSupportedLocales()
Returns a collection of Locale objects for which this Cube has been localized.

Consider the following use case. Suppose one cube is available in English and French, and in French and Spanish, and both are shown in same portal. Clients typically say that seeing reports in a mixture of languages is confusing; the portal would figure out the best common language, in this case French. This method allows the client to choose the most appropriate locale.

The list is advisory: a client is free to choose another locale, in which case, the server will probably revert to the base locale for locale-specific behavior such as captions and formatting.

Returns:
List of locales for which this Cube has been localized
See Also:
Schema.getSupportedLocales()

lookupMember

Member lookupMember(java.lang.String... nameParts)
                    throws OlapException
Finds a member in the current Cube based upon its fully-qualified name. Returns the member, or null if there is no member with this name.

The fully-qualified name starts with the name of the dimension, followed by the name of a root member, and continues with the name of each successive member on the path from the root member. If a member's name is unique within its level, preceding member name can be omitted.

For example, lookupMember("Product", "Food") and lookupMember("Product", "All Products", "Food") are both valid ways to locate the "Food" member of the "Product" dimension.

Parameters:
nameParts - Components of the fully-qualified member name
Returns:
member with the given name, or null if not found
Throws:
OlapException - if error occurs

lookupMembers

java.util.List<Member> lookupMembers(java.util.Set<Member.TreeOp> treeOps,
                                     java.lang.String... nameParts)
                                     throws OlapException
Finds a collection of members in the current Cube related to a given member.

The method first looks up a member with the given fully-qualified name as for lookupMember(String[]), then applies the set of tree-operations to find related members.

The returned collection is sorted by level number then by member ordinal. If no member is found with the given name, the collection is empty.

For example,

 lookupMembers(
     EnumSet.of(TreeOp.ANCESTORS, TreeOp.CHILDREN),
     "Time", "1997", "Q2")
 
returns

 [Time].[1997]
 [Time].[1997].[Q2].[4]
 [Time].[1997].[Q2].[5]
 [Time].[1997].[Q2].[6]
 

The fully-qualified name starts with the name of the dimension, followed by the name of a root member, and continues with the name of each successive member on the path from the root member. If a member's name is unique within its level, preceding member name can be omitted.

For example, lookupMember("Product", "Food") and lookupMember("Product", "All Products", "Food") are both valid ways to locate the "Food" member of the "Product" dimension.

Parameters:
nameParts - Components of the fully-qualified member name
treeOps - Collection of tree operations to travel relative to given member in order to create list of members
Returns:
collection of members related to the given member, or empty set if the member is not found
Throws:
OlapException - if error occurs

SourceForge.net_Logo