KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectweb > openccm > plugins > transaction > deployment > util > ResourceVector


1 /*====================================================================
2
3 OpenCCM: The Open CORBA Component Model Platform
4 Copyright (C) 2000-2002 USTL - LIFL - GOAL
5 Contact: openccm-team@objectweb.org
6
7 This library is free software; you can redistribute it and/or
8 modify it under the terms of the GNU Lesser General Public
9 License as published by the Free Software Foundation; either
10 version 2.1 of the License, or any later version.
11
12 This library is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 Lesser General Public License for more details.
16
17 You should have received a copy of the GNU Lesser General Public
18 License along with this library; if not, write to the Free Software
19 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
20 USA
21
22 Initial developer(s): Romain Rouvoy.
23 Contributor(s): ______________________________________.
24
25 ====================================================================*/

26
27 package org.objectweb.openccm.plugins.transaction.deployment.util;
28
29
30 /**
31  * implementation of a vector specialized in managing resources
32  *
33  * @author <a HREF="mailto:Romain.Rouvoy@lifl.fr">Romain Rouvoy</a>
34  *
35  * @version 0.3
36  */

37 public class ResourceVector
38 {
39     // ==================================================================
40
//
41
// Internal state.
42
//
43
// ==================================================================
44
/**
45          ** List of resource
46          **/

47     protected org.objectweb.ccm.util.Vector list_;
48     
49     // ==================================================================
50
//
51
// Constructor.
52
//
53
// ==================================================================
54
/**
55          ** Default Constructor
56          **/

57     public ResourceVector ()
58     {
59         list_ = new org.objectweb.ccm.util.Vector() ;
60     }
61
62         // ==================================================================
63
//
64
// Internal methods.
65
//
66
// ==================================================================
67

68     // ==================================================================
69
//
70
// Public methods.
71
//
72
// ==================================================================
73
/**
74          ** Add a new resource to the vector
75          **
76          ** @param resource resource to add
77          **/

78     public void
79     addElement (org.omg.CosTransactions.Resource resource)
80     {
81         list_.addElement (resource);
82
83     }
84
85         /**
86          ** Remove a resource from the vector
87          **
88          ** @param resource resource to remove
89          **/

90     public void
91     removeElement (org.omg.CosTransactions.Resource resource)
92     {
93         list_.removeElement (resource);
94     }
95
96         /**
97          ** Apply a specific treatment to the vector
98          **
99          ** @param action treatment to apply on every element of the vector
100          **/

101     public void
102     apply (ResourceTreatment action)
103         throws Exception JavaDoc
104     {
105                 // The list is cloned in order to avoid concurrent access to the list
106
org.omg.CosTransactions.Resource[] _clone = (org.omg.CosTransactions.Resource[]) list_.toArray(new org.omg.CosTransactions.Resource[0]);
107                 
108         for (int i=0 ; i<_clone.length ; i++)
109         {
110             action.apply (_clone[i]) ;
111         }
112     }
113 }
114
115
116
117
118
Popular Tags