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 / java / util / ResourceBundle$ResourceCacheKey.class (.txt) < prev    next >
Encoding:
Java Class File  |  1979-12-31  |  1.3 KB  |  72 lines

  1. package java.util;
  2.  
  3. import java.lang.ref.SoftReference;
  4.  
  5. final class ResourceBundle$ResourceCacheKey implements Cloneable {
  6.    private SoftReference loaderRef;
  7.    private String searchName;
  8.    private int hashCodeCache;
  9.  
  10.    private ResourceBundle$ResourceCacheKey() {
  11.    }
  12.  
  13.    public boolean equals(Object var1) {
  14.       if (this == var1) {
  15.          return true;
  16.       } else {
  17.          try {
  18.             ResourceBundle$ResourceCacheKey var2 = (ResourceBundle$ResourceCacheKey)var1;
  19.             if (this.hashCodeCache != var2.hashCodeCache) {
  20.                return false;
  21.             } else if (!this.searchName.equals(var2.searchName)) {
  22.                return false;
  23.             } else {
  24.                boolean var3 = this.loaderRef != null;
  25.                if (this.loaderRef == null) {
  26.                   return var2.loaderRef == null;
  27.                } else {
  28.                   return var2.loaderRef != null && this.loaderRef.get() == var2.loaderRef.get();
  29.                }
  30.             }
  31.          } catch (NullPointerException var4) {
  32.             return false;
  33.          } catch (ClassCastException var5) {
  34.             return false;
  35.          }
  36.       }
  37.    }
  38.  
  39.    public int hashCode() {
  40.       return this.hashCodeCache;
  41.    }
  42.  
  43.    public Object clone() {
  44.       try {
  45.          return super.clone();
  46.       } catch (CloneNotSupportedException var2) {
  47.          throw new InternalError();
  48.       }
  49.    }
  50.  
  51.    public void setKeyValues(ClassLoader var1, String var2) {
  52.       this.searchName = var2;
  53.       this.hashCodeCache = var2.hashCode();
  54.       if (var1 == null) {
  55.          this.loaderRef = null;
  56.       } else {
  57.          this.loaderRef = new SoftReference(var1);
  58.          this.hashCodeCache ^= var1.hashCode();
  59.       }
  60.  
  61.    }
  62.  
  63.    public void clear() {
  64.       this.setKeyValues((ClassLoader)null, "");
  65.    }
  66.  
  67.    // $FF: synthetic method
  68.    ResourceBundle$ResourceCacheKey(ResourceBundle.1 var1) {
  69.       this();
  70.    }
  71. }
  72.