Oracle Fusion Middleware Java API Reference for Oracle Data Visualization Components
11g Release 1 (11.1.1.6.0)

E12063-07

oracle.dss.dataView
Class LocalPivotTableDataSource

java.lang.Object
  extended by oracle.dss.util.DataAccessAdapter
      extended by oracle.dss.dataView.LocalPivotTableDataSource
All Implemented Interfaces:
CDFDataAccess, CubeDataAccess, CubeDataDirector, DataAccess, DataDirector, DataSource, RelationalDataAccess, RelationalDataDirector

public class LocalPivotTableDataSource
extends DataAccessAdapter
implements CubeDataDirector, CubeDataAccess, RelationalDataDirector, RelationalDataAccess, DataSource


Field Summary
protected  DataDirectorListener listener
           
 
Fields inherited from interface oracle.dss.util.DataDirector
COLUMN_EDGE, DATA_ELEMENT_EDGE, DRILL_BACK, DRILL_COLLAPSE, DRILL_MEMBERS_ABOVE, DRILL_MEMBERS_BELOW, DRILL_REPLACE, DRILL_TO_PARENT, DRILL_TO_PARENT_AND_SIBLINGS, DRILLSTATE_DRILLABLE, DRILLSTATE_IS_DRILLED, DRILLSTATE_NOT_DRILLABLE, FORCE_FETCH_DATA, FORCE_FETCH_RELATIVE_INDENT, FORCE_FETCH_SPANS, GRAND_TOTAL_LAYER, GROUPSORT_END, GROUPSORT_MIDDLE, GROUPSORT_NONE, GROUPSORT_START, HIDDEN_EDGE, max_edge, NA_SUPPRESSION, NA_ZERO_SUPPRESSION, NO_SUPPRESSION, NO_TOTALS, PAGE_EDGE, PIVOT_CHECK_OK, PIVOT_CHECK_UNKNOWN, PIVOT_EDGES, PIVOT_MOVE_AFTER, PIVOT_MOVE_BEFORE, PIVOT_MOVE_TO, PIVOT_SWAP, PROP_ASYNCHRONOUS, PROP_AUTO_FIRE_EVENTS, PROP_CACHE_LIMIT, PROP_COLUMN_FETCH_SIZE, PROP_COLUMN_SORTS_SUPPORTED, PROP_DD2_DRILL_SUPPORTED, PROP_DD2_VARIABLE_DRILLPATHS, PROP_DEFAULT_DRILL_TYPE, PROP_EDGE_EXTENT_AVAILABLE, PROP_HIDDEN_EDGE_SUPPORTED, PROP_IS_COLUMN_OUTLINE_SUPPORTED, PROP_IS_OUTLINE_SUPPORTED, PROP_IS_ROW_OUTLINE_SUPPORTED, PROP_PAGE_SORTS_SUPPORTED, PROP_REL_INDENT_SCAN_LIMIT, PROP_ROW_FETCH_SIZE, PROP_SORTS_SUPPORTED, PROP_SUPPORTED_DRILL_TYPES, PROP_TABULAR, PROP_TOTALS_ALLOWED, PROP_TOTALS_VISIBLE, PROP_UNIQUE_MEMBERS_SCAN_LIMIT, ROW_EDGE, SECTION_EDGE, SORT_DIRECTION_ASCENDING, SORT_DIRECTION_DESCENDING, SORT_TYPE_GROUPSORT, SORT_TYPE_GROUPSORT_PAGEBREAK, SORT_TYPE_NORMAL, TOTAL_ALL_LAYERS, TOTAL_AVERAGE, TOTAL_MAXIMUM, TOTAL_MINIMUM, TOTAL_SUM, ZERO_SUPPRESSION
 
Fields inherited from interface oracle.dss.util.DataAccess
DATATYPE_BOOLEAN, DATATYPE_DATE, DATATYPE_DOUBLE, DATATYPE_FLOAT, DATATYPE_INTEGER, DATATYPE_LONG, DATATYPE_SHORT, DATATYPE_STRING, FIND_CASE_INSENSITIVE, FIND_CONTAINS, FIND_ENDS_WITH, FIND_EXACT, FIND_PRIOR, FIND_STARTS_WITH, QDR_WITH_PAGE, QDR_WITHOUT_PAGE
 
Constructor Summary
LocalPivotTableDataSource()
           
 
Method Summary
 void addDataDirectorListener(DataDirectorListener l)
          Registers a listener to the data source for changes.
 boolean allSlicesFetched(int edge)
          Returns true if all slices the entire given edge have been fetched and are available.
 java.lang.Object clone()
           
 CubeDataDirector createCubeDataDirector()
          Creates a DataDirector for cube-based (OLAP) views
 DataDirector createDataDirector()
           
 RelationalDataDirector createRelationalDataDirector()
          Creates a DataDirector for relational views.
 boolean dropChanges()
          Clears the QDR overrides in the writeback collection.
 void endGroupEdit()
          Indicates the end of a group of setValue calls.
 int findMember(int edge, int[] hPos, int memberLayer, java.lang.String s, java.lang.String type, int flags)
          Searches a set of child members for the specified value starting at a specified offset.
 boolean forceFetch(int[] startSlice, int[] endSlice)
           
 boolean forceFetch(int[] startSlice, int[] endSlice, int flag)
          Ensures that a block of data has been fetched or computed locally.
 int getBranchingFactor(int edge)
           
 java.util.List getCorrespondingMemberMetadata(int edge, int layer, java.lang.String[] values, java.lang.String[] types, boolean inDataAccess)
          Returns a List of Object arrays of member metadata corresponding to the given MetadataMap.METADATA_VALUE strings specified in the values parameter.
 java.util.List getCorrespondingMemberMetadata(java.lang.String layerName, java.lang.String[] values, java.lang.String[] types, boolean inDataAccess)
          Returns a List of Object arrays of member metadata corresponding to the given MetadataMap.METADATA_VALUE strings specified in the values parameter.
 DataMap getDataMap()
          Retrieves the list of types of data that can be retrieved or set for each location in the data cursor.
 int getEdgeCount()
          Retrieves the total number of edges in the cursor.
 int[] getEdgeCurrentHPos(int edge)
          Retrieves, for the specified edge, the hierarchical address of the location that is defined by the implementor as the "current" location.
 int getEdgeCurrentSlice(int edge)
          Retrieves the zero-based index of the slice that is defined by the implementor as the current slice.
 int getEdgeExtent(int edge)
          Retrieves the total number of slices that are available on the specified edge.
 int[] getFirstHPos(int edge)
          Retrieves the hPos array that identifies the members at each physical layer of slice 0 on the specified edge.
 int[] getLastHPos(int edge)
          Retrieves the hPos array that identifies the members at each physical layer in the last slice on the specified edge.
 int getLayerCount(int edge)
          Retrieves the total number of layers on the specified edge.
 java.lang.Object getLayerMetadata(int edge, int layer, java.lang.String type)
          Returns a String of the form "EdgeXLayerYY", e.g.
 int getMemberDepth(int edge, int layer, int slice)
          Retrieves the size (expressed in layers that are perpendicular to the specified edge orientation) of a member at the specified layer, slice, and edge.
 int getMemberExtent(int edge, int layer, int slice)
          Retrieves the size of a member, that is, the number of slices that the member spans at a specified edge, layer, and slice location (parallel to the direction of the edge).
 int[] getMemberHPos(int edge, int layer, int slice)
          Retrieves the hierarchical address for an absolute address that is specified as edge, physical layer, and slice.
 int getMemberLogicalLayer(int edge, int layer, int slice)
          Retrieves the logical layer to which the member at the specified edge, physical layer, and slice location belongs.
 java.lang.Object getMemberMetadata(int edge, int[] hPos, int memberLayer, int hIndex, java.lang.String type)
          Retrieves the specified type of metadata for the member at a specified location.
 java.lang.Object getMemberMetadata(int edge, int layer, int slice, java.lang.String type)
          Retrieves the specified type of metadata for a member at the specified location.
 QDR getMemberQDR(int edge, int layer, int slice, int flags)
          Returns a QDR in which each member is named after its start slice, e.g.
 int getMemberSiblingCount(int edge, int[] hPos, int memberLayer)
          Retrieves the count of all the sibling members at a specified logical layer based on a series of relative indexes for each logical layer down to the specified logical layer.
 int getMemberStartLayer(int edge, int layer, int slice)
          Retrieves the starting layer at which a member at the specified edge, layer, and slice location begins.
 int getMemberStartSlice(int edge, int layer, int slice)
          Retrieves the absolute number of the first slice that a member spans.
 MetadataMap getMetadataMap(int edge, int layer)
          Retrieves the list of all the types of metadata that callers have requested to be included in the cursors for the specified logical layer.
 int[] getNextHPos(int edge, int[] hPos)
          Retrieves the hPos that identifies the next member on the specified edge relative to a specified hPos.
 int[] getPrevHPos(int edge, int[] hPos)
          Retrieves the hPos array that identifies the members at each physical layer of the slice that is immediately previous to the specified hPos on the specified edge.
 java.util.Vector getQDRoverrideCollection()
          Retrieves a read-only copy of the QDR overrides in the writeback collection.
 java.lang.Object getSliceLabel(int edge, int slice, java.lang.String type)
          Retrieves the label (or concatenated metadata) for the specified slice.
 int getSliceMemberCount(int edge, int slice)
          Retrieves the number of unique logical layers (that is, the number of members that run perpendicular to the orientation of the edge) at the specified slice and edge.
 int getSliceOutlineLayer(int edge, int slice)
          Retrieves the starting logical layer of a specified slice in a specified edge when the Crosstab (along with the DataAccess implementor) is set to return data in outline mode.
 QDR getSliceQDR(int edge, int slice, int flags)
          Retrieves a QDR object that represents the data value at the specified slice on the edge (that is, across all relevant logical layers of the slice).
 int[] getSlicesFromQDR(QDRInterface qdr, int[] startSlices, int[] endSlices)
          Per the DataAccess contract, this method returns: {-1, -1} if qdr is empty or invalid {c, -1} if qdr is a column QDR {-1, r} if qdr is a row QDR {c, r} if qdr is a databody QDR where r and c are the row number and column number of the QDR
 DataMap getSupportedDataMap()
          Return a DataMap that contains all of the types that this DataAccessAdapter can support.
 LayerMetadataMap getSupportedLayerMetadataMap()
          Return a LayerMetadataMap that contains all of the types that this DataAccessAdapter can support.
 MetadataMap getSupportedMetadataMap()
          Retrieves a MetadataMap that contains all of the types that this DataAccessAdapter can support.
 java.util.List getUniqueDataValues(java.lang.String name, java.lang.String[] types, int start, int count)
           
 java.util.List getUniqueMemberMetadata(int edge, int layer, java.lang.String[] types, int start, int count)
          Returns an unordered List of Object arrays representing metadata for unique member values across a layer on an edge.
 java.util.List getUniqueMemberMetadata(java.lang.String layerName, java.lang.String[] types, int start, int count)
          Returns an unordered List of Object arrays representing metadata for unique member values across a layer on an edge.
 java.lang.Object getValue(int row, int col, java.lang.String type)
          Retrieves a data value for the specified row and column intersection.
 QDR getValueQDR(int row, int column, int flags)
          Retrieves a QDR object that represents the value at the specified row and column in the data area of the cursor.
 boolean isAutoSubmit()
          Indicates whether automatic submission is set for cell editing.
 boolean isFetched(int[] startSlice, int[] endSlice)
           
 boolean isFetched(int[] startSlice, int[] endSlice, int flag)
          Indicates whether a block of data has been fully computed or processed locally.
 boolean isMemberExtentComplete(int edge, int layer, int slice)
          Determines if the size of a member, that is, the number of slices that the member spans at a specified edge, layer, and slice location (parallel to the direction of the edge), has been completely calculated.
 boolean redoEdit()
          Performs a redo of the latest undo action.
 void release()
          Informs the implementor that the caller no longer needs this DataAccess reference.
 void removeDataDirectorListener(DataDirectorListener l)
          Removes a listener from the data source.
 void setAutoSubmit(boolean bValue)
          Specifies that the QDR override in the writeback collection for a cell will be submitted automatically as soon as it is entered.
 void setBranchingFactor(int edge, int branchingFactor)
           
 void setEdgeExtent(int edge, int extent)
           
 void setLayerCount(int edge, int layerCount)
           
 boolean setValue(java.lang.Object data, int row, int col, java.lang.String type)
          Specifies a data value for the specified row and column intersection.
 void startGroupEdit()
          Indicates the start of a group of setValue calls.
 boolean submitChanges()
          Writes the current group of QDR overrides in the writeback collection to the database and flushes the entries in the writeback collection.
 boolean undoEdit()
          Performs an undo of the latest setValue operation.
 
Methods inherited from class oracle.dss.util.DataAccessAdapter
cancel, changeEdgeCurrentHPos, changeEdgeCurrentSlice, deleteMemberCalc, deleteValueCalc, drill, drill, drill, drill, drillOK, drillOK, drillOK, drillOK, findMembers, fireEvents, getColumnSorts, getCompatibleDataItemMetadata, getDataAccess, getDimensionSorts, getEdgeSymmetric, getExpressions, getLayerQDR, getMemberQDR, getMemberSorts, getProperty, getSorts, getStatus, insertMemberCalc, insertValueCalc, isCancelable, isOutline, pivot, pivotCheck, pivotOK, refresh, reorder, revalidate, setColumnSorts, setDataMap, setDimensionSorts, setExpressions, setLayerMetadata, setManualUpdate, setMemberSorts, setMetadataMap, setOutline, setProperty, setSorts, startExecution, update
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface oracle.dss.util.DataDirector
cancel, changeEdgeCurrentHPos, changeEdgeCurrentSlice, deleteMemberCalc, deleteValueCalc, drill, drill, drill, drill, drillOK, drillOK, drillOK, drillOK, fireEvents, getColumnSorts, getCompatibleDataItemMetadata, getDataAccess, getDimensionSorts, getExpressions, getMemberSorts, getProperty, getSorts, getStatus, insertMemberCalc, insertValueCalc, isCancelable, isOutline, pivot, pivotCheck, pivotOK, refresh, reorder, revalidate, setColumnSorts, setDataMap, setDimensionSorts, setExpressions, setLayerMetadata, setManualUpdate, setMemberSorts, setMetadataMap, setOutline, setProperty, setSorts, startExecution, update
 
Methods inherited from interface oracle.dss.util.DataAccess
findMembers, getLayerQDR, getMemberQDR
 
Methods inherited from interface oracle.dss.util.CDFDataAccess
getEdgeSymmetric
 

Field Detail

listener

protected DataDirectorListener listener
Constructor Detail

LocalPivotTableDataSource

public LocalPivotTableDataSource()
Method Detail

setEdgeExtent

public void setEdgeExtent(int edge,
                          int extent)

setLayerCount

public void setLayerCount(int edge,
                          int layerCount)

getBranchingFactor

public int getBranchingFactor(int edge)

setBranchingFactor

public void setBranchingFactor(int edge,
                               int branchingFactor)

createDataDirector

public DataDirector createDataDirector()

createCubeDataDirector

public CubeDataDirector createCubeDataDirector()
Description copied from interface: DataSource
Creates a DataDirector for cube-based (OLAP) views

Specified by:
createCubeDataDirector in interface DataSource
Returns:
An implementation of the CubeDataDirector interface.

createRelationalDataDirector

public RelationalDataDirector createRelationalDataDirector()
Description copied from interface: DataSource
Creates a DataDirector for relational views.

Specified by:
createRelationalDataDirector in interface DataSource
Returns:
An implementation of the RelationalDataDirector interface.

addDataDirectorListener

public void addDataDirectorListener(DataDirectorListener l)
Description copied from class: DataAccessAdapter
Registers a listener to the data source for changes. The DataDirector implementor is expected to fire a DataAvailableEvent in this routine when data is available and to provide an implementation of the DataAccess interface when data is ready.

This implementation does nothing.

Specified by:
addDataDirectorListener in interface DataDirector
Overrides:
addDataDirectorListener in class DataAccessAdapter
Parameters:
l - The listener to add.

removeDataDirectorListener

public void removeDataDirectorListener(DataDirectorListener l)
Description copied from class: DataAccessAdapter
Removes a listener from the data source.

This implementation does nothing.

Specified by:
removeDataDirectorListener in interface DataDirector
Overrides:
removeDataDirectorListener in class DataAccessAdapter
Parameters:
l - The listener to remove.

clone

public java.lang.Object clone()
Overrides:
clone in class java.lang.Object

getDataMap

public DataMap getDataMap()
Description copied from class: DataAccessAdapter
Retrieves the list of types of data that can be retrieved or set for each location in the data cursor. This list includes the types of data that have been specified in data maps by any views that use this data provider.

This implmentation returns null.

Specified by:
getDataMap in interface DataDirector
Overrides:
getDataMap in class DataAccessAdapter
Returns:
The map of available types of data.

getMetadataMap

public MetadataMap getMetadataMap(int edge,
                                  int layer)
                           throws EdgeOutOfRangeException,
                                  LayerOutOfRangeException
Description copied from class: DataAccessAdapter
Retrieves the list of all the types of metadata that callers have requested to be included in the cursors for the specified logical layer. This list includes the types of metadata that have been specified in setMetadataMap requests by any views that use this data provider.

This implementation returns null.

Specified by:
getMetadataMap in interface DataDirector
Overrides:
getMetadataMap in class DataAccessAdapter
Parameters:
edge - A constant that indicates the edge that contains the logical layer. Valid constants end with _EDGE in this interface. A value of -1 is a request for the default MetadataMap.
layer - A zero-based index for the logical layer for which to retrieve the metadata map. The outermost layer on the specified edge is zero. A layer value of -1 indicates all of the layers on the specified edge.
Returns:
The map that contains all of the types of metadata that are to be retrieved into the cursors for the layer.
Throws:
EdgeOutOfRangeException - if edge is out of range.
LayerOutOfRangeException - If no layer exists at this location.
See Also:
DataDirector.COLUMN_EDGE, DataDirector.PAGE_EDGE, DataDirector.ROW_EDGE

getEdgeExtent

public int getEdgeExtent(int edge)
                  throws EdgeOutOfRangeException
Description copied from class: DataAccessAdapter
Retrieves the total number of slices that are available on the specified edge. The implementation returns 0.

Specified by:
getEdgeExtent in interface CDFDataAccess
Overrides:
getEdgeExtent in class DataAccessAdapter
Parameters:
edge - A constant that represents the edge of interest. The constants end with _EDGE in DataDirector.
Returns:
The total number of slices that are available on the specified edge. This number determines the range of valid slice values for the specified edge in other API calls: the valid range is from zero to this return value minus one. This implementation returns zero.
Throws:
EdgeOutOfRangeException - If the edge parameter is not valid.
See Also:
DataDirector.COLUMN_EDGE, DataDirector.PAGE_EDGE, *

getValue

public java.lang.Object getValue(int row,
                                 int col,
                                 java.lang.String type)
                          throws RowOutOfRangeException,
                                 ColumnOutOfRangeException
Description copied from class: DataAccessAdapter
Retrieves a data value for the specified row and column intersection.

This implementation returns null.

Specified by:
getValue in interface DataAccess
Overrides:
getValue in class DataAccessAdapter
Parameters:
row - The row to get.
col - The column to get.
type - Type of data to return, such as formatted or unformatted. Valid type values are defined in the DataMap.
Returns:
The specified type of information for the specified row and column location. This implementation returns null.
Throws:
RowOutOfRangeException - If row is negative or too large.
ColumnOutOfRangeException - If column is negative or too large.
See Also:
DataMap

setValue

public boolean setValue(java.lang.Object data,
                        int row,
                        int col,
                        java.lang.String type)
                 throws RowOutOfRangeException,
                        ColumnOutOfRangeException
Description copied from class: DataAccessAdapter
Specifies a data value for the specified row and column intersection.

This implementation returns false.

Specified by:
setValue in interface DataAccess
Overrides:
setValue in class DataAccessAdapter
Parameters:
data - The data to set into the cursor.
row - The row at which to set the data.
col - The column at which set the data.
Returns:
truefalse if not.
Throws:
RowOutOfRangeException - If row is negative or too large.
ColumnOutOfRangeException - If column is negative or too large.
See Also:
DataMap

getLayerCount

public int getLayerCount(int edge)
                  throws EdgeOutOfRangeException
Description copied from class: DataAccessAdapter
Retrieves the total number of layers on the specified edge.

Specified by:
getLayerCount in interface CDFDataAccess
Overrides:
getLayerCount in class DataAccessAdapter
Parameters:
edge - A constant that represents the edge of interest. The constants end with _EDGE in DataDirector.
Returns:
The number of layers on the specified edge. This number determines the range of valid values on the specified edge for the layer parameter in other API calls: the valid range is from zero to this return value minus one. This implementation returns zero.
Throws:
EdgeOutOfRangeException - If edge is out of range.
See Also:
DataDirector.COLUMN_EDGE, DataDirector.PAGE_EDGE, DataDirector.ROW_EDGE

getSliceMemberCount

public int getSliceMemberCount(int edge,
                               int slice)
                        throws EdgeOutOfRangeException,
                               SliceOutOfRangeException
Description copied from class: DataAccessAdapter
Retrieves the number of unique logical layers (that is, the number of members that run perpendicular to the orientation of the edge) at the specified slice and edge. This method is useful in cases of asymmetry where the members on an edge do not all span the same layers.

This implementation returns 0.

Specified by:
getSliceMemberCount in interface DataAccess
Overrides:
getSliceMemberCount in class DataAccessAdapter
Parameters:
edge - A constant that represents the edge of interest. The constants end with _EDGE in DataDirector.
slice - An absolute index (zero-based) that indicates the location of a slice along the specified edge. Each member in the innermost layer has a unique slice. In outer layers, any slice that the outer member spans can be used.
Returns:
The total number of unique logical layers for the specified slice and edge. This implementation returns zero.
Throws:
EdgeOutOfRangeException - If edge is out of range.
SliceOutOfRangeException - If slice is negative or too large.
See Also:
DataDirector.COLUMN_EDGE, DataDirector.PAGE_EDGE, DataDirector.ROW_EDGE

getSliceOutlineLayer

public int getSliceOutlineLayer(int edge,
                                int slice)
                         throws EdgeOutOfRangeException,
                                SliceOutOfRangeException
Description copied from class: DataAccessAdapter
Retrieves the starting logical layer of a specified slice in a specified edge when the Crosstab (along with the DataAccess implementor) is set to return data in outline mode. Because, in outline mode, the getSliceMemberCount method always return the value 1, the Crosstab uses getSliceOutlineLayer to determine the logical layer.

This implementation returns 0.

Specified by:
getSliceOutlineLayer in interface DataAccess
Overrides:
getSliceOutlineLayer in class DataAccessAdapter
Parameters:
edge - A constant that represents the edge of interest. The constants end with _EDGE in DataDirector. The slice is zero-based. Each member in the innermost layer has a unique slice. In outer layers, any slice that the outer member spans can be used.
slice - An absolute index (zero-based) that indicates the location of a slice along the specified edge. Each member in the innermost layer has a unique slice. In outer layers, any slice that the outer member spans can be used.
Returns:
The logical layer of the specified slice in the specified edge for outline mode only. This implementation returns zero.
Throws:
EdgeOutOfRangeException - If the edge parameter is not valid.
SliceOutOfRangeException - If slice is negative or too large.
See Also:
DataDirector.COLUMN_EDGE, DataDirector.PAGE_EDGE, DataDirector.ROW_EDGE

getMemberDepth

public int getMemberDepth(int edge,
                          int layer,
                          int slice)
                   throws EdgeOutOfRangeException,
                          LayerOutOfRangeException,
                          SliceOutOfRangeException
Description copied from class: DataAccessAdapter
Retrieves the size (expressed in layers that are perpendicular to the specified edge orientation) of a member at the specified layer, slice, and edge. In other words, this method returns the following information depending upon the specified edge:

The sum of all the members' values for this method, within a specified slice, should not exceed the value that getLayerCount returns for the specified edge.

This method is useful only in cases of asymmetry where the members on an edge do not all cover one layer and have a depth of 1. On a symmetric edge, all members have a member depth of 1.

This implementation returns 0.

Specified by:
getMemberDepth in interface CDFDataAccess
Overrides:
getMemberDepth in class DataAccessAdapter
Parameters:
edge - A constant that represents the edge in which to look for the layer and slice. The constants end with _EDGE in DataDirector.
layer - The zero-based index of the starting physical layer in which to look for the slice, as returned by getMemberStartLayer.
slice - An absolute index (zero-based) that indicates the location of a slice along the specified edge. Each member in the innermost layer has a unique slice. In outer layers, any slice that the outer member spans can be used.
Returns:
The depth (that is, the number of layers) that the specified member covers. This implementation returns zero.
Throws:
EdgeOutOfRangeException - If edge is too large.
LayerOutOfRangeException - If layer is negative or too large.
SliceOutOfRangeException - If slice is negative or too large.
See Also:
DataAccessAdapter.getLayerCount(int), DataAccessAdapter.getMemberStartLayer(int, int, int), DataDirector.COLUMN_EDGE, DataDirector.PAGE_EDGE, DataDirector.ROW_EDGE

getMemberStartLayer

public int getMemberStartLayer(int edge,
                               int layer,
                               int slice)
                        throws EdgeOutOfRangeException,
                               LayerOutOfRangeException,
                               SliceOutOfRangeException
Description copied from class: DataAccessAdapter
Retrieves the starting layer at which a member at the specified edge, layer, and slice location begins. Presentation beans use this method in conjunction with getMemberDepth to retrieve the following information depending on the edge: The sum of the values that are returned for a member by this method, getMemberStartLayer, and getMemberDepth should not exceed the value that is returned by getLayerCount for an edge.

This method is useful only in cases of asymmetry where the members on an edge do not all cover one layer. In a symmetric edge, all members have a member start layer equal to their layer.

Specified by:
getMemberStartLayer in interface CDFDataAccess
Overrides:
getMemberStartLayer in class DataAccessAdapter
Parameters:
edge - A constant that represents the edge in which to look for layer and slice. The constants end with _EDGE in DataDirector.
layer - The zero-based index of the physical layer in which to look for the slice.
slice - An absolute index (zero-based) that indicates the location of a slice along the specified edge. Each member in the innermost layer has a unique slice. In outer layers, any slice that the outer member spans can be used.
Returns:
The starting layer of the member within the specified edge.
Throws:
EdgeOutOfRangeException - If edge is too large.
LayerOutOfRangeException - If layer is negative or too large.
SliceOutOfRangeException - If slice is negative or too large.
See Also:
DataDirector.COLUMN_EDGE, DataDirector.PAGE_EDGE, DataDirector.ROW_EDGE

getMemberLogicalLayer

public int getMemberLogicalLayer(int edge,
                                 int layer,
                                 int slice)
                          throws EdgeOutOfRangeException,
                                 LayerOutOfRangeException,
                                 SliceOutOfRangeException
Description copied from class: DataAccessAdapter
Retrieves the logical layer to which the member at the specified edge, physical layer, and slice location belongs. If a particular member spans more than one physical layer at the specified slice, then passing in any of the spanned physical layer positions for the layer parameter should yield the same logical layer.

The value returned by this method can be used as input to getLayerMetadata and should not exceed the value that is returned by getMemberCount.

Specified by:
getMemberLogicalLayer in interface DataAccess
Overrides:
getMemberLogicalLayer in class DataAccessAdapter
Parameters:
edge - A constant that represents the edge in which to look for the layer and slice. The constants end with _EDGE in DataDirector.
layer - The zero-based index of the physical layer of the member.
slice - An absolute index (zero-based) that indicates the location of a slice along the specified edge. Each member in the innermost layer has a unique slice. In outer layers, any slice that the outer member spans can be used.
Returns:
The logical layer of the member within the specified edge.
Throws:
EdgeOutOfRangeException - If edge is too large.
LayerOutOfRangeException - If layer is negative or too large.
SliceOutOfRangeException - If slice is negative or too large.
See Also:
DataDirector.COLUMN_EDGE, DataDirector.PAGE_EDGE, DataDirector.ROW_EDGE

getLayerMetadata

public java.lang.Object getLayerMetadata(int edge,
                                         int layer,
                                         java.lang.String type)
                                  throws EdgeOutOfRangeException,
                                         LayerOutOfRangeException
Returns a String of the form "EdgeXLayerYY", e.g. "Edge1Layer02"

Specified by:
getLayerMetadata in interface CDFDataAccess
Overrides:
getLayerMetadata in class DataAccessAdapter
Parameters:
edge - A constant that represents the edge in which to look for the member metadata. The constants end with _EDGE in DataDirector.
layer - The zero-based index of the layer for which metadata is requested. Uses a depth computation to identify the location of the layer or layer member; 0 is the outer-most layer on the edge. The value for this parameter can be obtained by calling getMemberLogicalLayer.
type - A constant that specifies the kind of metadata that you want. Valid type values are defined in the LayerMetadataMap.
Returns:
The requested metadata. This implementation returns null.
Throws:
EdgeOutOfRangeException - If edge is too large.
LayerOutOfRangeException - If layer is negative or too large.
See Also:
LayerMetadataMap, DataDirector.COLUMN_EDGE, DataDirector.PAGE_EDGE, DataDirector.ROW_EDGE

getMemberExtent

public int getMemberExtent(int edge,
                           int layer,
                           int slice)
                    throws EdgeOutOfRangeException,
                           LayerOutOfRangeException,
                           SliceOutOfRangeException
Description copied from class: DataAccessAdapter
Retrieves the size of a member, that is, the number of slices that the member spans at a specified edge, layer, and slice location (parallel to the direction of the edge). Views use this method to determine the width of a member in a column header or the height of a member in a row header when not in outline form.

The sum of all the unique getMemberExtent values for an edge should not exceed the getEdgeExtent value for the same edge.

This implementation returns 0.

Specified by:
getMemberExtent in interface CDFDataAccess
Overrides:
getMemberExtent in class DataAccessAdapter
Parameters:
edge - A constant that represents the edge in which to look for the layer and slice. The constants end with _EDGE in DataDirector.
layer - The zero-based index of the physical layer of the member whose size will be returned. Valid values are zero to total layers at the specified slice.
slice - An absolute index (zero-based) that indicates the location along the edge of the member whose extent will be returned. Each member in the innermost layer has a unique slice. In outer layers, any slice that the outer member spans can be used.
Returns:
The number of slices that the member spans at the specified location. This implementation returns zero.
Throws:
EdgeOutOfRangeException - If edge is too large.
LayerOutOfRangeException - If layer is negative or too large
SliceOutOfRangeException - If slice is negative or too large
See Also:
DataAccessAdapter.getMemberStartSlice(int, int, int), DataDirector.COLUMN_EDGE, DataDirector.PAGE_EDGE, DataDirector.ROW_EDGE

getMemberStartSlice

public int getMemberStartSlice(int edge,
                               int layer,
                               int slice)
                        throws EdgeOutOfRangeException,
                               LayerOutOfRangeException,
                               SliceOutOfRangeException
Description copied from class: DataAccessAdapter
Retrieves the absolute number of the first slice that a member spans. Views use this method to determine where to start painting a member label in a row or column header. Views pass the same parameter values to this method and to getMemberExtent.

This implementation returns 0.

Specified by:
getMemberStartSlice in interface CDFDataAccess
Overrides:
getMemberStartSlice in class DataAccessAdapter
Parameters:
edge - A constant that represents the edge in which to look for the layer and slice. The constants end with _EDGE in DataDirector.
layer - The zero-based index of the physical layer of the member whose first slice will be returned. Valid values are zero to total layers at the specified slice.
slice - An absolute index (zero-based) that indicates the location along the specified edge of the member whose starting slice will be returned. Each member in the innermost layer has a unique slice. In outer layers, any slice that the outer member spans can be used.
Returns:
The absolute index of the first slice that the member spans. This implementation returns zero.
Throws:
EdgeOutOfRangeException - If edge is too large.
LayerOutOfRangeException - If layer is negative or too large.
SliceOutOfRangeException - If slice is negative or too large.
See Also:
DataAccessAdapter.getMemberExtent(int, int, int), DataDirector.COLUMN_EDGE, DataDirector.PAGE_EDGE, DataDirector.ROW_EDGE

getMemberMetadata

public java.lang.Object getMemberMetadata(int edge,
                                          int layer,
                                          int slice,
                                          java.lang.String type)
                                   throws EdgeOutOfRangeException,
                                          LayerOutOfRangeException,
                                          SliceOutOfRangeException
Description copied from class: DataAccessAdapter
Retrieves the specified type of metadata for a member at the specified location.

Specified by:
getMemberMetadata in interface CDFDataAccess
Overrides:
getMemberMetadata in class DataAccessAdapter
Parameters:
edge - A constant that represents the edge in which to look for the member metadata. The constants end with _EDGE in DataDirector.
layer - The zero-based index of the physical layer in which to find the slice. Valid values are zero to total layers at the specified slice.
slice - An absolute index (zero-based) that indicates the location along the edge of a slice that belongs to the member for which metadata is requested. Each member in the innermost layer has a unique slice. In outer layers, any slice that the outer member spans can be used.
type - A constant that specifies the kind of metadata requested. Valid type values are defined in MetadataMap. The caller should have intialized the appropriate MetadataMap object with any types of metadata that the caller intends to use.
Returns:
The requested metadata. This implementation returns null.
Throws:
LayerOutOfRangeException - If layer is negative or too large.
SliceOutOfRangeException - If slice is negative or too large.
EdgeOutOfRangeException
See Also:
MetadataMap, DataDirector.COLUMN_EDGE, DataDirector.PAGE_EDGE, DataDirector.ROW_EDGE

isFetched

public boolean isFetched(int[] startSlice,
                         int[] endSlice)
                  throws SliceOutOfRangeException
Throws:
SliceOutOfRangeException

forceFetch

public boolean forceFetch(int[] startSlice,
                          int[] endSlice)
                   throws SliceOutOfRangeException
Throws:
SliceOutOfRangeException

isMemberExtentComplete

public boolean isMemberExtentComplete(int edge,
                                      int layer,
                                      int slice)
                               throws EdgeOutOfRangeException,
                                      LayerOutOfRangeException,
                                      SliceOutOfRangeException
Description copied from interface: DataAccess
Determines if the size of a member, that is, the number of slices that the member spans at a specified edge, layer, and slice location (parallel to the direction of the edge), has been completely calculated. Views use this method to determine whether the width of a member in a column header or the height of a member in a row header when not in outline form will increase further, in order for views to support dynamic span information from implementations.

Specified by:
isMemberExtentComplete in interface DataAccess
Overrides:
isMemberExtentComplete in class DataAccessAdapter
Parameters:
edge - A constant that represents the edge in which to look for the layer and slice. The constants end with _EDGE in DataDirector.
layer - The zero-based number of the physical layer. Valid values are zero to total layers at the specified slice.
slice - An absolute index (zero-based) along the edge. Each member in the innermost layer has a unique slice. In outer layers, any slice that the outer member spans can be used.
Returns:
true if the extent of the specified member has been fully computed, false if not.
Throws:
EdgeOutOfRangeException - If edge is too large.
LayerOutOfRangeException - If layer is negative or too large.
SliceOutOfRangeException - If slice is negative or too large.
See Also:
CDFDataAccess.getMemberStartSlice(int, int, int), CDFDataAccess.getMemberExtent(int, int, int), DataDirector.COLUMN_EDGE, DataDirector.PAGE_EDGE, DataDirector.ROW_EDGE

getEdgeCount

public int getEdgeCount()
Description copied from class: DataAccessAdapter
Retrieves the total number of edges in the cursor. Views assume the following:

getSliceLabel

public java.lang.Object getSliceLabel(int edge,
                                      int slice,
                                      java.lang.String type)
                               throws EdgeOutOfRangeException,
                                      SliceOutOfRangeException
Description copied from class: DataAccessAdapter
Retrieves the label (or concatenated metadata) for the specified slice. The method of concatenation is usually each member label separated by a space or other character, but can be implementation dependent.

Specified by:
getSliceLabel in interface DataAccess
Overrides:
getSliceLabel in class DataAccessAdapter
Parameters:
edge - A constant that represents the edge of interest. The constants end with _EDGE in DataDirector.
slice - An absolute index (zero-based) along the specified edge that indicates the slice for which concatenated metadata is desired.
type - A constant that specifies the kind of metadata that the caller wants to have returned. Valid type values are defined in the class MetadataMap class.
Returns:
The label (or metadata) for the location on the specified edge. This implementation returns null.
Throws:
EdgeOutOfRangeException - If edge is out of range.
SliceOutOfRangeException - If slice is negative or too large.
See Also:
DataDirector.COLUMN_EDGE, DataDirector.PAGE_EDGE, DataDirector.ROW_EDGE

getEdgeCurrentSlice

public int getEdgeCurrentSlice(int edge)
                        throws EdgeOutOfRangeException
Description copied from class: DataAccessAdapter
Retrieves the zero-based index of the slice that is defined by the implementor as the current slice. For the row and column edges, the view do not require support for the concept of a current slice. This concept is usually associated with a view paging control on the page edge.

Specified by:
getEdgeCurrentSlice in interface DataAccess
Overrides:
getEdgeCurrentSlice in class DataAccessAdapter
Parameters:
edge - A constant that represents the edge of interest. The constants end with _EDGE in DataDirector.
Returns:
The slice (zero-based) that is defined as the current slice. Often the slice that represents the page that is currently displayed in a Crosstab when this method is called for the page edge. (On the page edge, the value of slice is one less than the actual page number, which is 1-based.) This implementation returns zero.
Throws:
EdgeOutOfRangeException - If the edge parameter is not in the valid range.
See Also:
DataDirector.COLUMN_EDGE, DataDirector.PAGE_EDGE, DataDirector.ROW_EDGE

getEdgeCurrentHPos

public int[] getEdgeCurrentHPos(int edge)
                         throws EdgeOutOfRangeException
Description copied from class: DataAccessAdapter
Retrieves, for the specified edge, the hierarchical address of the location that is defined by the implementor as the "current" location. The row and column edges of view do not require support for the concept of a current location. This concept is usually associated with a paging control on the page edge of a view.

Specified by:
getEdgeCurrentHPos in interface DataAccess
Overrides:
getEdgeCurrentHPos in class DataAccessAdapter
Parameters:
edge - A constant that represents the edge of interest. The constants end with _EDGE in DataDirector.
Returns:
The hPos array that represents the current location on the specified edge. When this method is called for the page edge, the hPos that represents the page that is currently displayed in a Crosstab. This implementation returns null.
Throws:
EdgeOutOfRangeException - If the parameter edge is not valid.
See Also:
DataDirector.COLUMN_EDGE, DataDirector.PAGE_EDGE, DataDirector.ROW_EDGE

getSlicesFromQDR

public int[] getSlicesFromQDR(QDRInterface qdr,
                              int[] startSlices,
                              int[] endSlices)
Per the DataAccess contract, this method returns: {-1, -1} if qdr is empty or invalid {c, -1} if qdr is a column QDR {-1, r} if qdr is a row QDR {c, r} if qdr is a databody QDR where r and c are the row number and column number of the QDR

Specified by:
getSlicesFromQDR in interface DataAccess
Overrides:
getSlicesFromQDR in class DataAccessAdapter
Parameters:
qdr - QDR representing a position (edge member, edge slice, or data cell)
startSlices - optional set of slices, ordered by edge (column edge 0, row edge 1, etc.), specifying the beginning of a viewport within which getSlicesFromQDR should check for the QDR. endSlices optional set of slices, ordered by edge (see startSlices), specifying the end of a viewport within which getSlicesFromQDR should check for the QDR.
Returns:
the location of the given QDR as an array of absolute slice positions, ordered by edge. If there is no edge in a particular set of data, the slice value will be -1 in that array position. If the QDR cannot be located or cannot be located within the given viewport if specified, -1 values will be returned. If the method is not implemented, null is returned.

getMemberSiblingCount

public int getMemberSiblingCount(int edge,
                                 int[] hPos,
                                 int memberLayer)
                          throws EdgeOutOfRangeException,
                                 LayerOutOfRangeException,
                                 SliceOutOfRangeException
Description copied from class: DataAccessAdapter
Retrieves the count of all the sibling members at a specified logical layer based on a series of relative indexes for each logical layer down to the specified logical layer. This method is useful in populating a page control for a view. For an example, consider the following column header.

JuneJuly
TentsCanoes TentsCanoes
NYBostonLA TorontoWinnepegNYLA NYBostonLA TorontoWinnepeg

A caller can use this method to find the number of Geography values (that is, sibling members) under the members July and Tents. This count is 3 (for NY, Boston, and LA). The hPos and memberLayer parameters for this example are as follows:

Note: The value that is returned by this method provides the upper limit to the hIndex that a caller passes in getMemberMetadata.

This implementation returns 0.

Specified by:
getMemberSiblingCount in interface DataAccess
Overrides:
getMemberSiblingCount in class DataAccessAdapter
Parameters:
edge - A constant that represents the edge of interest. The constants end with _EDGE in DataDirector.
hPos - An array that contains an index for the member values at each layer up to and including the layer of the sibling members that are to be counted. These indexes are relative to the number of members at each layer. When a member spans more than one layer, any layers beyond the starting layer should have their place held by a -1 index.
memberLayer - The index into the hPos array for which the call should return the sibling member count.
Returns:
The number of sibling members that are found on the specified edge at the location that is specified by hPos and memberLayer. In the example, this method returns 3 (for the siblings NY, Boston, and LA). This implementation returns 0.
Throws:
EdgeOutOfRangeException - If edge is too large.
LayerOutOfRangeException - If memberLayer is too large.
SliceOutOfRangeException - If any slice in hPos is too large.
See Also:
DataAccessAdapter.getMemberMetadata(int, int, int, java.lang.String), DataDirector.COLUMN_EDGE, DataDirector.PAGE_EDGE, DataDirector.ROW_EDGE

getMemberMetadata

public java.lang.Object getMemberMetadata(int edge,
                                          int[] hPos,
                                          int memberLayer,
                                          int hIndex,
                                          java.lang.String type)
                                   throws EdgeOutOfRangeException,
                                          LayerOutOfRangeException,
                                          SliceOutOfRangeException
Description copied from class: DataAccessAdapter
Retrieves the specified type of metadata for the member at a specified location. For example, this method is useful for retrieving labels for display in views.

The user of this method makes the following calls:

The call for this method uses the same hPos and memberLayer parameters as found in getMemberSiblingCount to specify the parent tree of members. Each call of this method also uses the hIndex parameter that indicates the specific sibling member for which to return metadata. Valid values for hIndex range from 0 to (getMemberSiblingCount() - 1).

Specified by:
getMemberMetadata in interface DataAccess
Overrides:
getMemberMetadata in class DataAccessAdapter
Parameters:
edge - A constant that represents the edge of interest. The constants end with _EDGE in DataDirector.
hPos - An array of relative indexes, organized by logical layer, for the parent tree of members above the sibling member that is specified by hIndex. The array includes entries for layer 0 through at least the layer that is specified by memberLayer.
memberLayer - The zero-based index into the hPos array for which the call should address the set of sibling members.
hIndex - The zero-based index of a sibling member relative to its siblings. This index specifies the sibling member for which to return the specified metadata.
type - A constant that specifies the kind of metadata to return. Valid type values are defined in MetadataMap.
Returns:
The requested metadata for the member at the specified location. This implementation returns null.
Throws:
EdgeOutOfRangeException - If edge is too large.
LayerOutOfRangeException - If memberLayer is too large.
SliceOutOfRangeException - If any slice in hPos is too large, or if the hIndex is too large.
See Also:
DataDirector.COLUMN_EDGE, DataDirector.PAGE_EDGE, DataDirector.ROW_EDGE

getMemberHPos

public int[] getMemberHPos(int edge,
                           int layer,
                           int slice)
                    throws EdgeOutOfRangeException,
                           LayerOutOfRangeException,
                           SliceOutOfRangeException
Description copied from class: DataAccessAdapter
Retrieves the hierarchical address for an absolute address that is specified as edge, physical layer, and slice. This method constructs an array that can be used in creating the hPos parameter in calls such as getMemberSiblingCount and getMemberMetadata.

As an example, this method can retrieve an array of indexes from a page edge. The array includes an index for each layer in the page edge. Consider pivoting the following column header to a page edge.

JuneJuly
TentsCanoes TentsCanoes
NYBostonLA TorontoWinnepegNYLA NYBostonLA TorontoWinnepeg

If the current page displayed June, Canoes, and Winnepeg, this method would return the array {0,1,1}. June is at index 0 in layer 0. Canoes is at index 1 in layer 1 under June. Winnepeg is at index 1 in layer 2 under Canoes. To find the number of members under Canoes under June, call getMemberSiblingCount with the array {0,1,1} and the memberLayer parameter 2.

Specified by:
getMemberHPos in interface DataAccess
Overrides:
getMemberHPos in class DataAccessAdapter
Parameters:
edge - A constant that represents the edge in which to look for the slice. The constants end with _EDGE in DataDirector.
layer - The zero-based index of the physical layer of the member whose hierarchical address will be returned.
slice - An absolute index (zero-based) along an edge that indicates the location of the slice whose hierarchical location will be returned. Each member in the innermost layer has a unique slice. In outer layers, any slice that the outer member spans can be used.
Returns:
An array of relative indexes. There is one index for each layer in the edge up to and including the layer argument, with -1 representing non-starting layers when a member happens to span more than one layer. This implementation returns null.
Throws:
EdgeOutOfRangeException - If edge is too large.
LayerOutOfRangeException - If memberLayer is too large.
SliceOutOfRangeException - If any slice in hPos is too large
See Also:
DataDirector.COLUMN_EDGE, DataDirector.PAGE_EDGE, DataDirector.ROW_EDGE

getFirstHPos

public int[] getFirstHPos(int edge)
                   throws EdgeOutOfRangeException
Description copied from class: DataAccessAdapter
Retrieves the hPos array that identifies the members at each physical layer of slice 0 on the specified edge. If there is no new member at a particular layer (because the member spans more than one physical layer) then the index value in the hPos array will be -1 for that layer.

Specified by:
getFirstHPos in interface DataAccess
Overrides:
getFirstHPos in class DataAccessAdapter
Parameters:
edge - A constant that represents the edge of interest. The constants end with _EDGE in DataDirector.
Returns:
An hPos array that fully identifies the first slice on the specified edge. This implementation returns null.
Throws:
EdgeOutOfRangeException - If edge is too large.
See Also:
DataDirector.COLUMN_EDGE, DataDirector.PAGE_EDGE, DataDirector.ROW_EDGE

getLastHPos

public int[] getLastHPos(int edge)
                  throws EdgeOutOfRangeException
Description copied from class: DataAccessAdapter
Retrieves the hPos array that identifies the members at each physical layer in the last slice on the specified edge. If there is no new member at a particular layer (because the member spans more than one physical layer) then the index value in the hPos array will be -1 for that layer.

Specified by:
getLastHPos in interface DataAccess
Overrides:
getLastHPos in class DataAccessAdapter
Parameters:
edge - A constant that represents the edge of interest. The constants end with _EDGE in DataDirector.
Returns:
An hPos array that fully identifies the last slice on the specified edge. This implementation returns null.
Throws:
EdgeOutOfRangeException - If edge is too large.
See Also:
DataDirector.COLUMN_EDGE, DataDirector.PAGE_EDGE, DataDirector.ROW_EDGE

getPrevHPos

public int[] getPrevHPos(int edge,
                         int[] hPos)
                  throws EdgeOutOfRangeException,
                         LayerOutOfRangeException,
                         SliceOutOfRangeException
Description copied from class: DataAccessAdapter
Retrieves the hPos array that identifies the members at each physical layer of the slice that is immediately previous to the specified hPos on the specified edge. If there is no new member at a particular layer (because the member spans more than one physical layer) then the index value in the hPos array will be -1 for that layer.

Specified by:
getPrevHPos in interface DataAccess
Overrides:
getPrevHPos in class DataAccessAdapter
Parameters:
edge - A constant that represents the edge of interest. The constants end with _EDGE in DataDirector.
hPos - Identifies the member for which this call should return the previous member on the edge.
Returns:
An hPos array that fully identifies the previous slice on the edge. Returns null if the hPos parameter represents the first slice on the edge. This implementation returns null.
Throws:
EdgeOutOfRangeException - If edge is too large.
LayerOutOfRangeException - If hPos is too long.
SliceOutOfRangeException - If any slice in hPos is too large
See Also:
DataDirector.COLUMN_EDGE, DataDirector.PAGE_EDGE, DataDirector.ROW_EDGE

getNextHPos

public int[] getNextHPos(int edge,
                         int[] hPos)
                  throws EdgeOutOfRangeException,
                         LayerOutOfRangeException,
                         SliceOutOfRangeException
Description copied from class: DataAccessAdapter
Retrieves the hPos that identifies the next member on the specified edge relative to a specified hPos. If there is no new member at a particular layer (because the member spans more than one physical layer) then the index value in the hPos array will be -1 for that layer.

Specified by:
getNextHPos in interface DataAccess
Overrides:
getNextHPos in class DataAccessAdapter
Parameters:
edge - A constant that represents the edge of interest. The constants end with _EDGE in DataDirector.
hPos - Identifies the member for which this call should return the next member on the edge.
Returns:
An hPos array that fully identifies the next slice on the specified edge. Returns null if the specified hPos is the last one on the edge. This implementation returns null.
Throws:
EdgeOutOfRangeException - If edge is too large.
LayerOutOfRangeException - If hPos is too long.
SliceOutOfRangeException - If any slice in hPos is too large
See Also:
DataDirector.COLUMN_EDGE, DataDirector.PAGE_EDGE, DataDirector.ROW_EDGE

findMember

public int findMember(int edge,
                      int[] hPos,
                      int memberLayer,
                      java.lang.String s,
                      java.lang.String type,
                      int flags)
               throws EdgeOutOfRangeException,
                      LayerOutOfRangeException,
                      SliceOutOfRangeException
Description copied from class: DataAccessAdapter
Searches a set of child members for the specified value starting at a specified offset. The child members are addressed as in getMemberChildCount. Returns the relative index in the specified hierarchical location for the member where the search value is found.

Specified by:
findMember in interface DataAccess
Overrides:
findMember in class DataAccessAdapter
Parameters:
edge - A constant that represents the edge along which to search. The constants end with _EDGE in DataDirector.
hPos - The hierarchically specified set of values to search. An array of relative indexes that are organized by logical layer. The indexes start at layer 0 and extend at least through the layer indicated by memberlayer. The relative indexes that are specified for the outermost layers indicate a parent tree of members; the relative index for the innermost layer indicates a zero-based starting position within the set of sibling members at which to start the search.
memberLayer - The zero-based index into the hPos array for indicating the starting position for the search operation.
s - The String to find.
type - A constant that indicates the type of metadata for which to search. Valid type values are defined in MetadataMap.
flags - The type of search - not yet defined.
Returns:
The relative index of the member in which the search value was found. Returns -1 if the String is not found. This implementation returns -1.
Throws:
EdgeOutOfRangeException - If edge is invalid.
LayerOutOfRangeException - If memberlayer is invalid for the edge.
SliceOutOfRangeException - If hPos that are not valid relative indexes 0.
See Also:
DataDirector.COLUMN_EDGE, DataDirector.PAGE_EDGE, DataDirector.ROW_EDGE

release

public void release()
Description copied from class: DataAccessAdapter
Informs the implementor that the caller no longer needs this DataAccess reference. Provides an opportunity for cleaning up the cursor when a caller is finished with it.

Views should not call this method for normal DataAccess instances, because calling this method makes the DataAccess reference unavailable to other presentation beans that might be using it. This method is useful only in special cases where a caller has wrapped a DataAccess around a private single-layer cursor.

The implementor may or may not implement this method, depending on the underlying cursor.

Specified by:
release in interface DataAccess
Specified by:
release in interface DataDirector
Overrides:
release in class DataAccessAdapter

startGroupEdit

public void startGroupEdit()
Description copied from class: DataAccessAdapter
Indicates the start of a group of setValue calls. This group of setValue calls will be treated as a unit in terms of undo and redo actions. For this reason, it is important that endGroupEdit is called when the client finishes the group editing.

Specified by:
startGroupEdit in interface DataAccess
Overrides:
startGroupEdit in class DataAccessAdapter
See Also:
DataAccessAdapter.setValue(java.lang.Object, int, int, java.lang.String), DataAccessAdapter.endGroupEdit()

endGroupEdit

public void endGroupEdit()
Description copied from class: DataAccessAdapter
Indicates the end of a group of setValue calls. This group of setValue calls will be treated as a unit in terms of undo and redo actions.

Specified by:
endGroupEdit in interface DataAccess
Overrides:
endGroupEdit in class DataAccessAdapter
See Also:
DataAccessAdapter.setValue(java.lang.Object, int, int, java.lang.String), DataAccessAdapter.startGroupEdit()

submitChanges

public boolean submitChanges()
Description copied from class: DataAccessAdapter
Writes the current group of QDR overrides in the writeback collection to the database and flushes the entries in the writeback collection. This implementation returns false.

Specified by:
submitChanges in interface DataAccess
Overrides:
submitChanges in class DataAccessAdapter
Returns:
true if changes are submitted successfully; false if changes are not submitted successfully.

undoEdit

public boolean undoEdit()
Description copied from class: DataAccessAdapter
Performs an undo of the latest setValue operation. This implementation returns false.

Specified by:
undoEdit in interface DataAccess
Overrides:
undoEdit in class DataAccessAdapter
Returns:
true if the undo was successful; false if the undo was not successful.

redoEdit

public boolean redoEdit()
Description copied from class: DataAccessAdapter
Performs a redo of the latest undo action. This implementation returns false.

Specified by:
redoEdit in interface DataAccess
Overrides:
redoEdit in class DataAccessAdapter
Returns:
true if the redo was successful; false if the redo was not successful.

dropChanges

public boolean dropChanges()
Description copied from class: DataAccessAdapter
Clears the QDR overrides in the writeback collection. This implementation returns false.

Specified by:
dropChanges in interface DataAccess
Overrides:
dropChanges in class DataAccessAdapter
Returns:
true if the clear operation was successful; false if the clear operation was not successful.

setAutoSubmit

public void setAutoSubmit(boolean bValue)
Description copied from class: DataAccessAdapter
Specifies that the QDR override in the writeback collection for a cell will be submitted automatically as soon as it is entered.

Specified by:
setAutoSubmit in interface DataAccess
Overrides:
setAutoSubmit in class DataAccessAdapter
Parameters:
bValue - true specifies automatic submission; false specifies no automatic submission.

isAutoSubmit

public boolean isAutoSubmit()
Description copied from class: DataAccessAdapter
Indicates whether automatic submission is set for cell editing. This implementation returns false.

Specified by:
isAutoSubmit in interface DataAccess
Overrides:
isAutoSubmit in class DataAccessAdapter
Returns:
true specifies that automatic submission is set for cell editing; false specifies that automatic submission is not set for cell editing.

getQDRoverrideCollection

public java.util.Vector getQDRoverrideCollection()
Description copied from class: DataAccessAdapter
Retrieves a read-only copy of the QDR overrides in the writeback collection.

This implementation returns null.

Specified by:
getQDRoverrideCollection in interface DataAccess
Overrides:
getQDRoverrideCollection in class DataAccessAdapter
Returns:
The read-only copy of the QDR overrides in the writeback collection.

getUniqueMemberMetadata

public java.util.List getUniqueMemberMetadata(int edge,
                                              int layer,
                                              java.lang.String[] types,
                                              int start,
                                              int count)
                                       throws EdgeOutOfRangeException,
                                              LayerOutOfRangeException
Description copied from interface: DataAccess
Returns an unordered List of Object arrays representing metadata for unique member values across a layer on an edge. The Object arrays correspond one-to-one with the MetadataMap types specified in the types parameter. An example of a types array might be: new String[] {MetadataMap.METADATA_VALUE, MetadataMap.METADATA_LONGLABEL} In this case, the method would return the unique set of values and their longlabels found across the given layer on the given edge. This list will be complete if the layer does not depend on any other layers (symmetric). If it is asymmetric, the number of items scanned will be constrained by no more than count number of unique items or an implementation-dependent limitation on the number of outer layer parents scanned. The return value might be: listElement(0) = new Object[] {"TOTALPROD", "Total Products"} listElement(1) = new Object[] {"AUDIODIV", "Audio Division"} listElement(2) = new Object[] {"CAMCORDER", "Camcorder"}\ If start were 1 and count were -1, then only listElement items 1 and 2 would be returned as the 0th and 1th items in the List. Normally, start will be 0 and count will be -1.

Specified by:
getUniqueMemberMetadata in interface DataAccess
Overrides:
getUniqueMemberMetadata in class DataAccessAdapter
Parameters:
edge - The edge containing the layer for which to build the member list
layer - The zero-based index of the physical layer for which to build the member list
types - An array of MetadataMap types indicating the nature of the returned metadata in the Vector elements
start - Starting point in the overall unique member list of the return list. Zero indicates start from the beginning.
count - Maximum number of unique values to return, beginning at index start. -1 indicates all values should be returned. Ignored in symmetric cases. The caller is free to ignore values returned beyond their requested count if they are managing fixed size virtual buffers.
Returns:
a Vector of Object arrays, with each element of the Vector representing one unique member for the given edge and layer. Each element of the Object array corresponds to the metadata specified one-for-one in the types parameter.
Throws:
EdgeOutOfRangeException - If edge is too large.
LayerOutOfRangeException - If layer is negative or too large.
See Also:
DataDirector.COLUMN_EDGE, DataDirector.ROW_EDGE, DataDirector.PAGE_EDGE, MetadataMap

getUniqueMemberMetadata

public java.util.List getUniqueMemberMetadata(java.lang.String layerName,
                                              java.lang.String[] types,
                                              int start,
                                              int count)
                                       throws LayerOutOfRangeException,
                                              SliceOutOfRangeException
Description copied from interface: DataAccess
Returns an unordered List of Object arrays representing metadata for unique member values across a layer on an edge. The Object arrays correspond one-to-one with the MetadataMap types specified in the types parameter. An example of a types array might be: new String[] {MetadataMap.METADATA_VALUE, MetadataMap.METADATA_LONGLABEL} In this case, the method would return the unique set of values and their longlabels found across the given layerName layer. This list will be complete if the layer does not depend on any other layers (symmetric). If it is asymmetric, the number of items scanned will be constrained by no more than count number of unique items or an implementation-dependent limitation on the number of outer layer parents scanned. The return value might be: listElement(0) = new Object[] {"TOTALPROD", "Total Products"} listElement(1) = new Object[] {"AUDIODIV", "Audio Division"} listElement(2) = new Object[] {"CAMCORDER", "Camcorder"}\ If start were 1 and count were -1, then only listElement items 1 and 2 would be returned as the 0th and 1th items in the List. Normally, start will be 0 and count will be -1.

Specified by:
getUniqueMemberMetadata in interface DataAccess
Overrides:
getUniqueMemberMetadata in class DataAccessAdapter
Parameters:
layerName - The name of the layer at which to find the given values. This value should correspond to a name obtained via a dataAccess.getLayerMetadata(edge, layer, LayerMetadataMap.LAYER_METADATA_NAME) call.
types - An array of MetadataMap types indicating the nature of the returned metadata in the Vector elements
start - Starting point in the overall unique member list of the return list. Zero indicates start from the beginning.
count - Maximum number of unique values to return, beginning at index start. -1 indicates all values should be returned. Ignored in symmetric cases. The caller is free to ignore values returned beyond their requested count if they are managing fixed size virtual buffers.
Returns:
a Vector of Object arrays, with each element of the Vector representing one unique member for the given layer. Each element of the Object array corresponds to the metadata specified one-for-one in the types parameter.
Throws:
LayerOutOfRangeException - If the layerName is not found at any edge or layer in the DataAccess.
SliceOutOfRangeException - If a problem with counting the members occurs
See Also:
DataDirector.COLUMN_EDGE, DataDirector.ROW_EDGE, DataDirector.PAGE_EDGE, MetadataMap, LayerMetadataMap

getCorrespondingMemberMetadata

public java.util.List getCorrespondingMemberMetadata(int edge,
                                                     int layer,
                                                     java.lang.String[] values,
                                                     java.lang.String[] types,
                                                     boolean inDataAccess)
                                              throws EdgeOutOfRangeException,
                                                     LayerOutOfRangeException
Description copied from interface: DataAccess
Returns a List of Object arrays of member metadata corresponding to the given MetadataMap.METADATA_VALUE strings specified in the values parameter. The Object arrays correspond one-to-one with the MetadataMap types in the types parameter. For example, a call such as: List listElement = dataAccess.getCorrespondingMemberMetadata( DataDirector.COLUMN_EDGE, 1, new String[] {"UK", "AMERICAS"}, new String[] {MetadataMap.METADATA_LONGLABEL, MetadataMap.METADATA_INDENT}, true); would return, assuming UK and AMERICAS were contained in the current DataAccess results at the column edge, layer 1: listElement(0) = {"United Kingdom", 2.0} listElement(1) = {"Areas in the Americas", 1.0} The inDataAccess parameter is for future use for finding metadata that may be outside the current DataAccess results.

Specified by:
getCorrespondingMemberMetadata in interface DataAccess
Overrides:
getCorrespondingMemberMetadata in class DataAccessAdapter
Parameters:
edge - The edge in which to find the layer potentially containing the given values.
layer - The layer in which to find the given values.
types - An array of MetadataMap types indicating the nature of the returned metadata in the Vector elements
inDataAccess - Assumed to be true at this time. Only return corresponding Metadata for values found in DataAccess. The returned Vector will contain a null element for values that are not found at all.
Returns:
A Vector of Object arrays containing corresponding metadata information for the given list of values. The size of the Vector will match the size of the values parameter, but may contain null elements if a particular value or values were not found.
Throws:
EdgeOutOfRangeException - If edge is too large.
LayerOutOfRangeException - If layer is negative or too large.
See Also:
DataDirector.COLUMN_EDGE, DataDirector.ROW_EDGE, DataDirector.PAGE_EDGE, MetadataMap

getCorrespondingMemberMetadata

public java.util.List getCorrespondingMemberMetadata(java.lang.String layerName,
                                                     java.lang.String[] values,
                                                     java.lang.String[] types,
                                                     boolean inDataAccess)
                                              throws LayerOutOfRangeException
Description copied from interface: DataAccess
Returns a List of Object arrays of member metadata corresponding to the given MetadataMap.METADATA_VALUE strings specified in the values parameter. The Object arrays correspond one-to-one with the MetadataMap types in the types parameter. For example, a call such as: List listElement = dataAccess.getCorrespondingMemberMetadata( "MDM!D_XADEMO.GEOGRAPHY", new String[] {"UK", "AMERICAS"}, new String[] {MetadataMap.METADATA_LONGLABEL, MetadataMap.METADATA_INDENT}, true); would return, assuming UK and AMERICAS were contained in the current DataAccess results at the layer named "MDM!D_XADEMO.GEOGRAPHY": listElement(0) = {"United Kingdom", 2.0} listElement(1) = {"Areas in the Americas", 1.0} The inDataAccess parameter is for future use for finding metadata that may be outside the current DataAccess results.

Specified by:
getCorrespondingMemberMetadata in interface DataAccess
Overrides:
getCorrespondingMemberMetadata in class DataAccessAdapter
Parameters:
layerName - The name of the layer at which to find the given values. This value should correspond to a name obtained via a dataAccess.getLayerMetadata(edge, layer, LayerMetadataMap.LAYER_METADATA_NAME) call.
types - An array of MetadataMap types indicating the nature of the returned metadata in the Vector elements
inDataAccess - Assumed to be true at this time. Only return corresponding Metadata for values found in DataAccess. The returned Vector will contain a null element for values that are not found at all.
Returns:
A Vector of Object arrays containing corresponding metadata information for the given list of values. The size of the Vector will match the size of the values parameter, but may contain null elements if a particular value or values were not found.
Throws:
LayerOutOfRangeException - If the layerName is not found at any edge and layer in the DataAccess.
See Also:
MetadataMap, LayerMetadataMap

getUniqueDataValues

public java.util.List getUniqueDataValues(java.lang.String name,
                                          java.lang.String[] types,
                                          int start,
                                          int count)
                                   throws LayerOutOfRangeException,
                                          SliceOutOfRangeException
Throws:
LayerOutOfRangeException
SliceOutOfRangeException

allSlicesFetched

public boolean allSlicesFetched(int edge)
                         throws EdgeOutOfRangeException
Description copied from class: DataAccessAdapter
Returns true if all slices the entire given edge have been fetched and are available. A true return value implies that the value returned by getEdgeExtent for the same edge parameter is the actual total number of slices available on the edge. A false value indicates that the getEdgeExtent return value represents the number of slices available without further data fetching, but that the implementation believes there are more slices available and that fetching of these slices will occur upon a forceFetch call or other implementation-specific view/DataSource interactions

Specified by:
allSlicesFetched in interface DataAccess
Overrides:
allSlicesFetched in class DataAccessAdapter
Parameters:
edge - The edge for which to determine if all slices have been fetched
Returns:
true if all slices have been fetched
Throws:
EdgeOutOfRangeException - If edge is invalid

isFetched

public boolean isFetched(int[] startSlice,
                         int[] endSlice,
                         int flag)
                  throws SliceOutOfRangeException
Description copied from interface: DataAccess
Indicates whether a block of data has been fully computed or processed locally. The block of data is specified as matched pairs of start and end slice locations organized in array parameters by edge.

For example, this method can be used for a printing routine that wants to keep the UI running and to be sure that the block of data that it is about to print has already been fetched.

Implementors are not required to support this method.

Specified by:
isFetched in interface DataAccess
Overrides:
isFetched in class DataAccessAdapter
Parameters:
startSlice - A list of starting slices that define one "side" of the data block, organized by edge. For example, this parameter might refer to the starting column and row. This method ignores array elements above the maximum supported edge.
endSlice - A matching list (as defined by startSlice) of ending slices that define the other "side" of the data block. For example, this parameter might refer to the ending column and row. This method ignores array elements above the maximum supported edge.
flag - A DataDirector3 flag indicating the type of block the caller is interested in (spans, relative indent, etc.)
Returns:
true if the block of data has been computed locally or if the call is unsupported; false if the block of data has not been computed locally.
Throws:
SliceOutOfRangeException - If any of the slices are invalid.
See Also:
DataDirector3

forceFetch

public boolean forceFetch(int[] startSlice,
                          int[] endSlice,
                          int flag)
                   throws SliceOutOfRangeException
Description copied from interface: DataAccess
Ensures that a block of data has been fetched or computed locally. If this call is successful, then the caller can expect that isFetched will return true.

Implementors are not required to support this method.

Specified by:
forceFetch in interface DataAccess
Overrides:
forceFetch in class DataAccessAdapter
Parameters:
startSlice - A list of starting slices that define one "side" of the data block, organized by edge. For example, this parameter might refer to the starting column and row. This method ignores array elements above the maximum supported edge.
endSlice - A matching list (as defined by startSlice) of ending slices that define the other "side" of the data block. For example, this parameter might refer to the ending column and row. This method ignores array elements above the maximum supported edge.
flag - A bitwise DataDirector3 flag indicating the type of blocks the caller is interested in (spans, relative indent, etc.)
Returns:
true If the block of data was successfully computed or if the method is not supported. false if the block of data was not computed..
Throws:
SliceOutOfRangeException - If the startSlice parameter is invalid
See Also:
DataDirector3

getSupportedDataMap

public DataMap getSupportedDataMap()
Description copied from class: DataAccessAdapter
Return a DataMap that contains all of the types that this DataAccessAdapter can support. Some types of data might not be available in some types of queries.

Specified by:
getSupportedDataMap in interface DataDirector
Overrides:
getSupportedDataMap in class DataAccessAdapter
Returns:
null.
See Also:
DataMap

getSupportedMetadataMap

public MetadataMap getSupportedMetadataMap()
Description copied from class: DataAccessAdapter
Retrieves a MetadataMap that contains all of the types that this DataAccessAdapter can support. Some types of metadata might not be available in some types of queries.

Specified by:
getSupportedMetadataMap in interface DataDirector
Overrides:
getSupportedMetadataMap in class DataAccessAdapter
Returns:
null.
See Also:
MetadataMap

getSupportedLayerMetadataMap

public LayerMetadataMap getSupportedLayerMetadataMap()
Description copied from class: DataAccessAdapter
Return a LayerMetadataMap that contains all of the types that this DataAccessAdapter can support. Some types of layer metadata might not be available in some types of queries.

Specified by:
getSupportedLayerMetadataMap in interface DataDirector
Overrides:
getSupportedLayerMetadataMap in class DataAccessAdapter
Returns:
null.
See Also:
LayerMetadataMap

getMemberQDR

public QDR getMemberQDR(int edge,
                        int layer,
                        int slice,
                        int flags)
                 throws EdgeOutOfRangeException,
                        LayerOutOfRangeException,
                        SliceOutOfRangeException
Returns a QDR in which each member is named after its start slice, e.g. {"Edge0Layer00":"9";"Edge0Layer01":"12";"Edge0Layer02":"13"}

Specified by:
getMemberQDR in interface DataAccess
Overrides:
getMemberQDR in class DataAccessAdapter
Parameters:
edge - A constant that represents the edge of interest. The constants end with _EDGE in DataDirector.
layer - A zero-based index that represents the physical layer of the member for which the QDR object is requested.
slice - An absolute index (zero-based) that indicates the location, along the specified edge, of a slice that belongs to the member for which the QDR object is requested.
flags - A constant that identifies whether to include page edge information if the QDR is not for the page edge. Valid constants are listed in the See Also section.
Returns:
QDR object that refers to the data at the specified position. This implementation returns null.
Throws:
EdgeOutOfRangeException - If edge is not valid.
LayerOutOfRangeException - If layer is not valid for the specified edge.
SliceOutOfRangeException - If slice is not valid for the specified edge and layer.
See Also:
DataDirector.COLUMN_EDGE, DataDirector.PAGE_EDGE, DataDirector.ROW_EDGE, DataAccess.QDR_WITH_PAGE, DataAccess.QDR_WITHOUT_PAGE

getValueQDR

public QDR getValueQDR(int row,
                       int column,
                       int flags)
                throws RowOutOfRangeException,
                       ColumnOutOfRangeException
Description copied from class: DataAccessAdapter
Retrieves a QDR object that represents the value at the specified row and column in the data area of the cursor.

Specified by:
getValueQDR in interface DataAccess
Overrides:
getValueQDR in class DataAccessAdapter
Parameters:
row - The row in the data cursor for which to return the QDR.
column - The column in the data cursor for which to return the QDR.
flags - A constant that identifies whether to include page edge information if the QDR is not for the page edge. Valid constants are listed in the See Also section.
Returns:
QDR object that refers to the data at the specified location. This implementation returns null.
Throws:
RowOutOfRangeException - If the row parameter is not valid.
ColumnOutOfRangeException - If the column parameter is not valid.
See Also:
DataAccess.QDR_WITH_PAGE, DataAccess.QDR_WITHOUT_PAGE

getSliceQDR

public QDR getSliceQDR(int edge,
                       int slice,
                       int flags)
                throws EdgeOutOfRangeException,
                       SliceOutOfRangeException
Description copied from class: DataAccessAdapter
Retrieves a QDR object that represents the data value at the specified slice on the edge (that is, across all relevant logical layers of the slice).

Specified by:
getSliceQDR in interface DataAccess
Overrides:
getSliceQDR in class DataAccessAdapter
Parameters:
edge - A constant that represents the edge of in which to find the slice. The constants end with _EDGE in DataDirector.
slice - An absolute index (zero-based) that indicates the location of the slice along the specified edge.
flags - A constant that identifies whether to include page edge information if the QDR is not for the page edge. Valid constants are listed in the See Also section.
Returns:
QDR object that refers to the data at the specified location. This implementation returns null.
Throws:
EdgeOutOfRangeException - If the edge parameter is not valid.
SliceOutOfRangeException - If the slice parameter is not valid.
See Also:
DataDirector.COLUMN_EDGE, DataDirector.PAGE_EDGE, DataDirector.ROW_EDGE, DataAccess.QDR_WITH_PAGE, DataAccess.QDR_WITHOUT_PAGE

Oracle Fusion Middleware Java API Reference for Oracle Data Visualization Components
11g Release 1 (11.1.1.6.0)

E12063-07

Copyright © 1997, 2011, Oracle. All rights reserved.