001 package data.stdforms.singletableformsheet; 002 003 import sale.*; 004 import sale.stdforms.*; 005 006 import data.stdforms.SingleTableFormSheet; 007 008 /** 009 * <i>Abstract</i> super class for strategies that can be associated with the 010 * {@link SingleTableFormSheet#addAddButton "Add"} and the 011 * {@link SingleTableFormSheet#addRemoveButton "Remove"} button of a {@link SingleTableFormSheet}. 012 * 013 * <p>The strategy defines a sub-process that can be integrated into the process that displayed the FormSheet 014 * to perform the editing.</p> 015 * 016 * @author Steffen Zschaler 017 * @version 2.0 20/08/1999 018 * @since v2.0 019 */ 020 public abstract class EditButtonStrategy extends FormSheetStrategy { 021 022 /** 023 * Get the first transition of the process that will perform the editing. The process can have any number of 024 * {@link Gate Gates} and {@link Transition Transitions} and display any number of {@link FormSheet Form-} 025 * and {@link MenuSheet MenuSheets}. Normally, the sub-process should end at the gate at which the 026 * SingleTableFormSheet is being displayed, which can be obtained by 027 * {@link SingleTableFormSheet#getGate SingleTableFormSheet.getGate()}. 028 * 029 * @param stfs the SingleTableFormSheet that triggers the sub-process. 030 * @param p the process into which the sub-process will be implanted. 031 * @param sp the SalesPoint at which the FormSheet is displayed, if any. 032 * 033 * @override Always. 034 */ 035 public abstract Transition getEditProcess(SingleTableFormSheet stfs, SaleProcess p, SalesPoint sp); 036 }