public interface CDFDataAccess
Modifier and Type | Method and Description |
---|---|
int |
getEdgeCount()
Retrieves the total number of edges that are available in the cursor.
|
int |
getEdgeExtent(int edge)
Retrieves the total number of slices that are available on the
specified edge.
|
boolean |
getEdgeSymmetric(int edge)
Returns
true if the edge is completely symmetric (every
parent tuple has the same set of children at each layer), or false if not. |
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 logical layer that is found at a
specified edge and logical layer.
|
int |
getMemberDepth(int edge,
int layer,
int slice)
Retrieves the size 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).
|
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.
|
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.
|
int getEdgeCount()
DataDirector.DATA_ELEMENT_EDGE
.edge
parameter in other API calls: the valid range
is from zero to this return value minus one.int getEdgeExtent(int edge) throws EdgeOutOfRangeException
edge
- A constant that represents the edge of interest.
The constants end with _EDGE
in
DataDirector
.EdgeOutOfRangeException
- If the edge
parameter is
not valid.DataDirector.COLUMN_EDGE
,
DataDirector.PAGE_EDGE
,
DataDirector.ROW_EDGE
boolean getEdgeSymmetric(int edge) throws EdgeOutOfRangeException
true
if the edge is completely symmetric (every
parent tuple has the same set of children at each layer), or false
if not.edge
- A constant that represents the edge of interest.
The constants end with _EDGE
in
DataDirector
.true
if the edge is symmetric, false
if notEdgeOutOfRangeException
- If the edge
parameter is
not valid.DataDirector.COLUMN_EDGE
,
DataDirector.PAGE_EDGE
,
DataDirector.ROW_EDGE
int getLayerCount(int edge) throws EdgeOutOfRangeException
edge
- A constant that represents the edge of interest.
The constants end with _EDGE
in
DataDirector
.layer
parameter in other API calls:
the valid range is from zero to this return value minus one.EdgeOutOfRangeException
- If the edge
parameter is
out of range.DataDirector.COLUMN_EDGE
,
DataDirector.PAGE_EDGE
,
DataDirector.ROW_EDGE
java.lang.Object getLayerMetadata(int edge, int layer, java.lang.String type) throws EdgeOutOfRangeException, LayerOutOfRangeException
edge
- A constant that represents the edge of interest.
The constants end with _EDGE
in
DataDirector
.layer
- The zero-based number 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
.EdgeOutOfRangeException
- If edge
is too large.LayerOutOfRangeException
- If layer
is negative or
too large.LayerMetadataMap
,
DataDirector.COLUMN_EDGE
,
DataDirector.PAGE_EDGE
,
DataDirector.ROW_EDGE
int getMemberExtent(int edge, int layer, int slice) throws EdgeOutOfRangeException, LayerOutOfRangeException, SliceOutOfRangeException
The sum of all the unique getMemberExtent
values for an edge
should not exceed the getEdgeExtent
value for the same edge.
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 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.EdgeOutOfRangeException
- If edge
is too large.LayerOutOfRangeException
- If layer
is negative or
too large.SliceOutOfRangeException
- If slice
is negative or
too large.getMemberStartSlice(int, int, int)
,
DataDirector.COLUMN_EDGE
,
DataDirector.PAGE_EDGE
,
DataDirector.ROW_EDGE
int getMemberStartSlice(int edge, int layer, int slice) throws EdgeOutOfRangeException, LayerOutOfRangeException, SliceOutOfRangeException
getMemberExtent
.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 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.EdgeOutOfRangeException
- If edge
is too large.LayerOutOfRangeException
- If layer
is negative or
too large.SliceOutOfRangeException
- If slice
is negative or
too large.getMemberExtent(int, int, int)
,
DataDirector.COLUMN_EDGE
,
DataDirector.PAGE_EDGE
,
DataDirector.ROW_EDGE
java.lang.Object getMemberMetadata(int edge, int layer, int slice, java.lang.String type) throws EdgeOutOfRangeException, LayerOutOfRangeException, SliceOutOfRangeException
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 (such as
METADATA_LONGLABEL
or
METADATA_VALUE
) are defined in
MetadataMap
.
Example: If type
is specified as
MetadataMap.METADATA_DRILLSTATE
, then this
method returns one of the drill state constants that are
found in DataDirector
.
Note: The caller should have intialized the appropriate
MetadataMap
object with any types of metadata
that the caller intends to use.LayerOutOfRangeException
- If layer
is negative or
too large.SliceOutOfRangeException
- If slice
is negative or
too large.EdgeOutOfRangeException
MetadataMap
,
DataDirector.COLUMN_EDGE
,
DataDirector.PAGE_EDGE
,
DataDirector.ROW_EDGE
int getMemberDepth(int edge, int layer, int slice) throws EdgeOutOfRangeException, LayerOutOfRangeException, SliceOutOfRangeException
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.
In outline mode, this method should return value from
getLayerCount
.
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 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.EdgeOutOfRangeException
- If edge
is too large.LayerOutOfRangeException
- If layer
is negative or
too large.SliceOutOfRangeException
- If slice
is negative or
too large.getLayerCount(int)
,
getMemberStartLayer(int, int, int)
,
DataDirector.COLUMN_EDGE
,
DataDirector.PAGE_EDGE
,
DataDirector.ROW_EDGE
int getMemberStartLayer(int edge, int layer, int slice) throws EdgeOutOfRangeException, LayerOutOfRangeException, SliceOutOfRangeException
getMemberDepth
to retrieve the following information
depending on the edge:
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.
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 number 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.EdgeOutOfRangeException
- If the edge
parameter is
not valid.LayerOutOfRangeException
- If the layer
parameter is
not valid for the specified edge.SliceOutOfRangeException
- If the slice
parameter is
not valid for the specified edge.DataDirector.COLUMN_EDGE
,
DataDirector.PAGE_EDGE
,
DataDirector.ROW_EDGE