com.sas.iquery.execution2
Class IQOlapResultSetMetaData

com.sas.iquery.execution2.IQOlapResultSetMetaData
All Implemented Interfaces:
IQResultSetMetaData

public class IQOlapResultSetMetaData

IQOlapResultSetMetadata is an OLAP implementation of IQResultSetMetaData. Being an IQResultSetMetaData, we provide the ability to retrieve the data items that were used to create the underlying result set.

In the case of OLAP, we also provide the mechanism to drill.


Constructor Summary
IQOlapResultSetMetaData(com.sas.storage.olap.OLAPDataSetInterface olapDataSet, BusinessQuery businessQuery)
          Create an IQOlapResultSetMetadata object, based on metadata derived from the underlying, concrete, OLAPDataSetInterface object and information provided by the IQ model through the input BusinessQuery.
 
Method Summary
 java.util.Map<java.lang.Integer,java.util.List<DrillPath>> getAllDrillPaths()
          The IQOlapResultSetMetadata implementation of #getDrillPaths(int) returns a list of drill path objects; OLAP result set metadata can be drilled.
 DataItem getDataItem(java.lang.Object uniquePhysicalObject)
          Returns the data item associated with this physical object.
 java.util.List<DrillPath> getDrillPaths(DataItem dataItem)
          The IQOlapResultSetMetadata implementation of #getDrillPaths(DataItem) returns a list of drill path objects; OLAP result set metadata can be drilled.
 java.util.List<DrillPath> getDrillPaths(int axis)
          The IQOlapResultSetMetadata implementation of #getDrillPaths(int) returns a list of drill path objects; OLAP result set metadata can be drilled.
 java.util.List<com.sas.storage.olap.HierarchyInterface> getPhysicalHierarchies()
          Returns a list of physical hierarchies HierarchyInterface associated to the OLAP result set.
 java.util.List<com.sas.storage.olap.MeasureInterface> getPhysicalMeasures()
          Returns a list of physical measures MeasureInterface associated to the OLAP result set.
 boolean isDrillable()
          The IQOlapResultSetMetadata implementation of #isDrillable returns true - OLAP result set metadata can be drilled.
 
Methods inherited from class com.sas.iquery.execution2.AbstractIQResultSetMetaData
addStringToDataItem, getDataItems, getUniqueNames, stringToDataItem
 

Constructor Detail

IQOlapResultSetMetaData

public IQOlapResultSetMetaData(@NonNull
                               com.sas.storage.olap.OLAPDataSetInterface olapDataSet,
                               @NonNull
                               BusinessQuery businessQuery)
                        throws ExecutionException
Create an IQOlapResultSetMetadata object, based on metadata derived from the underlying, concrete, OLAPDataSetInterface object and information provided by the IQ model through the input BusinessQuery.

Parameters:
olapDataSet - the concrete OLAP data set
bq - the business query used to create the OLAP result set
Throws:
ExecutionException
Method Detail

getAllDrillPaths

public java.util.Map<java.lang.Integer,java.util.List<DrillPath>> getAllDrillPaths()
                                                                            throws ExecutionException
The IQOlapResultSetMetadata implementation of #getDrillPaths(int) returns a list of drill path objects; OLAP result set metadata can be drilled.

The IQResultSetMetaData implementation of #getAllDrillPaths() throws an UnsupportedOperationException.

Subclasses that support drilling should provide their own implementation.

Return a map, in which the key is the axis and the value is a list of drill path objects for each axis.

Specified by:
getAllDrillPaths in interface IQResultSetMetaData
Overrides:
getAllDrillPaths in class AbstractIQResultSetMetaData
Returns:
a list, in which each value is a list of drill path objects
Throws:
ExecutionException

getDataItem

public DataItem getDataItem(java.lang.Object uniquePhysicalObject)
Description copied from interface: IQResultSetMetaData
Returns the data item associated with this physical object.

Specified by:
getDataItem in interface IQResultSetMetaData
Overrides:
getDataItem in class AbstractIQResultSetMetaData
Parameters:
uniquePhysicalObject - which can be a String object (either tuple unique name, level name, or member name), a MeasureInterface object, a HierarchyInterface object, or some other, yet to be defined, object.
Returns:
the DataItem associated with this physical object
See Also:
AbstractIQResultSetMetaData.getDataItem(java.lang.Object)

getDrillPaths

@NonNull
public java.util.List<DrillPath> getDrillPaths(DataItem dataItem)
The IQOlapResultSetMetadata implementation of #getDrillPaths(DataItem) returns a list of drill path objects; OLAP result set metadata can be drilled.

The IQResultSetMetaData implementation of #getDrillPaths(DataItem) throws an UnsupportedOperationException.

Subclasses that support drilling should provide their own implementation.

Return the list of drill paths for this data item.

Specified by:
getDrillPaths in interface IQResultSetMetaData
Overrides:
getDrillPaths in class AbstractIQResultSetMetaData
Returns:
a list of DrillPath objects.
Throws:
ExecutionException

getDrillPaths

@NonNull
public java.util.List<DrillPath> getDrillPaths(int axis)
                                        throws ExecutionException
The IQOlapResultSetMetadata implementation of #getDrillPaths(int) returns a list of drill path objects; OLAP result set metadata can be drilled.

The IQResultSetMetaData implementation of #getDrillPaths(int) throws an UnsupportedOperationException.

Subclasses that support drilling should provide their own implementation.

Return a list of drill path objects, representing the user's current drill state into the result set.

Specified by:
getDrillPaths in interface IQResultSetMetaData
Overrides:
getDrillPaths in class AbstractIQResultSetMetaData
Parameters:
axis - the axis as defined in AxisInterface
Throws:
ExecutionException

getPhysicalHierarchies

@NonNull
public java.util.List<com.sas.storage.olap.HierarchyInterface> getPhysicalHierarchies()
Returns a list of physical hierarchies HierarchyInterface associated to the OLAP result set.

Returns:
a list of the physical hierarchies HierarchyInterface associated to the OLAP result set. The list may be empty, but is never null.

getPhysicalMeasures

@NonNull
public java.util.List<com.sas.storage.olap.MeasureInterface> getPhysicalMeasures()
Returns a list of physical measures MeasureInterface associated to the OLAP result set.

Returns:
a list of the physical measures MeasureInterface associated to the OLAP result set. The list may be empty, but is never null.

isDrillable

public boolean isDrillable()
The IQOlapResultSetMetadata implementation of #isDrillable returns true - OLAP result set metadata can be drilled.

The AbstractIQResultSetMetadata implementation of #isDrillable returns false.

Subclasses that support drilling will return true.

Return true if this result set metadata supports drilling. If drilling is not supported, methods such getDrillPaths() will throw an UnsupportedOperationException.

Specified by:
isDrillable in interface IQResultSetMetaData
Overrides:
isDrillable in class AbstractIQResultSetMetaData
Throws:
ExecutionException
{@link - UnsupportedOperationException} if the subclass does not support drilling



Copyright © 2009 SAS Institute Inc. All Rights Reserved.