KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > SOFA > Component > NamedElementRegister


1 /* $Id: NamedElementRegister.java,v 1.1.1.1 2003/02/11 16:19:40 bures Exp $ */
2 package SOFA.Component;
3
4 /** Register for named objects.
5   *
6   * @author Petr Hnetynka
7   */

8 public class NamedElementRegister extends java.util.Hashtable JavaDoc {
9   
10   /** Return element with given name.
11     * @param name name of element
12     * @exception NamingException if object with given name does not exist
13     */

14   public Object JavaDoc getElementNamed(String JavaDoc name) throws NamingException {
15     Object JavaDoc o = get(name);
16     if (o==null)
17       throw new NamingException("No such name");
18     return o;
19   }
20   
21   /** Register new element with given name.
22     * @param name name of element
23     * @param element element
24     * @exception NamingException if object with given name already exists
25     */

26   public void registerElementNamed(String JavaDoc name, Object JavaDoc element) throws NamingException {
27     try {
28       if (containsKey(name)) {
29         throw new NamingException("Duplicated name");
30       } else {
31         put(name, element);
32       }
33     } catch(Exception JavaDoc e) {
34       throw new NamingException(e.toString());
35     }
36   }
37   
38   /** Register new element with given name. If object with given name exists, then reregister new one.
39     * @param name name of element
40     * @param element element
41     * @exception NamingException
42     */

43   public void forceRegisterElementNamed(String JavaDoc name, Object JavaDoc element) throws NamingException {
44     try {
45       if (containsKey(name))
46         remove(name);
47       put(name, element);
48     } catch(Exception JavaDoc e) {
49       throw new NamingException(e.toString());
50     }
51   }
52
53   /** Unregister element with given name.
54     * @param name name of element
55     * @exception NamingException if object with given name does not exist
56     */

57   public void unregisterElementNamed(String JavaDoc name) throws NamingException {
58     try {
59       if (containsKey(name))
60         remove(name);
61       else
62         throw new NamingException("No such name");
63     } catch(Exception JavaDoc e) {
64       throw new NamingException(e.toString());
65     }
66   }
67
68   /** Returns all names in the register.
69     * @return enumeration with names
70     */

71   public java.util.Enumeration JavaDoc getAllNames() {
72     return keys();
73   }
74 }
75
Popular Tags