01: /*
02: * Copyright 2000,2005 wingS development team.
03: *
04: * This file is part of wingS (http://wingsframework.org).
05: *
06: * wingS is free software; you can redistribute it and/or modify
07: * it under the terms of the GNU Lesser General Public License
08: * as published by the Free Software Foundation; either version 2.1
09: * of the License, or (at your option) any later version.
10: *
11: * Please see COPYING for the complete licence.
12: */
13: package org.wings.externalizer;
14:
15: import java.awt.*;
16: import java.util.Collection;
17:
18: import org.wings.io.Device;
19: import org.wings.resource.HttpHeader;
20:
21: import javax.swing.*;
22:
23: /**
24: * @author <a href="mailto:haaf@mercatis.de">Armin Haaf</a>
25: * @author <a href="mailto:mreinsch@to.com">Michael Reinsch</a>
26: */
27: public class ImageIconExternalizer implements Externalizer<ImageIcon> {
28: ImageExternalizer delegate;
29:
30: private static final Class[] SUPPORTED_CLASSES = { ImageIcon.class };
31:
32: public static final ImageIconExternalizer SHARED_GIF_INSTANCE = new ImageIconExternalizer(
33: ImageExternalizer.FORMAT_GIF);
34: public static final ImageIconExternalizer SHARED_PNG_INSTANCE = new ImageIconExternalizer(
35: ImageExternalizer.FORMAT_PNG);
36: public static final ImageIconExternalizer SHARED_JPG_INSTANCE = new ImageIconExternalizer(
37: ImageExternalizer.FORMAT_JPG);
38:
39: public ImageIconExternalizer() {
40: delegate = new ImageExternalizer();
41: }
42:
43: public ImageIconExternalizer(String format) {
44: delegate = new ImageExternalizer(format);
45: }
46:
47: public Class[] getSupportedClasses() {
48: return SUPPORTED_CLASSES;
49: }
50:
51: public String[] getSupportedMimeTypes() {
52: return delegate.getSupportedMimeTypes();
53: }
54:
55: public Collection<HttpHeader> getHeaders(ImageIcon obj) {
56: return delegate.getHeaders(obj.getImage());
57: }
58:
59: public String getId(ImageIcon obj) {
60: return delegate.getId(obj.getImage());
61: }
62:
63: public String getExtension(ImageIcon obj) {
64: return delegate.getExtension(obj.getImage());
65: }
66:
67: public String getMimeType(ImageIcon obj) {
68: return delegate.getMimeType(obj.getImage());
69: }
70:
71: public int getLength(ImageIcon obj) {
72: return delegate.getLength(obj.getImage());
73: }
74:
75: public boolean isFinal(ImageIcon obj) {
76: return false;
77: }
78:
79: public void write(Object obj, Device out)
80: throws java.io.IOException {
81: delegate.write(((ImageIcon) obj).getImage(), out);
82: }
83: }
|