All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.deephaven.engine.table.impl.sources.DeferredGroupingColumnSource Maven / Gradle / Ivy

There is a newer version: 0.37.1
Show newest version
/**
 * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending
 */
package io.deephaven.engine.table.impl.sources;

import io.deephaven.engine.table.ColumnSource;
import io.deephaven.engine.table.impl.locations.GroupingProvider;
import io.deephaven.engine.rowset.RowSet;
import org.jetbrains.annotations.Nullable;

import java.util.Map;

/**
 * A column source that optionally makes available a provider for grouping metadata.
 */
public interface DeferredGroupingColumnSource extends ColumnSource {

    /**
     * Set the map returned by getGroupToRange().
     * 
     * @param groupToRange The map
     */
    void setGroupToRange(@Nullable Map groupToRange);

    /**
     * @return A provider previously set by
     *         {@link DeferredGroupingColumnSource#setGroupingProvider(io.deephaven.engine.table.impl.locations.GroupingProvider)}
     */
    GroupingProvider getGroupingProvider();

    /**
     * Supply a provider that will lazily construct the group-to-range map.
     * 
     * @param groupingProvider The provider
     */
    void setGroupingProvider(@Nullable GroupingProvider groupingProvider);
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy