/******************************************************************************* * Copyright (c) 2012 OpenLegacy Inc. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * OpenLegacy Inc. - initial API and implementation *******************************************************************************/ package org.openlegacy.terminal.definitions; import org.openlegacy.annotations.screen.ScreenColumn; import org.openlegacy.annotations.screen.ScreenTable; import org.openlegacy.annotations.screen.ScreenTableDrilldown; import org.openlegacy.definitions.TableDefinition; import org.openlegacy.modules.table.TableCollector; import org.openlegacy.modules.table.drilldown.RowComparator; import org.openlegacy.modules.table.drilldown.RowFinder; import org.openlegacy.modules.table.drilldown.RowSelector; import org.openlegacy.modules.table.drilldown.TableDrilldownPerformer; import org.openlegacy.modules.table.drilldown.TableScrollStopConditions; import org.openlegacy.modules.table.drilldown.TableScroller; import org.openlegacy.terminal.actions.TerminalAction; import org.openlegacy.terminal.definitions.ScreenTableDefinition.ScreenColumnDefinition; import org.openlegacy.terminal.services.ScreenEntitiesRegistry; /** * Defines all the information required to manage terminal session tables including drill-down definitions Typically loaded from * * {@link ScreenTable}, {@link ScreenTableDrilldown} & {@link ScreenColumn} annotations and stored within * {@link ScreenEntitiesRegistry} * * @author Roi Mor */ @SuppressWarnings("rawtypes") public interface ScreenTableDefinition extends TableDefinition<ScreenColumnDefinition> { int getStartRow(); int getEndRow(); int getRowGaps(); TerminalAction getNextScreenAction(); TerminalAction getPreviousScreenAction(); DrilldownDefinition getDrilldownDefinition(); Class<? extends TableCollector> getTableCollector(); void setTableCollector(Class<? extends TableCollector> tableCollector); String getRowSelectionField(); public interface ScreenColumnDefinition extends TableDefinition.ColumnDefinition { boolean isSelectionField(); int getStartColumn(); int getEndColumn(); int getLength(); } public interface DrilldownDefinition { Class<? extends RowFinder> getRowFinder(); Class<? extends RowSelector> getRowSelector(); Class<? extends RowComparator> getRowComparator(); Class<? extends TableScroller> getTableScroller(); Class<? extends TableScrollStopConditions> getTableScrollStopCondition(); Class<? extends TableDrilldownPerformer> getDrilldownPerformer(); void setRowFinder(Class<? extends RowFinder> rowFinder); void setRowComparator(Class<? extends RowComparator> rowComparator); void setRowSelector(Class<? extends RowSelector> rowSelector); void setTableScroller(Class<? extends TableScroller> tableScroller); void setTableScrollStopConditions(Class<? extends TableScrollStopConditions> tableScrollStopConditions); void setDrilldownPerformer(Class<? extends TableDrilldownPerformer> drilldownPerformer); } }