/******************************************************************************* * 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.annotations.screen; import org.openlegacy.modules.table.Table; 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 java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; /** * Specifies custom table drill down implementation for {@link ScreenTable} entity<br/> * Allows customized drill down logic into tables by specifying various drill-down logic implementations * * @author Roi Mor * @see Table */ @Documented @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.TYPE) @SuppressWarnings("rawtypes") public @interface ScreenTableDrilldown { /** * Defines a drill-down performer. Performer is the most high-level drill-down component and allows customization of the * entire drill-down logic. It is recommended to avoid implementing it, and use the other components. * * @return */ Class<? extends TableDrilldownPerformer> drilldownPerfomer() default TableDrilldownPerformer.class; /** * Defines how to find a row in a given screen * * @return {@link RowFinder} implementation */ Class<? extends RowFinder> rowFinder() default RowFinder.class; /** * Defines how to compare row to a row key * * @return {@link RowComparator} implementation */ Class<? extends RowComparator> rowComparator() default RowComparator.class; /** * Defines how to scroll within a table * * @return {@link TableScroller} implementation */ Class<? extends TableScroller> tableScroller() default TableScroller.class; /** * Defines how to select a given row within a table * * @return {@link RowSelector} implementation */ Class<? extends RowSelector> rowSelector() default RowSelector.class; /** * Defines wehn to stop a table scrolling * * @return {@link TableScrollStopConditions} implementation */ Class<? extends TableScrollStopConditions> stopConditions() default TableScrollStopConditions.class; }