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
FieldsFields inherited from class io.deephaven.engine.table.impl.locations.impl.PartitionedTableLocationKey
cachedHashCode, partitions -
Constructor Summary
ConstructorsConstructorDescriptionURITableLocationKey(@NotNull URI uri, int order, @Nullable Map<String, Comparable<?>> partitions) Construct a new URITableLocationKey for the supplieduriandpartitions. -
Method Summary
Modifier and TypeMethodDescriptionintcompareTo(@NotNull TableLocationKey other) When comparing with anotherURITableLocationKey, precedence-wise this implementation comparesorder, then applies aPartitionedTableLocationKey.PartitionsComparatortopartitions, then comparesuri.booleanGet a name for the implementing class.final URIgetURI()inthashCode()toString()Methods inherited from class io.deephaven.engine.table.impl.locations.impl.PartitionedTableLocationKey
getPartitionKeys, getPartitionValueMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface io.deephaven.engine.table.impl.locations.ImmutableTableLocationKey
makeImmutableMethods 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 supplieduriandpartitions.- 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 lowerorderbefore 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.PartitionsComparatortopartitions, 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:
compareToin interfaceComparable<TableLocationKey>- Specified by:
compareToin interfaceTableLocationKey- Overrides:
compareToin classPartitionedTableLocationKey
-
hashCode
public int hashCode()- Overrides:
hashCodein classPartitionedTableLocationKey
-
equals
- Overrides:
equalsin classPartitionedTableLocationKey
-
getImplementationName
Description copied from interface:NamedImplementationGet a name for the implementing class. Useful for abstract classes that implement
LogOutputAppendableor overridetoString.The default implementation is correct, but not suitable for high-frequency usage.
- Returns:
- A name for the implementing class
-