blob: 969aa9a33bce7c70133743ea596b7f3f979f5871 [file] [log] [blame]
/**********************************************************************
* Copyright (c) 2017, 2018 Ericsson
*
* All rights reserved. This program and the accompanying materials are
* made available under the terms of the Eclipse Public License 2.0 which
* accompanies this distribution, and is available at
* https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
**********************************************************************/
package org.eclipse.tracecompass.internal.provisional.tmf.core.model.table;
import java.util.List;
/**
* Virtual table model's interface
*
* @author Yonni Chen
* @param <L> A {@link IVirtualTableLine} implementation
* @since 4.0
*/
public interface ITmfVirtualTableModel<L extends IVirtualTableLine> {
/**
* Gets columns IDs
*
* @return The list of column IDs in order that they are sorted
*/
List<Long> getColumnIds();
/**
* Gets the data associated with the model. The list represent the lines for
* this table model. The data in a {@link IVirtualTableLine} are in the same
* order as the column IDs order
*
* @return The list of lines
*/
List<L> getLines();
/**
* Gets the index of the first table entry in the model
*
* @return The top index
*/
long getIndex();
/**
* Gets the number of table entries that matches a filter. If there was no
* filter applied, it will return simply the the total number of table entries.
*
* @return The total number of table entries that matches a filter
*/
long getSize();
}