Class URITableLocationKey
java.lang.Object
io.deephaven.engine.table.impl.locations.impl.PartitionedTableLocationKey
io.deephaven.engine.table.impl.locations.local.URITableLocationKey
- All Implemented Interfaces:
LogOutputAppendable
,ImmutableTableLocationKey
,TableLocationKey
,NamedImplementation
,Comparable<TableLocationKey>
- Direct Known Subclasses:
ParquetTableLocationKey
Base
ImmutableTableLocationKey
implementation for table locations that may be enclosed by partitions and
described by a URI
. Sub-classes should override compareTo(TableLocationKey)
and
equals(Object)
only if they need to prevent equality with other URITableLocationKey
implementations.-
Nested Class Summary
Nested classes/interfaces inherited from class io.deephaven.engine.table.impl.locations.impl.PartitionedTableLocationKey
PartitionedTableLocationKey.PartitionsComparator, PartitionedTableLocationKey.PartitionsFormatter
-
Field Summary
Fields inherited from class io.deephaven.engine.table.impl.locations.impl.PartitionedTableLocationKey
partitions
-
Constructor Summary
ConstructorDescriptionURITableLocationKey
(@NotNull URI uri, int order, @Nullable Map<String, Comparable<?>> partitions) Construct a new URITableLocationKey for the supplieduri
andpartitions
. -
Method Summary
Modifier and TypeMethodDescriptionint
compareTo
(@NotNull TableLocationKey other) When comparing with anotherURITableLocationKey
, precedence-wise this implementation comparesorder
, then applies aPartitionedTableLocationKey.PartitionsComparator
topartitions
, then comparesuri
.boolean
Get a name for the implementing class.final URI
getURI()
int
hashCode()
toString()
Methods inherited from class io.deephaven.engine.table.impl.locations.impl.PartitionedTableLocationKey
getPartitionKeys, getPartitionValue
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface io.deephaven.engine.table.impl.locations.ImmutableTableLocationKey
makeImmutable
Methods inherited from interface io.deephaven.engine.table.impl.locations.TableLocationKey
clear
-
Field Details
-
uri
-
order
protected final int order
-
-
Constructor Details
-
URITableLocationKey
public URITableLocationKey(@NotNull @NotNull URI uri, int order, @Nullable @Nullable Map<String, Comparable<?>> partitions) Construct a new URITableLocationKey for the supplieduri
andpartitions
.- Parameters:
uri
- The uri (or directory) that backs the keyed location. Will be adjusted to an absolute path.order
- Explicit ordering value for this location key.Comparable.compareTo(Object)
will sort URITableLocationKeys with a lowerorder
before other keys. Comparing this ordering value takes precedence over other fields.partitions
- The table partitions enclosing the table location keyed bythis
. Note that if this parameter isnull
, the location will be a member of no partitions. An ordered copy of the map will be made, so the calling code is free to mutate the map after this call completes, but the partition keys and values themselves must be effectively immutable.
-
-
Method Details
-
getURI
-
append
-
toString
-
compareTo
When comparing with anotherURITableLocationKey
, precedence-wise this implementation comparesorder
, then applies aPartitionedTableLocationKey.PartitionsComparator
topartitions
, then comparesuri
. Otherwise, it delegates to parent class.By default, compare fully qualified class names of the implementing classes. This method is a fallback where the implementing classes are not directly comparable, and should help establish a consistent ordering between distinct implementations.
- Specified by:
compareTo
in interfaceComparable<TableLocationKey>
- Specified by:
compareTo
in interfaceTableLocationKey
- Overrides:
compareTo
in classPartitionedTableLocationKey
-
hashCode
public int hashCode()- Overrides:
hashCode
in classPartitionedTableLocationKey
-
equals
- Overrides:
equals
in classPartitionedTableLocationKey
-
getImplementationName
Description copied from interface:NamedImplementation
Get a name for the implementing class. Useful for abstract classes that implement
LogOutputAppendable
or overridetoString
.The default implementation is correct, but not suitable for high-frequency usage.
- Returns:
- A name for the implementing class
-