001: /*--
002:
003: Copyright (C) 2002 Anthony Eden.
004: All rights reserved.
005:
006: Redistribution and use in source and binary forms, with or without
007: modification, are permitted provided that the following conditions
008: are met:
009:
010: 1. Redistributions of source code must retain the above copyright
011: notice, this list of conditions, and the following disclaimer.
012:
013: 2. Redistributions in binary form must reproduce the above copyright
014: notice, this list of conditions, and the disclaimer that follows
015: these conditions in the documentation and/or other materials
016: provided with the distribution.
017:
018: 3. The names "OBE" and "Open Business Engine" must not be used to
019: endorse or promote products derived from this software without prior
020: written permission. For written permission, please contact
021: me@anthonyeden.com.
022:
023: 4. Products derived from this software may not be called "OBE" or
024: "Open Business Engine", nor may "OBE" or "Open Business Engine"
025: appear in their name, without prior written permission from
026: Anthony Eden (me@anthonyeden.com).
027:
028: In addition, I request (but do not require) that you include in the
029: end-user documentation provided with the redistribution and/or in the
030: software itself an acknowledgement equivalent to the following:
031: "This product includes software developed by
032: Anthony Eden (http://www.anthonyeden.com/)."
033:
034: THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
035: WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
036: OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
037: DISCLAIMED. IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT,
038: INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
039: (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
040: SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
041: HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
042: STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
043: IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
044: POSSIBILITY OF SUCH DAMAGE.
045:
046: For more information on OBE, please see <http://obe.sourceforge.net/>.
047:
048: */
049:
050: package org.obe.designer.editor;
051:
052: import java.awt.*;
053: import org.obe.xpdl.model.activity.Implementation;
054: import org.obe.xpdl.model.pkg.XPDLPackage;
055:
056: /**
057: * Standard interface which is implemented by any implementation editor.
058: *
059: * @author Anthony Eden
060: */
061: public interface ImplementationEditor {
062:
063: /**
064: * Get the editor title.
065: *
066: * @return The editor title
067: */
068: String getTitle();
069:
070: /**
071: * Get the UI component.
072: *
073: * @return The editor component
074: */
075: Component getComponent();
076:
077: /**
078: * Get the Implementation which is being edited.
079: *
080: * @return The implementation
081: */
082: Implementation getImplementation();
083:
084: /**
085: * Set the Implementation which is being edited.
086: *
087: * @param implementation The Implementation
088: */
089: void setImplementation(Implementation implementation);
090:
091: /**
092: * Set the current workflow package.
093: *
094: * @param workflowPackage The workflow package
095: */
096: void setWorkflowPackage(XPDLPackage workflowPackage);
097:
098: /**
099: * Save the current changes.
100: *
101: * @return True if the save was successful
102: */
103: boolean save();
104:
105: /**
106: * Revert to the last version of the implementation.
107: */
108: void revert();
109: }
|