io.deephaven.engine.table.impl.locations.TableDataService Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of deephaven-engine-table Show documentation
Show all versions of deephaven-engine-table Show documentation
Engine Table: Implementation and closely-coupled utilities
/**
* Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending
*/
package io.deephaven.engine.table.impl.locations;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
/**
* Service responsible for {@link TableLocation} discovery.
*/
public interface TableDataService {
/**
* Request a {@link TableLocationProvider} from this service.
*
* @param tableKey The {@link TableKey} to lookup
* @return A {@link TableLocationProvider} for the specified {@link TableKey}
*/
@NotNull
TableLocationProvider getTableLocationProvider(@NotNull TableKey tableKey);
/**
* Forget all state for subsequent requests for all tables.
*/
void reset();
/**
* Forget all state for subsequent requests for a single table.
*
* @param tableKey {@link TableKey} to forget state for
*/
void reset(@NotNull TableKey tableKey);
/**
* Get an optional name for this service, or null if no name is defined.
*
* @return The service name, or null
*/
@Nullable
default String getName() {
return null;
}
/**
* Get a detailed description string.
*
* @return A description string
* @implNote Defaults to {@link Object#toString()}
*/
default String describe() {
return toString();
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy