Class DeferredLocationsTableKey
java.lang.Object
io.deephaven.enterprise.locations.locationstable.DeferredLocationsTableKey
- All Implemented Interfaces:
LogOutputAppendable,ImmutableTableLocationKey,TableLocationKey,EnterpriseTableLocationKey,SnapshotProvidingLocationKey,URIProvidingLocationKey,URISnapshotProvidingLocationKey,NamedImplementation,Comparable<TableLocationKey>
public final class DeferredLocationsTableKey
extends Object
implements URISnapshotProvidingLocationKey
This
EnterpriseTableLocationKey implementation accesses requested elements
on-demand via TableLocationsKeyGetter. This allows for a relatively small object-size at the expense of
(potentially) slower times to access elements. We think this is a good trade-off because in many cases, we will never
need to access many of the members - like in the case that we have filtered on a partition-value, we will never need
to access anything other than the partition-value-
Constructor Summary
ConstructorsConstructorDescriptionDeferredLocationsTableKey(long locationKey, @NotNull TableLocationsKeyGetter getter) -
Method Summary
Modifier and TypeMethodDescriptionintcompareTo(@NotNull TableLocationKey other) boolean@NotNull Map<String,Comparable<?>> Get the Column and Internal partitions as a map.<PARTITION_VALUE_TYPE extends Comparable<PARTITION_VALUE_TYPE>>
PARTITION_VALUE_TYPEgetPartitionValue(@NotNull String partitionKey) io.deephaven.shadow.enterprise.com.illumon.iris.db.v2.locations.local.TableLocationMetadataIndex.LocationSnapshotGets theTableLocationMetadataIndex.LocationSnapshot, which has been promised based on the overridden value ofSnapshotProvidingLocationKey.hasLocationSnapshot()@NotNull URIgetURI()Gets the URI which backs this keyed locationinthashCode()Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface io.deephaven.engine.table.impl.locations.ImmutableTableLocationKey
makeImmutableMethods inherited from interface io.deephaven.enterprise.locations.SnapshotProvidingLocationKey
hasLocationSnapshotMethods inherited from interface io.deephaven.engine.table.impl.locations.TableLocationKey
clear
-
Constructor Details
-
DeferredLocationsTableKey
public DeferredLocationsTableKey(long locationKey, @NotNull @NotNull TableLocationsKeyGetter getter)
-
-
Method Details
-
getPartitions
Description copied from interface:EnterpriseTableLocationKeyGet the Column and Internal partitions as a map.- Specified by:
getPartitionsin interfaceEnterpriseTableLocationKey- Returns:
- a map of the partitions
-
getPartitionValue
public <PARTITION_VALUE_TYPE extends Comparable<PARTITION_VALUE_TYPE>> PARTITION_VALUE_TYPE getPartitionValue(@NotNull @NotNull String partitionKey) - Specified by:
getPartitionValuein interfaceTableLocationKey
-
getPartitionKeys
- Specified by:
getPartitionKeysin interfaceTableLocationKey
-
append
- Specified by:
appendin interfaceLogOutputAppendable
-
getImplementationName
- Specified by:
getImplementationNamein interfaceNamedImplementation
-
getSnapshot
@NotNull public io.deephaven.shadow.enterprise.com.illumon.iris.db.v2.locations.local.TableLocationMetadataIndex.LocationSnapshot getSnapshot()Description copied from interface:SnapshotProvidingLocationKeyGets theTableLocationMetadataIndex.LocationSnapshot, which has been promised based on the overridden value ofSnapshotProvidingLocationKey.hasLocationSnapshot()- Specified by:
getSnapshotin interfaceSnapshotProvidingLocationKey- Returns:
- a
TableLocationMetadataIndex.LocationSnapshotinstance which backs this location
-
getURI
Description copied from interface:URIProvidingLocationKeyGets the URI which backs this keyed location- Specified by:
getURIin interfaceURIProvidingLocationKey- Returns:
- The URI that backs the keyed location
-
hashCode
public int hashCode() -
equals
-
compareTo
- Specified by:
compareToin interfaceComparable<TableLocationKey>- Specified by:
compareToin interfaceTableLocationKey
-