home *** CD-ROM | disk | FTP | other *** search
- package sun.misc;
-
- import java.lang.ref.ReferenceQueue;
- import java.lang.ref.SoftReference;
-
- class SoftCache$ValueCell extends SoftReference {
- private static Object INVALID_KEY = new Object();
- private static int dropped = 0;
- private Object key;
-
- private SoftCache$ValueCell(Object var1, Object var2, ReferenceQueue var3) {
- super(var2, var3);
- this.key = var1;
- }
-
- private static SoftCache$ValueCell create(Object var0, Object var1, ReferenceQueue var2) {
- return var1 == null ? null : new SoftCache$ValueCell(var0, var1, var2);
- }
-
- private static Object strip(Object var0, boolean var1) {
- if (var0 == null) {
- return null;
- } else {
- SoftCache$ValueCell var2 = (SoftCache$ValueCell)var0;
- Object var3 = var2.get();
- if (var1) {
- var2.drop();
- }
-
- return var3;
- }
- }
-
- private boolean isValid() {
- return this.key != INVALID_KEY;
- }
-
- private void drop() {
- super.clear();
- this.key = INVALID_KEY;
- ++dropped;
- }
-
- // $FF: synthetic method
- static boolean access$000(SoftCache$ValueCell var0) {
- return var0.isValid();
- }
-
- // $FF: synthetic method
- static Object access$100(SoftCache$ValueCell var0) {
- return var0.key;
- }
-
- // $FF: synthetic method
- static int access$210() {
- return dropped--;
- }
-
- // $FF: synthetic method
- static Object access$300(Object var0, boolean var1) {
- return strip(var0, var1);
- }
-
- // $FF: synthetic method
- static SoftCache$ValueCell access$400(Object var0, Object var1, ReferenceQueue var2) {
- return create(var0, var1, var2);
- }
- }
-