Source code: com/flexstor/ejb/machine/Machine.java
1 /*
2 * Machine.java
3 *
4 * Copyright $Date: 2003/08/11 02:22:43 $ 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.machine;
12
13 import java.rmi.RemoteException;
14
15 import com.flexstor.common.data.ejb.machine.MachineData;
16 import com.flexstor.common.exceptions.ejb.DuplicateRecordException;
17 import com.flexstor.common.exceptions.ejb.EjbException;
18
19 /**
20 *
21 * <P>
22 * Machine <BR>
23 * <BLOCKQUOTE>
24 * This interface defines a machine that connects to FLEXSTOR.db. <BR>
25 * At this point, there is no dirty write checking for updates. This bean functions under <BR>
26 * the assumption that there should only one client updating a Machine. <BR>
27 * Right now, this bean is configured for updating a small number of machine settings (<10). <BR>
28 * Later, the bean may be needed to be changed because a larger number of machine settings are actually used. <BR>
29 * </BLOCKQUOTE>
30 * </P>
31 *
32 * <P>
33 * Uses cache: no
34 *
35 * State Management Type: Stateless
36 * </P>
37 *
38 * Configurable properties in flexdm.properties: <BR>
39 * <BLOCKQUOTE>
40 * <P>
41 * NONE <BR>
42 * </P>
43 * </BLOCKQUOTE>
44 *
45 */
46 public interface Machine
47 extends com.flexstor.ejb.EjbObject
48 {
49 // MKS macro expander
50 public final static String IDENTIFIER = "$Id: Machine.java,v 1.3 2003/08/11 02:22:43 aleric Exp $";
51
52 /**
53 * Retrieve Machine's state data object
54 * Transaction Attribute: Not Supported
55 *
56 * @param aMachineName a machine name (or host name)
57 * @return - a machine data object
58 *
59 * @exception EjbException - A problem occured obtaining the Machine data object from the MachinePersist bean
60 * @exception RemoteException - Some problem occured with the EJB server
61 */
62 public MachineData getDataObject(String aMachineName)
63 throws RemoteException, EjbException;
64
65 /**
66 * Save the current state of the object to the database.
67 * Transaction Attribute: Required
68 *
69 * @param aDataObject an Machine data object
70 *
71 * @exception DuplicateRecordException - a row already exists within the database with the given key
72 * @exception EjbException - A problem update a data object to the database
73 * @exception RemoteException - Some problem occured with the EJB server
74 */
75 public void update(MachineData aDataObject)
76 throws DuplicateRecordException, RemoteException, EjbException;
77 }