Skip navigation links

Oracle Fusion Middleware Java API Reference for Oracle Data Visualization Components
11g Release 2 (11.1.2.2.0)

E17492-03


oracle.dss.dataView
Class LocalDataSource

java.lang.Object
  extended by oracle.dss.util.DataAccessAdapter
      extended by oracle.dss.dataView.LocalDataSource

All Implemented Interfaces:
CDFDataAccess, CubeDataAccess, CubeDataDirector, DataAccess, DataDirector, DataSource, RelationalDataAccess, RelationalDataDirector
Direct Known Subclasses:
GaugeLocalDataSource

public class LocalDataSource
extends DataAccessAdapter
implements CubeDataDirector, CubeDataAccess, RelationalDataDirector, RelationalDataAccess, DataSource
For internal use only. Application developers should not use this
Internal default data source

Field Summary
protected  java.lang.String baseDim
           
protected  java.lang.String baseEdgeDim
           
protected  java.lang.String basePageMem
           
protected  int columnCount
           
protected  java.lang.String[] columnLabels
           
protected  int currentPage
           
protected  double[][] defaultData1
           
protected  double[][] defaultData2
           
protected  DataDirectorListener listener
           
protected  int pageCount
           
protected  java.lang.String[] pageLabels
           
protected  java.util.ResourceBundle rBundle
           
protected  int rowCount
           
protected  java.lang.String[] rowLabels
           
protected  java.lang.String strPage
           

 

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
LocalDataSource()
           

 

Method Summary
 void addDataDirectorListener(DataDirectorListener l)
          Registers a listener to the data source for changes.
 boolean changeEdgeCurrentHPos(int edge, int[] hPos, int maxLayerSpecified)
          Changes the current slice of data on the given edge.
 boolean changeEdgeCurrentSlice(int edge, int slice)
          Changes the current slice of data on the given edge.
protected  QDR constructSliceQDR(int edge, int slice)
           
 CubeDataDirector createCubeDataDirector()
          Creates a DataDirector for cube-based (OLAP) views
 DataDirector createDataDirector()
           
 RelationalDataDirector createRelationalDataDirector()
          Creates a DataDirector for relational views.
 boolean drill(int edge, int layer, int slice, int flags)
          Drills in the data, from a single member.
 boolean drillOK(int edge, int layer, int slice, int flags)
          Indicates whether a drill operation from a single selected member is legal.
 DataAccess getDataAccess()
          Called by the view to get a current BaseDataAccess model of the data.
 DataMap getDataMap()
          Retrieves the list of types of data that can be retrieved or set for each location in the data cursor.
 int getEdgeCount()
          Return the total number of edges in the data source.
 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, int 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)
          Retrieves a piece of metadata for a layer.
 QDR getLayerQDR(int edge, int layer, int flags)
          Retrieves the QDR object that represents the specified logical layer.
 java.util.Locale getLocale()
           
 int getMemberDepth(int edge, int layer, int slice)
          Retrieves the number of layers that a member spans at the specified location on the specified 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.
 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 dimension, int dimvalue, java.lang.String type)
          Retrieves the specified type of metadata for a member at the specified location.
 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 getMemberStartSlice(int edge, int layer, int slice)
          Retrieves the absolute number of the first slice that a member spans.
 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.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.
 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).
 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.lang.Object getValue(int aRow, int aColumn, java.lang.String type)
          Retrieves a data value for the specified row and column intersection.
 boolean isOutline()
          Inform caller of the current outline vs.
 void populateCellData(int columnCount, int rowCount, double[][] data)
           
 void removeDataDirectorListener(DataDirectorListener l)
          Removes a listener from the data source.
 void setCurrentPage(long aPage)
           
 void setLocale(java.util.Locale loc)
           
 void setOutline(boolean outline)
          Signal the data provider to start providing data in outline or inline mode updating its data and notifying listeners that the data has changed via an event.
 boolean setValue(java.lang.Object aValue, int aRow, int aColumn, java.lang.String type)
          Specifies a data value for the specified row and column intersection.
protected  void updateLabels()
           
protected  void updateResourceBundle(java.util.Locale loc)
           

 

Methods inherited from class oracle.dss.util.DataAccessAdapter
allSlicesFetched, cancel, deleteMemberCalc, deleteValueCalc, drill, drill, drill, drillOK, drillOK, drillOK, dropChanges, endGroupEdit, findMember, findMembers, fireEvents, forceFetch, getColumnSorts, getCompatibleDataItemMetadata, getCorrespondingMemberMetadata, getCorrespondingMemberMetadata, getDimensionSorts, getEdgeCurrentSlice, getEdgeSymmetric, getExpressions, getMemberLogicalLayer, getMemberQDR, getMemberQDR, getMemberSorts, getMemberStartLayer, getMetadataMap, getProperty, getQDRoverrideCollection, getSliceOutlineLayer, getSlicesFromQDR, getSorts, getStatus, getUniqueMemberMetadata, getUniqueMemberMetadata, getValueQDR, insertMemberCalc, insertValueCalc, isAutoSubmit, isCancelable, isFetched, isMemberExtentComplete, pivot, pivotCheck, pivotOK, redoEdit, refresh, release, reorder, revalidate, setAutoSubmit, setColumnSorts, setDataMap, setDimensionSorts, setExpressions, setLayerMetadata, setManualUpdate, setMemberSorts, setMetadataMap, setProperty, setSorts, startExecution, startGroupEdit, submitChanges, undoEdit, update

 

Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

 

Methods inherited from interface oracle.dss.util.DataDirector
cancel, deleteMemberCalc, deleteValueCalc, drill, drill, drill, drillOK, drillOK, drillOK, fireEvents, getColumnSorts, getCompatibleDataItemMetadata, getDimensionSorts, getExpressions, getMemberSorts, getMetadataMap, getProperty, getSorts, getStatus, insertMemberCalc, insertValueCalc, isCancelable, pivot, pivotCheck, pivotOK, refresh, release, reorder, revalidate, setColumnSorts, setDataMap, setDimensionSorts, setExpressions, setLayerMetadata, setManualUpdate, setMemberSorts, setMetadataMap, setProperty, setSorts, startExecution, update

 

Methods inherited from interface oracle.dss.util.DataAccess
allSlicesFetched, dropChanges, endGroupEdit, findMember, findMembers, forceFetch, getCorrespondingMemberMetadata, getCorrespondingMemberMetadata, getEdgeCurrentSlice, getMemberLogicalLayer, getMemberQDR, getMemberQDR, getQDRoverrideCollection, getSliceOutlineLayer, getSlicesFromQDR, getUniqueMemberMetadata, getUniqueMemberMetadata, getValueQDR, isAutoSubmit, isFetched, isMemberExtentComplete, redoEdit, release, setAutoSubmit, startGroupEdit, submitChanges, undoEdit

 

Methods inherited from interface oracle.dss.util.CDFDataAccess
getEdgeSymmetric, getMemberStartLayer

 

Field Detail

defaultData1

protected double[][] defaultData1

defaultData2

protected double[][] defaultData2

rowCount

protected int rowCount

columnCount

protected int columnCount

pageCount

protected int pageCount

currentPage

protected int currentPage

rowLabels

protected java.lang.String[] rowLabels

columnLabels

protected java.lang.String[] columnLabels

pageLabels

protected java.lang.String[] pageLabels

rBundle

protected java.util.ResourceBundle rBundle

baseEdgeDim

protected java.lang.String baseEdgeDim

baseDim

protected java.lang.String baseDim

basePageMem

protected java.lang.String basePageMem

strPage

protected java.lang.String strPage

listener

protected DataDirectorListener listener

Constructor Detail

LocalDataSource

public LocalDataSource()

Method Detail

setLocale

public void setLocale(java.util.Locale loc)

getLocale

public java.util.Locale getLocale()

updateResourceBundle

protected void updateResourceBundle(java.util.Locale loc)

updateLabels

protected void updateLabels()

populateCellData

public void populateCellData(int columnCount,
                             int rowCount,
                             double[][] data)

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.

getDataAccess

public DataAccess getDataAccess()
                         throws DataDirectorException
Description copied from interface: DataDirector
Called by the view to get a current BaseDataAccess model of the data.
Specified by:
getDataAccess in interface DataDirector
Overrides:
getDataAccess in class DataAccessAdapter
Returns:
current model of data implemented via BaseDataAccess
Throws:
DataDirectorException

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.

drill

public boolean drill(int edge,
                     int layer,
                     int slice,
                     int flags)
              throws EdgeOutOfRangeException,
                     LayerOutOfRangeException,
                     SliceOutOfRangeException,
                     DataDirectorException
Drills in the data, from a single member.
Specified by:
drill in interface DataDirector
Overrides:
drill in class DataAccessAdapter
Parameters:
edge - The edge to drill.
layer - The layer to drill. The layer identifies the location of the dimension or dimension member; 0 is the outer-most dimension on the edge.
slice - The slice to drill. The slice is zero-based. Each dimension member in the innermost dimension has a unique slice. In outer dimensions, any slice that the outer dimension spans can be used.
flags - Constant that indicates the type of drill. The constants begin with DRILLABLE_ in this interface.
Returns:
true If drilling is successful, 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.
DataDirectorException - If a data provider error occurs.
See Also:
DataDirector.COLUMN_EDGE, DataDirector.PAGE_EDGE, DataDirector.ROW_EDGE

changeEdgeCurrentSlice

public boolean changeEdgeCurrentSlice(int edge,
                                      int slice)
                               throws EdgeOutOfRangeException,
                                      SliceOutOfRangeException,
                                      DataDirectorException
Changes the current slice of data on the given edge.
Specified by:
changeEdgeCurrentSlice in interface DataDirector
Overrides:
changeEdgeCurrentSlice in class DataAccessAdapter
Parameters:
edge - The edge on which to make the change.
slice - The slice to make current. Page numbers begin at zero and are incremented as in the following example:

Suppose that you have a Time dimension and a City dimension on the page edge. Suppose the City dimension has three members. The first five pages are as follows:

  • 0. Time member 0; City member 0
  • 1. Time member 0; City member 1
  • 2. Time member 0; City member 2
  • 3. Time member 1; City member 0
  • 4. Time member 1; City member 1
Returns:
true if the page change is successful, false if not.
Throws:
EdgeOutOfRangeException - If edge is too large. * @throws SliceOutOfRangeException If slice is too large.
DataDirectorException - If a data provider error occurs.
SliceOutOfRangeException - If slice is too large.
See Also:
DataDirector.COLUMN_EDGE, DataDirector.PAGE_EDGE, DataDirector.ROW_EDGE

changeEdgeCurrentHPos

public boolean changeEdgeCurrentHPos(int edge,
                                     int[] hPos,
                                     int maxLayerSpecified)
                              throws EdgeOutOfRangeException,
                                     LayerOutOfRangeException,
                                     SliceOutOfRangeException,
                                     DataDirectorException
Changes the current slice of data on the given edge.
Specified by:
changeEdgeCurrentHPos in interface DataDirector
Overrides:
changeEdgeCurrentHPos in class DataAccessAdapter
Parameters:
edge - The edge on which to make the change.
hPos - An array of relative indices starting with the outermost layer and working in at least to maxLayerSpecified indicating the set of new values to give to the various layers that make up the target slice
maxLayerSpecified - The maximum index into hPos (layer) that the call should use in making the slice change.
Returns:
true if the page change is successful, false if not.
Throws:
EdgeOutOfRangeException - If edge is too large.
LayerOutOfRangeException - If number of layers in hPos is too large.
SliceOutOfRangeException - If the slices in hPos are too large.
DataDirectorException - If a data provider error occurs.
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, *

getEdgeCount

public int getEdgeCount()
Return the total number of edges in the data source. Note: the views will consider all edges beyond 0 and 1 (column/ row) to be page edges, and some of the methods retrieving page counts, etc., may involve view calculations from more basic data source information. The views assume that the data source will ascribe column/row meaning to the first two edges on any query.
Specified by:
getEdgeCount in interface CDFDataAccess
Overrides:
getEdgeCount in class DataAccessAdapter
Returns:
the total number of pages of data to display

getValue

public java.lang.Object getValue(int aRow,
                                 int aColumn,
                                 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:
aRow - The row to get.
aColumn - 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 <coded>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 aValue,
                        int aRow,
                        int aColumn,
                        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:
aValue - The data to set into the cursor.
aRow - The row at which to set the data.
aColumn - 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

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 <coded>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,
                               int slice)
                        throws EdgeOutOfRangeException,
                               SliceOutOfRangeException
Throws:
EdgeOutOfRangeException
SliceOutOfRangeException

setCurrentPage

public void setCurrentPage(long aPage)

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

getLayerMetadata

public java.lang.Object getLayerMetadata(int edge,
                                         int layer,
                                         java.lang.String type)
                                  throws EdgeOutOfRangeException,
                                         LayerOutOfRangeException
Retrieves a piece of metadata for a layer.
Specified by:
getLayerMetadata in interface CDFDataAccess
Overrides:
getLayerMetadata in class DataAccessAdapter
Parameters:
edge - The edge of interest. The constants are defined in the DataDirector implementation.
dimension - The layer for which you want metadata. Uses a depth computation to identify the location of the layer or layer member; 0 is the outer-most layer on the edge.
type - A constant that specifies the kind of metadata that you want. Valid type values are defined in the LayerMetadataMap.
Returns:
The requested metadata.
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

getMemberMetadata

public java.lang.Object getMemberMetadata(int edge,
                                          int dimension,
                                          int dimvalue,
                                          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.
dimension - 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.
dimvalue - 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 <coded>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

getMemberExtent

public int getMemberExtent(int edge,
                           int layer,
                           int slice)
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.
See Also:
DataAccessAdapter.getMemberStartSlice(int, int, int), DataDirector.COLUMN_EDGE, DataDirector.PAGE_EDGE, DataDirector.ROW_EDGE

getMemberDepth

public int getMemberDepth(int edge,
                          int layer,
                          int slice)
                   throws EdgeOutOfRangeException,
                          LayerOutOfRangeException,
                          SliceOutOfRangeException
Retrieves the number of layers that a member spans at the specified location on the specified edge. On the column edge, this is the number of heading rows that the specified member spans. On the row edge, this is the number of heading columns that the specified member spans.

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

Specified by:
getMemberDepth in interface CDFDataAccess
Overrides:
getMemberDepth in class DataAccessAdapter
Parameters:
edge - A constant that represents the edge of interest. The constants are defined in the DataDirector implementation.
layer - The starting layer of the member, as returned by getMemberStartLayer.
slice - The location along the edge. 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.
Returns:
The number of layers that the specified member spans.
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

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

drillOK

public boolean drillOK(int edge,
                       int layer,
                       int slice,
                       int flags)
                throws EdgeOutOfRangeException,
                       LayerOutOfRangeException,
                       SliceOutOfRangeException,
                       DataDirectorException
Indicates whether a drill operation from a single selected member is legal.
Specified by:
drillOK in interface DataDirector
Overrides:
drillOK in class DataAccessAdapter
Parameters:
edge - The edge to drill.
layer - The layer to drill. The layer identifies the location of the dimension or dimension member; 0 is the outer-most dimension on the edge.
slice - The slice to drill. The slice is zero-based. Each dimension member in the innermost dimension has a unique slice. In outer dimensions, any slice that the outer dimension spans can be used.
flags - Constant that indicates the type of drill. The constants begin with DRILLABLE_ in this interface.
Returns:
true if this drilling operation is legal, 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.
DataDirectorException - If a data provider error occurs.
See Also:
DataDirector.COLUMN_EDGE, DataDirector.PAGE_EDGE, DataDirector.ROW_EDGE

setOutline

public void setOutline(boolean outline)
                throws DataDirectorException
Signal the data provider to start providing data in outline or inline mode updating its data and notifying listeners that the data has changed via an event. Note: not all data providers need to have this capability.
Specified by:
setOutline in interface DataDirector
Overrides:
setOutline in class DataAccessAdapter
Parameters:
outline - true if the data provider should switch to providing data in outline mode. Otherwise switch to providing data in inline mode.
Throws:
DataDirectorException - If a data provider error occurs

isOutline

public boolean isOutline()
Inform caller of the current outline vs. inline state of the data providing class.
Specified by:
isOutline in interface DataDirector
Overrides:
isOutline in class DataAccessAdapter
Returns:
true if the data provider is providing data in outline mode.

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.
June July
Tents Canoes Tents Canoes
NY Boston LA Toronto Winnepeg NY LA NY Boston LA Toronto Winnepeg

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 <coded>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

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 <coded>null.
Throws:
EdgeOutOfRangeException - If the parameter edge is not valid.
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.

June July
Tents Canoes Tents Canoes
NY Boston LA Toronto Winnepeg NY LA NY Boston LA Toronto Winnepeg

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 <coded>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

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 <coded>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

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 <coded>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

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 <coded>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 <coded>null.
Throws:
EdgeOutOfRangeException - If edge is too large.
See Also:
DataDirector.COLUMN_EDGE, DataDirector.PAGE_EDGE, DataDirector.ROW_EDGE

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.

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

getLayerQDR

public QDR getLayerQDR(int edge,
                       int layer,
                       int flags)
                throws EdgeOutOfRangeException,
                       LayerOutOfRangeException
Retrieves the QDR object that represents the specified logical layer.
Specified by:
getLayerQDR in interface DataAccess
Overrides:
getLayerQDR in class DataAccessAdapter
Parameters:
edge - A constant that represents the edge in which to find the logical layer. The constants end with _EDGE in DataDirector.
layer - The zero-based index of the logical layer 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 in the specified layer.
Throws:
EdgeOutOfRangeException - If edge is not valid.
LayerOutOfRangeException - If the logical layer is not valid for the specified edge.
See Also:
DataAccess.QDR_WITH_PAGE, DataAccess.QDR_WITHOUT_PAGE, DataDirector.COLUMN_EDGE, DataDirector.PAGE_EDGE, DataDirector.ROW_EDGE

getSliceQDR

public QDR getSliceQDR(int edge,
                       int slice,
                       int flags)
                throws EdgeOutOfRangeException,
                       SliceOutOfRangeException
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.
Throws:
EdgeOutOfRangeException - If the edge parameter is not valid.
SliceOutOfRangeException - If the slice parameter is not valid.
See Also:
DataAccess.QDR_WITH_PAGE, DataAccess.QDR_WITHOUT_PAGE, DataDirector.COLUMN_EDGE, DataDirector.PAGE_EDGE, DataDirector.ROW_EDGE

constructSliceQDR

protected QDR constructSliceQDR(int edge,
                                int slice)

Skip navigation links

Oracle Fusion Middleware Java API Reference for Oracle Data Visualization Components
11g Release 2 (11.1.2.2.0)

E17492-03


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