Package com.illumon.iris.db.v2.locations
Interface ColumnLocation<TLT extends TableLocation>
- All Superinterfaces:
com.fishlib.base.log.LogOutputAppendable
,NamedImplementation
,StringUtils.StringKeyedObject
- All Known Subinterfaces:
DeephavenFormatColumnLocation<TLT>
,ParquetFormatColumnLocation<ATTR,TLT>
- All Known Implementing Classes:
AbstractColumnLocation
,LocalColumnLocation
public interface ColumnLocation<TLT extends TableLocation> extends StringUtils.StringKeyedObject, NamedImplementation, com.fishlib.base.log.LogOutputAppendable
Per-TableLocation, per-column key and state object.
-
Method Summary
Modifier and Type Method Description default com.fishlib.base.log.LogOutput
append(com.fishlib.base.log.LogOutput logOutput)
default DeephavenFormatColumnLocation<TLT>
asDeephavenFormat()
Get this column location cast to theTableLocation.Format.DEEPHAVEN
format sub-interface.default ParquetFormatColumnLocation<Attributes.Values,TLT>
asParquetFormat()
Get this column location cast to theTableLocation.Format.PARQUET
format sub-interface.boolean
exists()
Check for existence of this ColumnLocation.default TableLocation.Format
getFormat()
Get the format that was used to persist this column location.<METADATA_TYPE>
METADATA_TYPEgetMetadata(com.illumon.dataobjects.ColumnDefinition<?> columnDefinition)
Get the metadata object stored with this column, or null if no such data exists.String
getName()
Get the column name for this ColumnLocation.default String
getStringRepresentation()
TLT
getTableLocation()
Get theTableLocation
enclosing this ColumnLocation.ColumnRegionByte<Attributes.Values>
makeColumnRegionByte(com.illumon.dataobjects.ColumnDefinition<?> columnDefinition)
Create aColumnRegionByte
for the specified column definition.ColumnRegionChar<Attributes.Values>
makeColumnRegionChar(com.illumon.dataobjects.ColumnDefinition<?> columnDefinition)
Create aColumnRegionChar
for the specified column definition.ColumnRegionDouble<Attributes.Values>
makeColumnRegionDouble(com.illumon.dataobjects.ColumnDefinition<?> columnDefinition)
Create aColumnRegionDouble
for the specified column definition.ColumnRegionFloat<Attributes.Values>
makeColumnRegionFloat(com.illumon.dataobjects.ColumnDefinition<?> columnDefinition)
Create aColumnRegionFloat
for the specified column definition.ColumnRegionInt<Attributes.Values>
makeColumnRegionInt(com.illumon.dataobjects.ColumnDefinition<?> columnDefinition)
Create aColumnRegionInt
for the specified column definition.ColumnRegionLong<Attributes.Values>
makeColumnRegionLong(com.illumon.dataobjects.ColumnDefinition<?> columnDefinition)
Create aColumnRegionLong
for the specified column definition.<TYPE> ColumnRegionObject<TYPE,Attributes.Values>
makeColumnRegionObject(com.illumon.dataobjects.ColumnDefinition<TYPE> columnDefinition, ObjectDecoder<?> decoder, ColumnRegionObjectCached.CacheFactory<TYPE,?> cacheFactory)
Create aColumnRegionObject
for the specified column definition.ColumnRegionShort<Attributes.Values>
makeColumnRegionShort(com.illumon.dataobjects.ColumnDefinition<?> columnDefinition)
Create aColumnRegionShort
for the specified column definition.default String
toStringHelper()
-
Method Details
-
getTableLocation
Get theTableLocation
enclosing this ColumnLocation.- Returns:
- the
TableLocation
enclosing this ColumnLocation
-
getName
Get the column name for this ColumnLocation.- Returns:
- the column name for this ColumnLocation
-
exists
boolean exists()Check for existence of this ColumnLocation.- Returns:
- True iff the ColumnLocation actually exists
-
getMetadata
@Nullable <METADATA_TYPE> METADATA_TYPE getMetadata(com.illumon.dataobjects.ColumnDefinition<?> columnDefinition)Get the metadata object stored with this column, or null if no such data exists.
This is typically a value to range map (grouping metadata). The value to range map, if non-null, is a map from unique (boxed) column values for this location to the associated ranges in which they occur. Ranges are either 2-element int[]s, or 2-element long[]s.
- Returns:
- The metadata stored with this column, or null if no such data exists
-
getFormat
Get the format that was used to persist this column location.- Returns:
- The format for this column location
-
asDeephavenFormat
Get this column location cast to theTableLocation.Format.DEEPHAVEN
format sub-interface.- Returns:
this
, with the appropriate cast applied
-
asParquetFormat
Get this column location cast to theTableLocation.Format.PARQUET
format sub-interface.- Returns:
this
, with the appropriate cast applied
-
makeColumnRegionChar
ColumnRegionChar<Attributes.Values> makeColumnRegionChar(@NotNull com.illumon.dataobjects.ColumnDefinition<?> columnDefinition)Create aColumnRegionChar
for the specified column definition.- Parameters:
columnDefinition
- TheColumnDefinition
used to lookup type information- Returns:
- A
ColumnRegionChar
for reading data from this ColumnLocation - Throws:
UnsupportedOperationException
- If this ColumnLocation does not contain char data
-
makeColumnRegionByte
ColumnRegionByte<Attributes.Values> makeColumnRegionByte(@NotNull com.illumon.dataobjects.ColumnDefinition<?> columnDefinition)Create aColumnRegionByte
for the specified column definition.- Parameters:
columnDefinition
- TheColumnDefinition
used to lookup type information- Returns:
- A
ColumnRegionByte
for reading data from this ColumnLocation - Throws:
UnsupportedOperationException
- If this ColumnLocation does not contain byte data
-
makeColumnRegionShort
ColumnRegionShort<Attributes.Values> makeColumnRegionShort(@NotNull com.illumon.dataobjects.ColumnDefinition<?> columnDefinition)Create aColumnRegionShort
for the specified column definition.- Parameters:
columnDefinition
- TheColumnDefinition
used to lookup type information- Returns:
- A
ColumnRegionShort
for reading data from this ColumnLocation - Throws:
UnsupportedOperationException
- If this ColumnLocation does not contain short data
-
makeColumnRegionInt
ColumnRegionInt<Attributes.Values> makeColumnRegionInt(@NotNull com.illumon.dataobjects.ColumnDefinition<?> columnDefinition)Create aColumnRegionInt
for the specified column definition.- Parameters:
columnDefinition
- TheColumnDefinition
used to lookup type information- Returns:
- A
ColumnRegionInt
for reading data from this ColumnLocation - Throws:
UnsupportedOperationException
- If this ColumnLocation does not contain int data
-
makeColumnRegionLong
ColumnRegionLong<Attributes.Values> makeColumnRegionLong(@NotNull com.illumon.dataobjects.ColumnDefinition<?> columnDefinition)Create aColumnRegionLong
for the specified column definition.- Parameters:
columnDefinition
- TheColumnDefinition
used to lookup type information- Returns:
- A
ColumnRegionLong
for reading data from this ColumnLocation - Throws:
UnsupportedOperationException
- If this ColumnLocation does not contain long data
-
makeColumnRegionFloat
ColumnRegionFloat<Attributes.Values> makeColumnRegionFloat(@NotNull com.illumon.dataobjects.ColumnDefinition<?> columnDefinition)Create aColumnRegionFloat
for the specified column definition.- Parameters:
columnDefinition
- TheColumnDefinition
used to lookup type information- Returns:
- A
ColumnRegionFloat
for reading data from this ColumnLocation - Throws:
UnsupportedOperationException
- If this ColumnLocation does not contain float data
-
makeColumnRegionDouble
ColumnRegionDouble<Attributes.Values> makeColumnRegionDouble(@NotNull com.illumon.dataobjects.ColumnDefinition<?> columnDefinition)Create aColumnRegionDouble
for the specified column definition.- Parameters:
columnDefinition
- TheColumnDefinition
used to lookup type information- Returns:
- A
ColumnRegionDouble
for reading data from this ColumnLocation - Throws:
UnsupportedOperationException
- If this ColumnLocation does not contain double data
-
makeColumnRegionObject
<TYPE> ColumnRegionObject<TYPE,Attributes.Values> makeColumnRegionObject(@NotNull com.illumon.dataobjects.ColumnDefinition<TYPE> columnDefinition, @NotNull ObjectDecoder<?> decoder, @Nullable ColumnRegionObjectCached.CacheFactory<TYPE,?> cacheFactory)Create aColumnRegionObject
for the specified column definition.- Parameters:
columnDefinition
- TheColumnDefinition
used to lookup type informationdecoder
- anObjectDecoder
for producing values from the stored bytes at this location.- Returns:
- A
ColumnRegionObject
for reading data from this ColumnLocation - Throws:
UnsupportedOperationException
- If this ColumnLocation does not contain object data
-
getStringRepresentation
- Specified by:
getStringRepresentation
in interfaceStringUtils.StringKeyedObject
-
append
default com.fishlib.base.log.LogOutput append(@NotNull com.fishlib.base.log.LogOutput logOutput)- Specified by:
append
in interfacecom.fishlib.base.log.LogOutputAppendable
-
toStringHelper
-