KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > sapia > archie > jndi > JndiName


1 package org.sapia.archie.jndi;
2
3 import java.util.Enumeration JavaDoc;
4 import java.util.Vector JavaDoc;
5
6 import javax.naming.InvalidNameException JavaDoc;
7 import javax.naming.Name JavaDoc;
8
9 import org.sapia.archie.NamePart;
10 import org.sapia.archie.impl.DefaultNamePart;
11
12 /**
13  * @author Yanick Duchesne
14  * <dl>
15  * <dt><b>Copyright:</b><dd>Copyright &#169; 2002-2003 <a HREF="http://www.sapia-oss.org">Sapia Open Source Software</a>. All Rights Reserved.</dd></dt>
16  * <dt><b>License:</b><dd>Read the license.txt file of the jar or visit the
17  * <a HREF="http://www.sapia-oss.org/license.html">license page</a> at the Sapia OSS web site</dd></dt>
18  * </dl>
19  */

20 public class JndiName implements Name JavaDoc{
21   
22   private org.sapia.archie.Name _name;
23   
24   public JndiName(){
25     _name = new org.sapia.archie.Name();
26   }
27   public JndiName(org.sapia.archie.Name name){
28     _name = name;
29   }
30   
31   /**
32    * @see javax.naming.Name#add(int, java.lang.String)
33    */

34   public Name JavaDoc add(int posn, String JavaDoc comp) throws InvalidNameException JavaDoc {
35     _name.addAt(posn, new DefaultNamePart(comp));
36     return this;
37   }
38
39   /**
40    * @see javax.naming.Name#add(java.lang.String)
41    */

42   public Name JavaDoc add(String JavaDoc comp) throws InvalidNameException JavaDoc {
43     _name.add(new DefaultNamePart(comp));
44     return this;
45   }
46
47   /**
48    * @see javax.naming.Name#addAll(int, javax.naming.Name)
49    */

50   public Name JavaDoc addAll(int posn, Name JavaDoc n) throws InvalidNameException JavaDoc {
51     
52     for(int i = 0; i < n.size(); i++){
53       _name.addAt(posn++, new DefaultNamePart(n.get(i)));
54     }
55     return this;
56   }
57
58   /**
59    * @see javax.naming.Name#addAll(javax.naming.Name)
60    */

61   public Name JavaDoc addAll(Name JavaDoc suffix) throws InvalidNameException JavaDoc {
62     for(int i = 0; i < suffix.size(); i++){
63       _name.add(new DefaultNamePart(suffix.get(i)));
64     }
65     return this;
66   }
67
68   /**
69    * @see java.lang.Object#clone()
70    */

71   public Object JavaDoc clone() {
72     return new JndiName(_name);
73   }
74
75   /**
76    * @see javax.naming.Name#compareTo(java.lang.Object)
77    */

78   public int compareTo(Object JavaDoc obj) {
79     return 0;
80   }
81
82   /**
83    * @see javax.naming.Name#endsWith(javax.naming.Name)
84    */

85   public boolean endsWith(Name JavaDoc n) {
86     return _name.endsWith(((JndiName)n)._name);
87   }
88
89   /**
90    * @see javax.naming.Name#get(int)
91    */

92   public String JavaDoc get(int posn) {
93     return ((NamePart)_name.get(posn)).asString();
94   }
95   
96   /**
97    * @see java.lang.Object#equals(java.lang.Object)
98    */

99   public boolean equals(Object JavaDoc obj) {
100     try{
101       return _name.equals(((JndiName)obj)._name);
102     }catch(ClassCastException JavaDoc e){
103       return false;
104     }
105   }
106
107
108   /**
109    * @see javax.naming.Name#getAll()
110    */

111   public Enumeration JavaDoc getAll() {
112     Vector JavaDoc v = new Vector JavaDoc();
113     for(int i = 0; i < _name.count(); i++){
114       v.add(((NamePart)_name.get(i)).asString());
115     }
116     return v.elements();
117   }
118
119   /**
120    * @see javax.naming.Name#getPrefix(int)
121    */

122   public Name JavaDoc getPrefix(int posn) {
123     return new JndiName(_name.getTo(posn));
124   }
125
126   /**
127    * @see javax.naming.Name#getSuffix(int)
128    */

129   public Name JavaDoc getSuffix(int posn) {
130     return new JndiName(_name.getFrom(posn));
131   }
132
133   /**
134    * @see javax.naming.Name#isEmpty()
135    */

136   public boolean isEmpty() {
137     return _name.count() == 0;
138   }
139
140   /**
141    * @see javax.naming.Name#remove(int)
142    */

143   public Object JavaDoc remove(int posn) throws InvalidNameException JavaDoc {
144     return _name.removeAt(posn).asString();
145   }
146
147   /**
148    * @see javax.naming.Name#size()
149    */

150   public int size() {
151     return _name.count();
152   }
153
154   /**
155    * @see javax.naming.Name#startsWith(javax.naming.Name)
156    */

157   public boolean startsWith(Name JavaDoc n) {
158     return _name.startsWith(((JndiName)n)._name);
159   }
160   
161   public String JavaDoc toString() {
162     if (_name == null) {
163       return "null";
164     } else {
165       StringBuffer JavaDoc buff = new StringBuffer JavaDoc();
166       for(int i = 0; i < _name.count(); i++){
167         buff.append(_name.get(i).asString());
168         if(i < _name.count() - 1){
169           buff.append('/');
170         }
171       }
172       return buff.toString();
173     }
174   }
175       
176 }
177
Popular Tags