class SparseSegmentDataset extends Object implements SegmentDataset
SparseSegmentDataset is a means of storing segment values
 which is suitable when few of the combinations of keys have a value present.
 The storage requirements are as follows. Key is 1 word for each dimension. Hashtable entry is 3 words. Value is 1 word. Total space is (4 + d) * v. (May also need hash table to ensure that values are only stored once.)
NOTE: This class is not synchronized.
| Constructor and Description | 
|---|
SparseSegmentDataset()
Creates an empty SparseSegmentDataset. 
 | 
SparseSegmentDataset(Map<CellKey,Object> values)
Creates a SparseSegmentDataset with a given value map. 
 | 
| Modifier and Type | Method and Description | 
|---|---|
SegmentBody | 
createSegmentBody(List<Pair<SortedSet<Comparable>,Boolean>> axes)
Return an immutable, final and serializable implementation
 of a SegmentBody in order to cache this dataset. 
 | 
boolean | 
exists(CellKey pos)
Returns whether there is a value at a given coordinate. 
 | 
double | 
getBytes()
Returns the number of bytes occupied by this dataset. 
 | 
double | 
getDouble(CellKey pos)
Returns the value at a given coordinate, as a  
double. | 
int | 
getInt(CellKey pos)
Returns the value at a given coordinate, as an  
int. | 
Object | 
getObject(CellKey pos)
Returns the value at a given coordinate, as an  
Object. | 
SqlStatement.Type | 
getType()
Returns the SQL type of the data contained in this dataset. 
 | 
boolean | 
isNull(CellKey pos)
Returns whether the cell at a given coordinate is null. 
 | 
Iterator<Map.Entry<CellKey,Object>> | 
iterator()  | 
void | 
populateFrom(int[] pos,
            SegmentDataset data,
            CellKey key)  | 
void | 
populateFrom(int[] pos,
            SegmentLoader.RowList rowList,
            int column)
Sets the value a given ordinal. 
 | 
void | 
put(CellKey key,
   Object value)  | 
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitforEach, spliteratorSparseSegmentDataset()
SparseSegmentDataset(Map<CellKey,Object> values)
values - Value mappublic Object getObject(CellKey pos)
SegmentDatasetObject.getObject in interface SegmentDatasetpos - Coordinate positionpublic boolean isNull(CellKey pos)
SegmentDatasetisNull in interface SegmentDatasetpos - Coordinate positionpublic int getInt(CellKey pos)
SegmentDatasetint.getInt in interface SegmentDatasetpos - Coordinate positionpublic double getDouble(CellKey pos)
SegmentDatasetdouble.getDouble in interface SegmentDatasetpos - Coordinate positionpublic boolean exists(CellKey pos)
SegmentDatasetexists in interface SegmentDatasetpos - Coordinate positionpublic double getBytes()
SegmentDatasetgetBytes in interface SegmentDatasetpublic void populateFrom(int[] pos,
                         SegmentDataset data,
                         CellKey key)
populateFrom in interface SegmentDatasetpublic void populateFrom(int[] pos,
                         SegmentLoader.RowList rowList,
                         int column)
SegmentDatasetpopulateFrom in interface SegmentDatasetpos - OrdinalrowList - Row listcolumn - Column of row listpublic SqlStatement.Type getType()
SegmentDatasetgetType in interface SegmentDatasetpublic SegmentBody createSegmentBody(List<Pair<SortedSet<Comparable>,Boolean>> axes)
SegmentDatasetcreateSegmentBody in interface SegmentDatasetaxes - An array with, for each axis, the set of axis values, sorted
     in natural order, and a flag saying whether the null value is also
     present.
     This is supplied by the SegmentLoader.SegmentBody.