KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > sapia > ubik > rmi > naming > remote > proxy > LocalNamingEnum


1 package org.sapia.ubik.rmi.naming.remote.proxy;
2
3 import javax.naming.Binding JavaDoc;
4 import javax.naming.Name JavaDoc;
5 import javax.naming.NamingEnumeration JavaDoc;
6 import javax.naming.NamingException JavaDoc;
7
8 import org.sapia.archie.jndi.proxy.EnumProxy;
9 import org.sapia.ubik.rmi.naming.remote.RemoteContext;
10
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 LocalNamingEnum extends EnumProxy {
21   private String JavaDoc _url;
22
23   public LocalNamingEnum(String JavaDoc url, Name JavaDoc ctxName, NamingEnumeration JavaDoc en) {
24     super(ctxName, en);
25     _url = url;
26   }
27
28   public Object JavaDoc onNextElement(Name JavaDoc contextName, Object JavaDoc next)
29     throws NamingException JavaDoc {
30     if (next instanceof Binding JavaDoc &&
31           ((Binding JavaDoc) next).getObject() instanceof RemoteContext) {
32       Binding JavaDoc b = (Binding JavaDoc) next;
33       b.setObject(new LocalContext(_url, (RemoteContext) b.getObject()));
34
35       return b;
36     } else if (next instanceof RemoteContext) {
37       return new LocalContext(_url, (RemoteContext) next);
38     } else {
39       return next;
40     }
41   }
42 }
43
Popular Tags