Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.

ImageLoader.java 1017B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. /*
  2. * $Id$
  3. * Copyright (C) 2001 The Apache Software Foundation. All rights reserved.
  4. * For details on use and redistribution please refer to the
  5. * LICENSE file included with these sources.
  6. */
  7. package org.apache.fop.image;
  8. import org.apache.fop.configuration.Configuration;
  9. import org.apache.fop.fo.FOUserAgent;
  10. /**
  11. * Class to load images.
  12. */
  13. class ImageLoader {
  14. String url;
  15. ImageCache cache;
  16. boolean valid = true;
  17. FOUserAgent userAgent;
  18. FopImage image = null;
  19. public ImageLoader(String u, ImageCache c, FOUserAgent ua) {
  20. url = u;
  21. cache = c;
  22. userAgent = ua;
  23. }
  24. public synchronized FopImage loadImage() {
  25. if (!valid || image != null) {
  26. return image;
  27. }
  28. String base = Configuration.getStringValue("baseDir");
  29. image = ImageFactory.loadImage(url, base, userAgent);
  30. if (image == null) {
  31. cache.invalidateImage(url, userAgent);
  32. valid = false;
  33. }
  34. return image;
  35. }
  36. }