Class FileTableLocationKey
java.lang.Object
io.deephaven.engine.table.impl.locations.impl.PartitionedTableLocationKey
io.deephaven.engine.table.impl.locations.local.FileTableLocationKey
- All Implemented Interfaces:
LogOutputAppendable,ImmutableTableLocationKey,TableLocationKey,NamedImplementation,Comparable<TableLocationKey>
Base
ImmutableTableLocationKey implementation for table locations that may be enclosed by partitions and
described by a File. Sub-classes should override compareTo(TableLocationKey) and
equals(Object) only if they need to prevent equality with other FileTableLocationKey
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
ConstructorsConstructorDescriptionFileTableLocationKey(@NotNull File file, int order, @Nullable Map<String, Comparable<?>> partitions) Construct a new FileTableLocationKey for the suppliedfileandpartitions. -
Method Summary
Modifier and TypeMethodDescriptionintcompareTo(@NotNull TableLocationKey other) When comparing with anotherFileTableLocationKey, precedence-wise this implementation comparesorder, then applies aPartitionedTableLocationKey.PartitionsComparatortopartitions, then comparesfile.booleanfinal FilegetFile()Get a name for the implementing class.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
-
file
-
-
Constructor Details
-
FileTableLocationKey
public FileTableLocationKey(@NotNull @NotNull File file, int order, @Nullable @Nullable Map<String, Comparable<?>> partitions) Construct a new FileTableLocationKey for the suppliedfileandpartitions.- Parameters:
file- The file (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 FileTableLocationKeys 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
-
getFile
-
append
-
toString
-
compareTo
When comparing with anotherFileTableLocationKey, precedence-wise this implementation comparesorder, then applies aPartitionedTableLocationKey.PartitionsComparatortopartitions, then comparesfile. 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
-