01: /*
02: * $RCSfile: RawImageWriterSpi.java,v $
03: *
04: *
05: * Copyright (c) 2005 Sun Microsystems, Inc. All Rights Reserved.
06: *
07: * Redistribution and use in source and binary forms, with or without
08: * modification, are permitted provided that the following conditions
09: * are met:
10: *
11: * - Redistribution of source code must retain the above copyright
12: * notice, this list of conditions and the following disclaimer.
13: *
14: * - Redistribution in binary form must reproduce the above copyright
15: * notice, this list of conditions and the following disclaimer in
16: * the documentation and/or other materials provided with the
17: * distribution.
18: *
19: * Neither the name of Sun Microsystems, Inc. or the names of
20: * contributors may be used to endorse or promote products derived
21: * from this software without specific prior written permission.
22: *
23: * This software is provided "AS IS," without a warranty of any
24: * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
25: * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
26: * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
27: * EXCLUDED. SUN MIDROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
28: * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
29: * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
30: * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
31: * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
32: * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
33: * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
34: * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
35: * POSSIBILITY OF SUCH DAMAGES.
36: *
37: * You acknowledge that this software is not designed or intended for
38: * use in the design, construction, operation or maintenance of any
39: * nuclear facility.
40: *
41: * $Revision: 1.2 $
42: * $Date: 2006/03/31 19:43:40 $
43: * $State: Exp $
44: */
45: package com.sun.media.imageioimpl.plugins.raw;
46:
47: import java.awt.image.DataBuffer;
48:
49: import javax.imageio.spi.ImageWriterSpi;
50: import javax.imageio.spi.ServiceRegistry;
51: import javax.imageio.spi.IIORegistry;
52: import javax.imageio.ImageWriter;
53: import javax.imageio.ImageTypeSpecifier;
54: import javax.imageio.IIOException;
55: import java.util.Locale;
56: import com.sun.media.imageioimpl.common.PackageUtil;
57:
58: public class RawImageWriterSpi extends ImageWriterSpi {
59: private static String[] readerSpiNames = { "com.sun.media.imageioimpl.plugins.raw.RawImageReaderSpi" };
60: private static String[] formatNames = { "raw", "RAW" };
61: private static String[] entensions = { "" };
62: private static String[] mimeType = { "" };
63:
64: private boolean registered = false;
65:
66: public RawImageWriterSpi() {
67: super (PackageUtil.getVendor(), PackageUtil.getVersion(),
68: formatNames, entensions, mimeType,
69: "com.sun.media.imageioimpl.plugins.raw.RawImageWriter",
70: STANDARD_OUTPUT_TYPE, readerSpiNames, true, null, null,
71: null, null, true, null, null, null, null);
72: }
73:
74: public String getDescription(Locale locale) {
75: String desc = PackageUtil.getSpecificationTitle()
76: + " Raw Image Writer";
77: return desc;
78: }
79:
80: public void onRegistration(ServiceRegistry registry, Class category) {
81: if (registered) {
82: return;
83: }
84:
85: registered = true;
86: }
87:
88: public boolean canEncodeImage(ImageTypeSpecifier type) {
89: return true;
90: }
91:
92: public ImageWriter createWriterInstance(Object extension)
93: throws IIOException {
94: return new RawImageWriter(this);
95: }
96: }
|