home *** CD-ROM | disk | FTP | other *** search
/ Sky at Night 2007 June / SAN CD 6-2007 CD-ROM 25.iso / pc / Software / AstroGrav_Win / Java / jre1.6.0 / lib / rt.jar / sun / swing / ImageCache.class (.txt) < prev    next >
Encoding:
Java Class File  |  2006-11-29  |  1.6 KB  |  60 lines

  1. package sun.swing;
  2.  
  3. import java.awt.GraphicsConfiguration;
  4. import java.awt.Image;
  5. import java.lang.ref.SoftReference;
  6. import java.util.LinkedList;
  7. import java.util.ListIterator;
  8.  
  9. public class ImageCache {
  10.    private int maxCount;
  11.    private final LinkedList<SoftReference<Entry>> entries;
  12.  
  13.    public ImageCache(int var1) {
  14.       this.maxCount = var1;
  15.       this.entries = new LinkedList();
  16.    }
  17.  
  18.    void setMaxCount(int var1) {
  19.       this.maxCount = var1;
  20.    }
  21.  
  22.    public void flush() {
  23.       this.entries.clear();
  24.    }
  25.  
  26.    private Entry getEntry(Object var1, GraphicsConfiguration var2, int var3, int var4, Object[] var5) {
  27.       ListIterator var7 = this.entries.listIterator();
  28.  
  29.       while(var7.hasNext()) {
  30.          SoftReference var8 = (SoftReference)var7.next();
  31.          Entry var6 = (Entry)var8.get();
  32.          if (var6 == null) {
  33.             var7.remove();
  34.          } else if (var6.equals(var2, var3, var4, var5)) {
  35.             var7.remove();
  36.             this.entries.addFirst(var8);
  37.             return var6;
  38.          }
  39.       }
  40.  
  41.       Entry var9 = new Entry(var2, var3, var4, var5);
  42.       if (this.entries.size() >= this.maxCount) {
  43.          this.entries.removeLast();
  44.       }
  45.  
  46.       this.entries.addFirst(new SoftReference(var9));
  47.       return var9;
  48.    }
  49.  
  50.    public Image getImage(Object var1, GraphicsConfiguration var2, int var3, int var4, Object[] var5) {
  51.       Entry var6 = this.getEntry(var1, var2, var3, var4, var5);
  52.       return var6.getImage();
  53.    }
  54.  
  55.    public void setImage(Object var1, GraphicsConfiguration var2, int var3, int var4, Object[] var5, Image var6) {
  56.       Entry var7 = this.getEntry(var1, var2, var3, var4, var5);
  57.       var7.setImage(var6);
  58.    }
  59. }
  60.