home *** CD-ROM | disk | FTP | other *** search
/ CD Actual Thematic 7: Programming / CDAT7.iso / Share / Java / JDesignerPro / Jdp3_0.exe / data1.cab / Program_Files / javax / naming / InitialContext.class (.txt) < prev    next >
Encoding:
Java Class File  |  1999-04-09  |  4.9 KB  |  206 lines

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