package data.stdforms.singletableformsheet; import sale.*; import sale.stdforms.*; import data.stdforms.SingleTableFormSheet; /** * <i>Abstract</i> super class for strategies that can be associated with the * {@link SingleTableFormSheet#addAddButton "Add"} and the * {@link SingleTableFormSheet#addRemoveButton "Remove"} button of a {@link SingleTableFormSheet}. * * <p>The strategy defines a sub-process that can be integrated into the process that displayed the FormSheet * to perform the editing.</p> * * @author Steffen Zschaler * @version 2.0 20/08/1999 * @since v2.0 */ public abstract class EditButtonStrategy extends FormSheetStrategy { /** * Get the first transition of the process that will perform the editing. The process can have any number of * {@link Gate Gates} and {@link Transition Transitions} and display any number of {@link FormSheet Form-} * and {@link MenuSheet MenuSheets}. Normally, the sub-process should end at the gate at which the * SingleTableFormSheet is being displayed, which can be obtained by * {@link SingleTableFormSheet#getGate SingleTableFormSheet.getGate()}. * * @param stfs the SingleTableFormSheet that triggers the sub-process. * @param p the process into which the sub-process will be implanted. * @param sp the SalesPoint at which the FormSheet is displayed, if any. * * @override Always. */ public abstract Transition getEditProcess (SingleTableFormSheet stfs, SaleProcess p, SalesPoint sp); }