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 / spi / DirectoryManager.class (.txt) < prev    next >
Encoding:
Java Class File  |  1979-12-31  |  3.1 KB  |  112 lines

  1. package javax.naming.spi;
  2.  
  3. import com.sun.naming.internal.FactoryEnumeration;
  4. import com.sun.naming.internal.ResourceManager;
  5. import java.util.Hashtable;
  6. import javax.naming.CannotProceedException;
  7. import javax.naming.Context;
  8. import javax.naming.Name;
  9. import javax.naming.NamingException;
  10. import javax.naming.Reference;
  11. import javax.naming.Referenceable;
  12. import javax.naming.directory.Attributes;
  13. import javax.naming.directory.DirContext;
  14.  
  15. public class DirectoryManager extends NamingManager {
  16.    DirectoryManager() {
  17.    }
  18.  
  19.    public static DirContext getContinuationDirContext(CannotProceedException var0) throws NamingException {
  20.       Hashtable var1 = var0.getEnvironment();
  21.       if (var1 == null) {
  22.          var1 = new Hashtable(7);
  23.          var0.setEnvironment(var1);
  24.       }
  25.  
  26.       var1.put("java.naming.spi.CannotProceedException", var0);
  27.       return new ContinuationDirContext(var0);
  28.    }
  29.  
  30.    public static Object getObjectInstance(Object var0, Name var1, Context var2, Hashtable var3, Attributes var4) throws Exception {
  31.       ObjectFactoryBuilder var6 = NamingManager.getObjectFactoryBuilder();
  32.       if (var6 != null) {
  33.          ObjectFactory var10 = var6.createObjectFactory(var0, var3);
  34.          return var10 instanceof DirObjectFactory ? ((DirObjectFactory)var10).getObjectInstance(var0, var1, var2, var3, var4) : var10.getObjectInstance(var0, var1, var2, var3);
  35.       } else {
  36.          Reference var7 = null;
  37.          if (var0 instanceof Reference) {
  38.             var7 = (Reference)var0;
  39.          } else if (var0 instanceof Referenceable) {
  40.             var7 = ((Referenceable)var0).getReference();
  41.          }
  42.  
  43.          if (var7 != null) {
  44.             String var9 = var7.getFactoryClassName();
  45.             if (var9 != null) {
  46.                ObjectFactory var5 = NamingManager.getObjectFactoryFromReference(var7, var9);
  47.                if (var5 instanceof DirObjectFactory) {
  48.                   return ((DirObjectFactory)var5).getObjectInstance(var7, var1, var2, var3, var4);
  49.                }
  50.  
  51.                if (var5 != null) {
  52.                   return var5.getObjectInstance(var7, var1, var2, var3);
  53.                }
  54.  
  55.                return var0;
  56.             }
  57.  
  58.             Object var8 = NamingManager.processURLAddrs(var7, var1, var2, var3);
  59.             if (var8 != null) {
  60.                return var8;
  61.             }
  62.          }
  63.  
  64.          Object var11 = createObjectFromFactories(var0, var1, var2, var3, var4);
  65.          return var11 != null ? var11 : var0;
  66.       }
  67.    }
  68.  
  69.    private static Object createObjectFromFactories(Object var0, Name var1, Context var2, Hashtable var3, Attributes var4) throws Exception {
  70.       FactoryEnumeration var5 = ResourceManager.getFactories("java.naming.factory.object", var3, var2);
  71.       if (var5 == null) {
  72.          return null;
  73.       } else {
  74.          Object var7 = null;
  75.  
  76.          while(var7 == null && var5.hasMore()) {
  77.             ObjectFactory var6 = (ObjectFactory)var5.next();
  78.             if (var6 instanceof DirObjectFactory) {
  79.                var7 = ((DirObjectFactory)var6).getObjectInstance(var0, var1, var2, var3, var4);
  80.             } else {
  81.                var7 = var6.getObjectInstance(var0, var1, var2, var3);
  82.             }
  83.          }
  84.  
  85.          return var7;
  86.       }
  87.    }
  88.  
  89.    public static DirStateFactory.Result getStateToBind(Object var0, Name var1, Context var2, Hashtable var3, Attributes var4) throws NamingException {
  90.       FactoryEnumeration var5 = ResourceManager.getFactories("java.naming.factory.state", var3, var2);
  91.       if (var5 == null) {
  92.          return new DirStateFactory.Result(var0, var4);
  93.       } else {
  94.          DirStateFactory.Result var8 = null;
  95.  
  96.          while(var8 == null && var5.hasMore()) {
  97.             StateFactory var6 = (StateFactory)var5.next();
  98.             if (var6 instanceof DirStateFactory) {
  99.                var8 = ((DirStateFactory)var6).getStateToBind(var0, var1, var2, var3, var4);
  100.             } else {
  101.                Object var7 = var6.getStateToBind(var0, var1, var2, var3);
  102.                if (var7 != null) {
  103.                   var8 = new DirStateFactory.Result(var7, var4);
  104.                }
  105.             }
  106.          }
  107.  
  108.          return var8 != null ? var8 : new DirStateFactory.Result(var0, var4);
  109.       }
  110.    }
  111. }
  112.