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

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

    • uri

      protected final URI uri
  • Constructor Details

    • URITableLocationKey

      public URITableLocationKey(@NotNull @NotNull URI uri, int order, @Nullable @Nullable Map<String,Comparable<?>> partitions)
      Construct a new URITableLocationKey for the supplied uri and partitions.
      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 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

    • getURI

      public final URI getURI()
    • 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 uri.
    • 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