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

io.deephaven.engine.table.impl.select.analyzers.SelectOrViewColumnLayer 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.select.analyzers;

import io.deephaven.engine.table.ModifiedColumnSet;
import io.deephaven.engine.table.impl.select.SelectColumn;
import io.deephaven.engine.table.ColumnSource;

import java.util.Map;

public abstract class SelectOrViewColumnLayer extends DependencyLayerBase {
    private final ColumnSource optionalUnderlying;

    SelectOrViewColumnLayer(SelectAndViewAnalyzer inner, String name, SelectColumn sc,
            ColumnSource ws, ColumnSource optionalUnderlying,
            String[] deps, ModifiedColumnSet mcsBuilder) {
        super(inner, name, sc, ws, deps, mcsBuilder);
        this.optionalUnderlying = optionalUnderlying;
    }

    @Override
    final Map> getColumnSourcesRecurse(GetMode mode) {
        final Map> result = inner.getColumnSourcesRecurse(mode);
        result.put(name, columnSource);
        return result;
    }

    @Override
    public void startTrackingPrev() {
        columnSource.startTrackingPrevValues();
        if (optionalUnderlying != null) {
            optionalUnderlying.startTrackingPrevValues();
        }
        inner.startTrackingPrev();
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy