Source code: com/flexstor/ejb/setting/persist/SendSettingPersist.java
1 /*
2 * SendSettingPersist.java
3 *
4 * Copyright $Date: 2003/08/11 02:22:48 $ FLEXSTOR.net Inc.
5 *
6 * This work is licensed for use and distribution under license terms found at
7 * http://www.flexstor.org/license.html
8 *
9 */
10
11 package com.flexstor.ejb.setting.persist;
12
13 import java.rmi.RemoteException;
14 import java.util.Vector;
15
16 import com.flexstor.common.data.ejb.setting.SendSettingData;
17 import com.flexstor.common.exceptions.ejb.DuplicateRecordException;
18 import com.flexstor.common.exceptions.ejb.EjbException;
19 import com.flexstor.common.exceptions.ejb.NotFoundException;
20 import com.flexstor.common.exceptions.ejb.RecordUpdatedException;
21 import com.flexstor.common.keys.ejb.RoleKey;
22 import com.flexstor.common.keys.ejb.SendSettingCollectionKey;
23 import com.flexstor.common.keys.ejb.SendSettingKey;
24 import com.flexstor.ejb.EjbObject;
25
26 /**
27 *
28 * <P>
29 * SendSettingPersist <BR>
30 * <BLOCKQUOTE>
31 * Inserts, Updated, deletes and retrieves Send settings. <BR>
32 * </BLOCKQUOTE>
33 * </P>
34 *
35 * <P>
36 * Uses cache: yes
37 *
38 * State Management Type: Stateless
39 * </P>
40 *
41 * Configurable properties in flexdm.properties: <BR>
42 * <BLOCKQUOTE>
43 * <P>
44 * NONE <BR>
45 * </P>
46 * </BLOCKQUOTE>
47 *
48 */
49 public interface SendSettingPersist
50 extends EjbObject
51 {
52 // MKS macro expander
53 public final static String IDENTIFIER = "$Id: SendSettingPersist.java,v 1.4 2003/08/11 02:22:48 aleric Exp $";
54
55 /**
56 * Retrieve an SendSetting by its object reference
57 * Transaction Attribute: Not Supported
58 *
59 * @param aSendSettingKey - object reference to an send setting object
60 * @return - SendSetting data object updated with the key
61 *
62 * @exception NotFoundException - send setting does not exist in the database
63 * @exception EjbException - an error occured obtaining an send setting
64 * @exception RemoteException - Some problem occured with the EJB server
65 */
66 public SendSettingData getSendSetting(SendSettingKey aSendSettingKey)
67 throws NotFoundException, EjbException, RemoteException;
68
69 /**
70 * Retrieve A Collection Of Send Settings
71 * Transaction Attribute: Not Supported
72 *
73 * @param key - object reference to an send setting object
74 * @return - Vector of SendSetting data object updated with the key
75 *
76 * @exception NotFoundException - send setting does not exist in the database
77 * @exception EjbException - an error occured obtaining an send setting
78 * @exception RemoteException - Some problem occured with the EJB server
79 */
80 public Vector getSendSetting(SendSettingCollectionKey key )
81 throws NotFoundException, EjbException, RemoteException;
82
83 /**
84 * Retrieve A Collection Of Send Settings from a collection of SendSettingCollectionKeys
85 * Transaction Attribute: Not Supported
86 *
87 * @param collection - object reference to an send setting object
88 * @return - Vector of SendSetting data object updated with the key
89 *
90 * @exception NotFoundException - send setting does not exist in the database
91 * @exception EjbException - an error occured obtaining an send setting
92 * @exception RemoteException - Some problem occured with the EJB server
93 */
94 public Vector getSendSetting( Vector collection )
95 throws NotFoundException, EjbException, RemoteException;
96
97 /**
98 * Retrieve an SendSetting by its name
99 * Transaction Attribute: Not Supported
100 *
101 * @param name - object reference to an send setting object
102 * @return - SendSetting data object updated with the key
103 *
104 * @exception NotFoundException - send setting does not exist in the database
105 * @exception EjbException - an error occured obtaining an send setting
106 * @exception RemoteException - Some problem occured with the EJB server
107 */
108 public SendSettingData getSendSetting(String name)
109 throws NotFoundException, EjbException, RemoteException;
110
111 /**
112 * Insert a new send setting into the send setting database.
113 * Transaction Attribute: Required
114 *
115 * @param dat - the SendSetting object to be inserted into the database
116 * @return - SendSetting data object updated with the key
117 *
118 * @exception DuplicateRecordException - a row already exists within the database with the given key
119 * @exception EjbException - an error occured inserting an send setting
120 * @exception RemoteException - Some problem occured with the EJB server
121 */
122 public SendSettingData insert( SendSettingData dat )
123 throws DuplicateRecordException, EjbException, RemoteException;
124
125 /**
126 * Insert a new send setting into the send setting database.
127 * Transaction Attribute: Required
128 *
129 * @param dat - The SendSetting object to be inserted into the database
130 * @param key - The role to add this Send Setting into
131 * @return - SendSetting data object updated with the key
132 *
133 * @exception DuplicateRecordException - a row already exists within the database with the given key
134 * @exception EjbException - an error occured inserting an send setting
135 * @exception RemoteException - Some problem occured with the EJB server
136 */
137 public SendSettingData insert( SendSettingData dat, RoleKey key )
138 throws DuplicateRecordException, EjbException, RemoteException;
139
140 /**
141 * This will retrieve all Send settings from the system.
142 * Transaction Attribute: Not Supported
143 *
144 * @return - A vector with all SendSetting data object updated with the key
145 *
146 * @exception EjbException - an error occured inserting an send setting
147 * @exception RemoteException - Some problem occured with the EJB server
148 */
149 public Vector getAllSendSettings()
150 throws EjbException, RemoteException, NotFoundException;
151
152 /**
153 * Remove a single send setting key from the database.
154 * Transaction Attribute: Required
155 *
156 * @param key - reference to the send setting
157 *
158 * @exception EjbException - an error occured updating an send setting
159 * @exception RemoteException - Some problem occured with the EJB server
160 */
161 public void remove( SendSettingKey key )
162 throws EjbException, RemoteException;
163
164 /**
165 * Update a single send setting to the database.
166 * Transaction Attribute: Required
167 *
168 * @param dat - Data object containing the setting to update
169 * @return - The updated data
170 *
171 * @exception EjbException - an error occured updating an send setting
172 * @exception RemoteException - Some problem occured with the EJB server
173 */
174 public SendSettingData update( SendSettingData dat )
175 throws EjbException, RemoteException, DuplicateRecordException, RecordUpdatedException;
176 }