01: /*
02: * $Id: BPELProcessDAO.java,v 1.8 2004/12/06 07:53:30 fornp1 Exp $
03: *
04: * Copyright (c) 2004 Patric Fornasier, Pawel Kowalski
05: * Berne University of Applied Sciences
06: * School of Engineering and Information Technology
07: * All rights reserved.
08: */
09: package bexee.dao;
10:
11: import bexee.model.process.BPELProcess;
12:
13: /**
14: * The <code>BPELProcessDAO</code> abstracts the underlying data access
15: * implementation for <code>BPELProcess</code> objects to enable transparent
16: * access to the data source.
17: *
18: * @version $Revision: 1.8 $, $Date: 2004/12/06 07:53:30 $
19: * @author Patric Fornasier
20: * @author Pawel Kowalski
21: */
22: public interface BPELProcessDAO {
23:
24: /**
25: * Inserts a new <code>BPELProcess</code>.
26: *
27: * @param process
28: * the <code>BPELProcess</code> to insert
29: * @return the name of the <code>BPELProcess</code> which serves as a
30: * unique identifier
31: * @throws DAOException
32: * to indicate that there went something wrong
33: */
34: public String insert(BPELProcess process) throws DAOException;
35:
36: /**
37: * Finds a <code>BPELProcess</code> given its name.
38: *
39: * @param name
40: * the name of the <code>BPELProcess</code> to find
41: * @return the <code>BPELProcess</code> or null if no
42: * <code>BPELProcess</code> matches the given name
43: * @throws DAOException
44: * to indicate that there went something wrong
45: */
46: public BPELProcess find(String name) throws DAOException;
47:
48: /**
49: * Deletes a <code>BPELProcess</code> given its name.
50: *
51: * @param name
52: * the name of the <code>BPELProcess</code> to delete
53: * @throws DAOException
54: * to indicate that there went something wrong
55: */
56: public void delete(String name) throws DAOException;
57:
58: /**
59: * Deletes a <b>*ALL* </b> <code>BPELProcess</code> es.
60: *
61: * @throws DAOException
62: * to indicate that there went something wrong
63: */
64: public void deleteAll() throws DAOException;
65:
66: /**
67: * Updates an existing <code>BPELProcess</code>.
68: *
69: * @param process
70: * the <code>BPELProcess</code> to update
71: * @throws DAOException
72: * to indicate that there went something wrong
73: */
74: public void update(BPELProcess process) throws DAOException;
75:
76: /**
77: * Replaces an existing <code>BPELProcess</code>.
78: * <p>
79: * If the process doesn't exist it will be <code>insert</code> ed,
80: * otherwise it will be <code>update</code>d.
81: *
82: * @param process
83: * the <code>BPELProcess</code> to replace
84: * @return the id of the <code>BPELProcess</code>. This will be a new id
85: * in case the <code>BPELProcess</code> is <code>insert</code>
86: * ed or the id of the <code>update</code> d
87: * <code>BPELProcess</code>.
88: * @throws DAOException
89: * to indicate that there went something wrong
90: */
91: public String replace(BPELProcess process) throws DAOException;
92: }
|