KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectweb > clif > util > ItfName


1 /*
2 * CLIF is a Load Injection Framework
3 * Copyright (C) 2003 France Telecom R&D
4 * Copyright (C) 2003 INRIA
5 *
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2 of the License, or (at your option) any later version.
10 *
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
15 *
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 *
20 * CLIF $Name: $
21 *
22 * Contact: clif@objectweb.org
23 */

24
25 package org.objectweb.clif.util;
26
27 import java.util.Map JavaDoc;
28 import java.util.HashMap JavaDoc;
29 import java.math.BigInteger JavaDoc;
30
31
32 /**
33  * Interface unique name generator for collection client interfaces.
34  * @author Bruno Dillenseger
35  */

36 abstract public class ItfName
37 {
38     static protected Map JavaDoc interfaces = new HashMap JavaDoc();
39
40     /**
41      * Unique interface name generation (uniqueness is bound to this class definition in one JVM)
42      * @param itfBaseName interface name to be used as a prefix for unique name generation
43      * @return a new unique name with the given prefix
44      */

45     static public String JavaDoc gen(String JavaDoc itfBaseName)
46     {
47         BigInteger JavaDoc lastId = (BigInteger JavaDoc) interfaces.get(itfBaseName);
48         if (lastId == null)
49         {
50             lastId = BigInteger.ZERO;
51         }
52         else
53         {
54             lastId = lastId.add(BigInteger.ONE);
55         }
56         interfaces.put(itfBaseName, lastId);
57         return itfBaseName + lastId;
58     }
59 }
60
Popular Tags