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>

public class FileTableLocationKey extends PartitionedTableLocationKey
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.
  • Field Details

    • file

      protected final File file
  • Constructor Details

    • FileTableLocationKey

      public FileTableLocationKey(@NotNull @NotNull File file, int order, @Nullable @Nullable Map<String,Comparable<?>> partitions)
      Construct a new FileTableLocationKey for the supplied file and partitions.
      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 lower order before other keys. Comparing this ordering value takes precedence over other fields.
      partitions - The table partitions enclosing the table location keyed by this. Note that if this parameter is null, 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

      public final File getFile()
    • append

      public LogOutput append(@NotNull @NotNull LogOutput logOutput)
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • compareTo

      public int compareTo(@NotNull @NotNull TableLocationKey other)
      Precedence-wise this implementation compares order, then applies a PartitionedTableLocationKey.PartitionsComparator to partitions, then compares file.
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public boolean equals(@Nullable @Nullable Object other)
      Overrides:
      equals in class Object
    • getImplementationName

      public String getImplementationName()
      Description copied from interface: NamedImplementation

      Get a name for the implementing class. Useful for abstract classes that implement LogOutputAppendable or override toString.

      The default implementation is correct, but not suitable for high-frequency usage.

      Returns:
      A name for the implementing class