Coverage report

  %line %branch
ca.spaz.util.ImageFactory
0% 
0% 

 1  
 /*
 2  
  *******************************************************************************
 3  
  * Copyright (c) 2005 Chris Rose and AIMedia
 4  
  * All rights reserved. ImageFactory and the accompanying materials
 5  
  * are made available under the terms of the Common Public License v1.0
 6  
  * which accompanies this distribution, and is available at
 7  
  * http://www.eclipse.org/legal/cpl-v10.html
 8  
  * 
 9  
  * Contributors:
 10  
  *     Chris Rose
 11  
  *******************************************************************************/
 12  
 package ca.spaz.util;
 13  
 
 14  
 import java.awt.*;
 15  
 import java.net.URL;
 16  
 import java.util.*;
 17  
 
 18  
 import ca.spaz.cron.CRONConfiguration;
 19  
 
 20  
 /**
 21  
  * A class for manufacturing images from the resource path. 
 22  
  * @author Chris Rose
 23  
  */
 24  
 public class ImageFactory {
 25  
 
 26  0
    private static ImageFactory instance = null;
 27  
    private int cacheSize;
 28  
    private Map imageCache;
 29  
    
 30  0
    private ImageFactory() {
 31  0
       String cacheValue = CRONConfiguration.getInstance().getProperty("cron.imagecache.size", "10");
 32  0
       int cacheSz = 0;
 33  
       try {
 34  0
          cacheSz = Integer.parseInt(cacheValue);
 35  0
       } catch (NumberFormatException e) {
 36  0
          cacheSz = 10;
 37  0
          e.printStackTrace();
 38  0
       }
 39  0
       this.cacheSize = cacheSz;
 40  0
       this.imageCache = new CacheMap(cacheSize);
 41  0
    }
 42  
    
 43  
    public static final ImageFactory getInstance() {
 44  0
       if (null == instance) {
 45  0
          instance = new ImageFactory();
 46  
       }
 47  0
       return instance;
 48  
    }
 49  
    
 50  
    public Image loadImage(URL url) {
 51  0
       Image ret = null;
 52  0
       if (imageCache.containsKey(url)) {
 53  0
          ret = (Image) imageCache.get(url);
 54  0
       } else {
 55  0
          ret = Toolkit.getDefaultToolkit().createImage(url);
 56  0
          if (ret != null) {
 57  0
             imageCache.put(url, ret);
 58  
          }
 59  
       }
 60  0
       return ret;
 61  
    }
 62  
    
 63  
    public Image loadImage(String resourceID) {
 64  0
       return loadImage(resourceID, this); 
 65  
    }
 66  
    
 67  
    public Image loadImage(String resourceID, Object source) {
 68  0
       Class base = null;
 69  0
       if (null == source) {
 70  0
          base = this.getClass();
 71  0
       } else {
 72  0
          base = source.getClass();
 73  
       }
 74  0
       URL url = base.getResource(resourceID);
 75  0
       Image ret = null;
 76  0
       if (url == null) {
 77  0
          url = this.getClass().getResource(resourceID);
 78  0
          if (url == null) {
 79  0
             throw new IllegalArgumentException(resourceID + " is not a valid resource identifier");
 80  
          }
 81  
       }
 82  0
       ret = loadImage(url);
 83  0
       return ret;
 84  
    }
 85  
    
 86  
 }

This report is generated by jcoverage, Maven and Maven JCoverage Plugin.