home *** CD-ROM | disk | FTP | other *** search
/ S283 Planetary Science &n…he Search for Life DVD 2 / DVD-ROM.iso / install / jre1_3 / lib / rt.jar / javax / naming / InitialContext.class (.txt) < prev    next >
Encoding:
Java Class File  |  1979-12-31  |  4.6 KB  |  217 lines

  1. package javax.naming;
  2.  
  3. import com.sun.naming.internal.ResourceManager;
  4. import java.util.Hashtable;
  5. import javax.naming.spi.NamingManager;
  6.  
  7. public class InitialContext implements Context {
  8.    protected Hashtable myProps = null;
  9.    protected Context defaultInitCtx = null;
  10.    protected boolean gotDefault = false;
  11.  
  12.    protected InitialContext(boolean var1) throws NamingException {
  13.       if (!var1) {
  14.          this.init((Hashtable)null);
  15.       }
  16.  
  17.    }
  18.  
  19.    public InitialContext() throws NamingException {
  20.       this.init((Hashtable)null);
  21.    }
  22.  
  23.    public InitialContext(Hashtable var1) throws NamingException {
  24.       if (var1 != null) {
  25.          var1 = (Hashtable)var1.clone();
  26.       }
  27.  
  28.       this.init(var1);
  29.    }
  30.  
  31.    protected void init(Hashtable var1) throws NamingException {
  32.       this.myProps = ResourceManager.getInitialEnvironment(var1);
  33.       if (this.myProps.get("java.naming.factory.initial") != null) {
  34.          this.getDefaultInitCtx();
  35.       }
  36.  
  37.    }
  38.  
  39.    private static String getURLScheme(String var0) {
  40.       int var1 = var0.indexOf(58);
  41.       int var2 = var0.indexOf(47);
  42.       return var1 <= 0 || var2 != -1 && var1 >= var2 ? null : var0.substring(0, var1);
  43.    }
  44.  
  45.    protected Context getDefaultInitCtx() throws NamingException {
  46.       if (!this.gotDefault) {
  47.          this.defaultInitCtx = NamingManager.getInitialContext(this.myProps);
  48.          this.gotDefault = true;
  49.       }
  50.  
  51.       if (this.defaultInitCtx == null) {
  52.          throw new NoInitialContextException();
  53.       } else {
  54.          return this.defaultInitCtx;
  55.       }
  56.    }
  57.  
  58.    protected Context getURLOrDefaultInitCtx(String var1) throws NamingException {
  59.       if (NamingManager.hasInitialContextFactoryBuilder()) {
  60.          return this.getDefaultInitCtx();
  61.       } else {
  62.          String var2 = getURLScheme(var1);
  63.          if (var2 != null) {
  64.             Context var3 = NamingManager.getURLContext(var2, this.myProps);
  65.             if (var3 != null) {
  66.                return var3;
  67.             }
  68.          }
  69.  
  70.          return this.getDefaultInitCtx();
  71.       }
  72.    }
  73.  
  74.    protected Context getURLOrDefaultInitCtx(Name var1) throws NamingException {
  75.       if (NamingManager.hasInitialContextFactoryBuilder()) {
  76.          return this.getDefaultInitCtx();
  77.       } else {
  78.          if (var1.size() > 0) {
  79.             String var2 = var1.get(0);
  80.             String var3 = getURLScheme(var2);
  81.             if (var3 != null) {
  82.                Context var4 = NamingManager.getURLContext(var3, this.myProps);
  83.                if (var4 != null) {
  84.                   return var4;
  85.                }
  86.             }
  87.          }
  88.  
  89.          return this.getDefaultInitCtx();
  90.       }
  91.    }
  92.  
  93.    public Object lookup(String var1) throws NamingException {
  94.       return this.getURLOrDefaultInitCtx(var1).lookup(var1);
  95.    }
  96.  
  97.    public Object lookup(Name var1) throws NamingException {
  98.       return this.getURLOrDefaultInitCtx(var1).lookup(var1);
  99.    }
  100.  
  101.    public void bind(String var1, Object var2) throws NamingException {
  102.       this.getURLOrDefaultInitCtx(var1).bind(var1, var2);
  103.    }
  104.  
  105.    public void bind(Name var1, Object var2) throws NamingException {
  106.       this.getURLOrDefaultInitCtx(var1).bind(var1, var2);
  107.    }
  108.  
  109.    public void rebind(String var1, Object var2) throws NamingException {
  110.       this.getURLOrDefaultInitCtx(var1).rebind(var1, var2);
  111.    }
  112.  
  113.    public void rebind(Name var1, Object var2) throws NamingException {
  114.       this.getURLOrDefaultInitCtx(var1).rebind(var1, var2);
  115.    }
  116.  
  117.    public void unbind(String var1) throws NamingException {
  118.       this.getURLOrDefaultInitCtx(var1).unbind(var1);
  119.    }
  120.  
  121.    public void unbind(Name var1) throws NamingException {
  122.       this.getURLOrDefaultInitCtx(var1).unbind(var1);
  123.    }
  124.  
  125.    public void rename(String var1, String var2) throws NamingException {
  126.       this.getURLOrDefaultInitCtx(var1).rename(var1, var2);
  127.    }
  128.  
  129.    public void rename(Name var1, Name var2) throws NamingException {
  130.       this.getURLOrDefaultInitCtx(var1).rename(var1, var2);
  131.    }
  132.  
  133.    public NamingEnumeration list(String var1) throws NamingException {
  134.       return this.getURLOrDefaultInitCtx(var1).list(var1);
  135.    }
  136.  
  137.    public NamingEnumeration list(Name var1) throws NamingException {
  138.       return this.getURLOrDefaultInitCtx(var1).list(var1);
  139.    }
  140.  
  141.    public NamingEnumeration listBindings(String var1) throws NamingException {
  142.       return this.getURLOrDefaultInitCtx(var1).listBindings(var1);
  143.    }
  144.  
  145.    public NamingEnumeration listBindings(Name var1) throws NamingException {
  146.       return this.getURLOrDefaultInitCtx(var1).listBindings(var1);
  147.    }
  148.  
  149.    public void destroySubcontext(String var1) throws NamingException {
  150.       this.getURLOrDefaultInitCtx(var1).destroySubcontext(var1);
  151.    }
  152.  
  153.    public void destroySubcontext(Name var1) throws NamingException {
  154.       this.getURLOrDefaultInitCtx(var1).destroySubcontext(var1);
  155.    }
  156.  
  157.    public Context createSubcontext(String var1) throws NamingException {
  158.       return this.getURLOrDefaultInitCtx(var1).createSubcontext(var1);
  159.    }
  160.  
  161.    public Context createSubcontext(Name var1) throws NamingException {
  162.       return this.getURLOrDefaultInitCtx(var1).createSubcontext(var1);
  163.    }
  164.  
  165.    public Object lookupLink(String var1) throws NamingException {
  166.       return this.getURLOrDefaultInitCtx(var1).lookupLink(var1);
  167.    }
  168.  
  169.    public Object lookupLink(Name var1) throws NamingException {
  170.       return this.getURLOrDefaultInitCtx(var1).lookupLink(var1);
  171.    }
  172.  
  173.    public NameParser getNameParser(String var1) throws NamingException {
  174.       return this.getURLOrDefaultInitCtx(var1).getNameParser(var1);
  175.    }
  176.  
  177.    public NameParser getNameParser(Name var1) throws NamingException {
  178.       return this.getURLOrDefaultInitCtx(var1).getNameParser(var1);
  179.    }
  180.  
  181.    public String composeName(String var1, String var2) throws NamingException {
  182.       return var1;
  183.    }
  184.  
  185.    public Name composeName(Name var1, Name var2) throws NamingException {
  186.       return (Name)var1.clone();
  187.    }
  188.  
  189.    public Object addToEnvironment(String var1, Object var2) throws NamingException {
  190.       this.myProps.put(var1, var2);
  191.       return this.getDefaultInitCtx().addToEnvironment(var1, var2);
  192.    }
  193.  
  194.    public Object removeFromEnvironment(String var1) throws NamingException {
  195.       this.myProps.remove(var1);
  196.       return this.getDefaultInitCtx().removeFromEnvironment(var1);
  197.    }
  198.  
  199.    public Hashtable getEnvironment() throws NamingException {
  200.       return this.getDefaultInitCtx().getEnvironment();
  201.    }
  202.  
  203.    public void close() throws NamingException {
  204.       this.myProps = null;
  205.       if (this.defaultInitCtx != null) {
  206.          this.defaultInitCtx.close();
  207.          this.defaultInitCtx = null;
  208.       }
  209.  
  210.       this.gotDefault = false;
  211.    }
  212.  
  213.    public String getNameInNamespace() throws NamingException {
  214.       return this.getDefaultInitCtx().getNameInNamespace();
  215.    }
  216. }
  217.