package com.revolsys.swing.map.layer.record.table.model; import java.util.function.Consumer; import javax.swing.Icon; import javax.swing.ListSelectionModel; import com.revolsys.record.query.Query; import com.revolsys.swing.action.enablecheck.EnableCheck; import com.revolsys.swing.map.layer.record.LayerRecord; public interface TableRecordsMode { default void activate() { } default void deactivate() { } void exportRecords(final Query query, final Object target); void forEachRecord(Query query, final Consumer<? super LayerRecord> action); default EnableCheck getEnableCheck() { return EnableCheck.ENABLED; } Icon getIcon(); String getKey(); LayerRecord getRecord(int index); int getRecordCount(); ListSelectionModel getSelectionModel(); String getTitle(); default boolean isEnabled() { return getEnableCheck().isEnabled(); } default boolean isFilterByBoundingBoxSupported() { return false; } default boolean isSortable() { return true; } void refresh(); }