001: package org.enhydra.shark.api.internal.eventaudit;
002:
003: import java.util.List;
004:
005: import org.enhydra.shark.api.client.wfmc.wapi.WMSessionHandle;
006: import org.enhydra.shark.api.internal.working.CallbackUtilities;
007:
008: /**
009: * Interface that has to be implemented for each persistent layer that is supposed to be
010: * used.
011: *
012: * @version 1.0
013: */
014:
015: public interface EventAuditManagerInterface {
016:
017: /**
018: * Method configure is called at Shark start up, to configure implementation of
019: * EventAuditManagerInterface.
020: *
021: * @param cus an instance of CallbackUtilities used to get properties for configuring
022: * Event Audit Manager in Shark.
023: * @exception Exception Thrown if configuring doesn't succeed.
024: */
025: void configure(CallbackUtilities cus) throws Exception;
026:
027: /**
028: * Method persist stores the assignment event into repository (usually database).
029: *
030: * @param assea AssignmentEventAuditPersistenceInterface
031: * @exception EventAuditException on error.
032: */
033:
034: public void persist(WMSessionHandle shandle,
035: AssignmentEventAuditPersistenceObject assea)
036: throws EventAuditException;
037:
038: /**
039: * Method persist stores the create process event into repository (usually database).
040: *
041: * @param cpea CreateProcessEventAuditPersistenceInterface
042: * @exception EventAuditException on error.
043: */
044:
045: public void persist(WMSessionHandle shandle,
046: CreateProcessEventAuditPersistenceObject cpea)
047: throws EventAuditException;
048:
049: /**
050: * Method persist stores the data event into repository (usually database).
051: *
052: * @param dea DataEventAuditPersistenceInterface
053: * @exception EventAuditException on error.
054: */
055:
056: public void persist(WMSessionHandle shandle,
057: DataEventAuditPersistenceObject dea)
058: throws EventAuditException;
059:
060: /**
061: * Method persist stores the state event into repository (usually database).
062: *
063: * @param sea StateEventAuditPersistenceInterface
064: * @exception EventAuditException on error.
065: */
066:
067: public void persist(WMSessionHandle shandle,
068: StateEventAuditPersistenceObject sea)
069: throws EventAuditException;
070:
071: /**
072: * Method restore retrieves assignment event from the repository.
073: *
074: * @param assea AssignmentEventAuditPersistenceInterface
075: * @return true on success, false otherwise
076: * @exception EventAuditException on error.
077: */
078:
079: public boolean restore(WMSessionHandle shandle,
080: AssignmentEventAuditPersistenceObject assea)
081: throws EventAuditException;
082:
083: /**
084: * Method restore retrieves create process event from the repository.
085: *
086: * @param cpea CreateProcessEventAuditPersistenceInterface
087: * @return true on success, false otherwise
088: * @exception EventAuditException on error.
089: */
090:
091: public boolean restore(WMSessionHandle shandle,
092: CreateProcessEventAuditPersistenceObject cpea)
093: throws EventAuditException;
094:
095: /**
096: * Method restore retrieves data event from the repository.
097: *
098: * @param dea DataEventAuditPersistenceInterface
099: * @return true on success, false otherwise
100: * @exception EventAuditException on error.
101: */
102:
103: public boolean restore(WMSessionHandle shandle,
104: DataEventAuditPersistenceObject dea)
105: throws EventAuditException;
106:
107: /**
108: * Method restore retrieves state event from the repository.
109: *
110: * @param sea StateEventAuditPersistenceInterface
111: * @return true on success, false otherwise
112: * @exception EventAuditException on error.
113: */
114: public boolean restore(WMSessionHandle shandle,
115: StateEventAuditPersistenceObject sea)
116: throws EventAuditException;
117:
118: /**
119: * Method restoreProcessHistory
120: *
121: * @param procId a String
122: * @return a List
123: * @exception EventAuditException on error.
124: */
125:
126: public List restoreProcessHistory(WMSessionHandle shandle,
127: String procId) throws EventAuditException;
128:
129: /**
130: * Method restoreActivityHistory
131: *
132: * @param procId a String
133: * @param actId a String
134: * @return a List
135: * @exception EventAuditException on error.
136: */
137: public List restoreActivityHistory(WMSessionHandle shandle,
138: String procId, String actId) throws EventAuditException;
139:
140: /**
141: * Method delete
142: *
143: * @param assea an AssignmentEventAuditPersistenceInterface
144: * @exception EventAuditException on error.
145: */
146: public void delete(WMSessionHandle shandle,
147: AssignmentEventAuditPersistenceObject assea)
148: throws EventAuditException;
149:
150: /**
151: * Method delete
152: *
153: * @param cpea a CreateProcessEventAuditPersistenceInterface
154: * @exception EventAuditException on error.
155: */
156: public void delete(WMSessionHandle shandle,
157: CreateProcessEventAuditPersistenceObject cpea)
158: throws EventAuditException;
159:
160: /**
161: * Method delete
162: *
163: * @param dea a DataEventAuditPersistenceInterface
164: * @exception EventAuditException on error.
165: */
166: public void delete(WMSessionHandle shandle,
167: DataEventAuditPersistenceObject dea)
168: throws EventAuditException;
169:
170: /**
171: * Method delete
172: *
173: * @param sea a StateEventAuditPersistenceInterface
174: * @exception EventAuditException on error.
175: */
176: public void delete(WMSessionHandle shandle,
177: StateEventAuditPersistenceObject sea)
178: throws EventAuditException;
179:
180: // /**
181: // * Method createAssignmentEventAudit
182: // *
183: // * @return an AssignmentEventAuditPersistenceInterface
184: // */
185: // public AssignmentEventAuditPersistenceInterface createAssignmentEventAudit();
186: //
187: // /**
188: // * Method createCreateProcessEventAudit
189: // *
190: // * @return a CreateProcessEventAuditPersistenceInterface
191: // */
192: // public CreateProcessEventAuditPersistenceInterface createCreateProcessEventAudit();
193: //
194: // /**
195: // * Method createDataEventAudit
196: // *
197: // * @return a DataEventAuditPersistenceInterface
198: // */
199: // public DataEventAuditPersistenceInterface createDataEventAudit();
200: //
201: // /**
202: // * Method createStateEventAudit
203: // *
204: // * @return a StateEventAuditPersistenceInterface
205: // */
206: // public StateEventAuditPersistenceInterface createStateEventAudit();
207:
208: }
|