001 /**
002 * Licensed to the Apache Software Foundation (ASF) under one or more
003 * contributor license agreements. See the NOTICE file distributed with
004 * this work for additional information regarding copyright ownership.
005 * The ASF licenses this file to You under the Apache License, Version 2.0
006 * (the "License"); you may not use this file except in compliance with
007 * the License. You may obtain a copy of the License at
008 *
009 * http://www.apache.org/licenses/LICENSE-2.0
010 *
011 * Unless required by applicable law or agreed to in writing, software
012 * distributed under the License is distributed on an "AS IS" BASIS,
013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
014 * See the License for the specific language governing permissions and
015 * limitations under the License.
016 */
017 package org.apache.camel.component.printer;
018
019 import javax.print.DocFlavor;
020
021 public class DocFlavorAssigner {
022 private DocFlavor d = DocFlavor.BYTE_ARRAY.AUTOSENSE;
023
024 public DocFlavor forMimeTypeAUTOSENSE(String flavor) {
025 if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
026 d = DocFlavor.BYTE_ARRAY.AUTOSENSE;
027 } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
028 d = DocFlavor.INPUT_STREAM.AUTOSENSE;
029 } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
030 d = DocFlavor.URL.AUTOSENSE;
031 }
032
033 return d;
034 }
035
036 public DocFlavor forMimeTypeGIF(String flavor) {
037 if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
038 d = DocFlavor.BYTE_ARRAY.GIF;
039 } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
040 d = DocFlavor.INPUT_STREAM.GIF;
041 } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
042 d = DocFlavor.URL.GIF;
043 }
044
045 return d;
046 }
047
048 public DocFlavor forMimeTypeJPEG(String flavor) {
049 if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
050 d = DocFlavor.BYTE_ARRAY.JPEG;
051 } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
052 d = DocFlavor.INPUT_STREAM.JPEG;
053 } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
054 d = DocFlavor.URL.JPEG;
055 }
056
057 return d;
058 }
059
060 public DocFlavor forMimeTypePDF(String flavor) {
061 if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
062 d = DocFlavor.BYTE_ARRAY.PDF;
063 } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
064 d = DocFlavor.INPUT_STREAM.PDF;
065 } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
066 d = DocFlavor.URL.PDF;
067 }
068
069 return d;
070 }
071
072 public DocFlavor forMimeTypePCL(String flavor) {
073 if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
074 d = DocFlavor.BYTE_ARRAY.PCL;
075 } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
076 d = DocFlavor.INPUT_STREAM.PCL;
077 } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
078 d = DocFlavor.URL.PCL;
079 }
080
081 return d;
082 }
083
084 public DocFlavor forMimeTypePOSTSCRIPT(String flavor) {
085 if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
086 d = DocFlavor.BYTE_ARRAY.POSTSCRIPT;
087 } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
088 d = DocFlavor.INPUT_STREAM.POSTSCRIPT;
089 } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
090 d = DocFlavor.URL.POSTSCRIPT;
091 }
092
093 return d;
094 }
095
096 public DocFlavor forMimeTypeHOST(String flavor, String mimeType) {
097 if (mimeType.equalsIgnoreCase("TEXT_HTML_HOST")) {
098 if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
099 d = DocFlavor.BYTE_ARRAY.TEXT_HTML_HOST;
100 } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
101 d = DocFlavor.INPUT_STREAM.TEXT_HTML_HOST;
102 } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
103 d = DocFlavor.URL.TEXT_HTML_HOST;
104 }
105 } else {
106 if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
107 d = DocFlavor.BYTE_ARRAY.TEXT_PLAIN_HOST;
108 } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
109 d = DocFlavor.INPUT_STREAM.TEXT_PLAIN_HOST;
110 } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
111 d = DocFlavor.URL.TEXT_PLAIN_HOST;
112 }
113 }
114
115 return d;
116 }
117
118 public DocFlavor forMimeTypeUSASCII(String flavor, String mimeType) {
119 if (mimeType.equalsIgnoreCase("TEXT_HTML_US_ASCII")) {
120 if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
121 d = DocFlavor.BYTE_ARRAY.TEXT_HTML_US_ASCII;
122 } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
123 d = DocFlavor.INPUT_STREAM.TEXT_HTML_US_ASCII;
124 } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
125 d = DocFlavor.URL.TEXT_HTML_US_ASCII;
126 }
127 } else {
128 if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
129 d = DocFlavor.BYTE_ARRAY.TEXT_PLAIN_US_ASCII;
130 } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
131 d = DocFlavor.INPUT_STREAM.TEXT_PLAIN_US_ASCII;
132 } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
133 d = DocFlavor.URL.TEXT_PLAIN_US_ASCII;
134 }
135 }
136
137 return d;
138 }
139
140 public DocFlavor forMimeTypeUTF16(String flavor, String mimeType) {
141 if (mimeType.equalsIgnoreCase("TEXT_HTML_UTF_16")) {
142 if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
143 d = DocFlavor.BYTE_ARRAY.TEXT_HTML_UTF_16;
144 } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
145 d = DocFlavor.INPUT_STREAM.TEXT_HTML_UTF_16;
146 } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
147 d = DocFlavor.URL.TEXT_HTML_UTF_16;
148 }
149 } else {
150 if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
151 d = DocFlavor.BYTE_ARRAY.TEXT_PLAIN_UTF_16;
152 } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
153 d = DocFlavor.INPUT_STREAM.TEXT_PLAIN_UTF_16;
154 } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
155 d = DocFlavor.URL.TEXT_PLAIN_UTF_16;
156 }
157 }
158
159 return d;
160 }
161 public DocFlavor forMimeTypeUTF16LE(String flavor, String mimeType) {
162 if (mimeType.equalsIgnoreCase("TEXT_HTML_UTF_16LE")) {
163 if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
164 d = DocFlavor.BYTE_ARRAY.TEXT_HTML_UTF_16LE;
165 } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
166 d = DocFlavor.INPUT_STREAM.TEXT_HTML_UTF_16LE;
167 } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
168 d = DocFlavor.URL.TEXT_HTML_UTF_16LE;
169 }
170 } else {
171 if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
172 d = DocFlavor.BYTE_ARRAY.TEXT_PLAIN_UTF_16LE;
173 } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
174 d = DocFlavor.INPUT_STREAM.TEXT_PLAIN_UTF_16LE;
175 } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
176 d = DocFlavor.URL.TEXT_PLAIN_UTF_16LE;
177 }
178 }
179
180 return d;
181 }
182
183 public DocFlavor forMimeTypeUTF16BE(String flavor, String mimeType) {
184 if (mimeType.equalsIgnoreCase("TEXT_HTML_UTF_16BE")) {
185 if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
186 d = DocFlavor.BYTE_ARRAY.TEXT_HTML_UTF_16BE;
187 } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
188 d = DocFlavor.INPUT_STREAM.TEXT_HTML_UTF_16BE;
189 } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
190 d = DocFlavor.URL.TEXT_HTML_UTF_16BE;
191 }
192 } else {
193 if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
194 d = DocFlavor.BYTE_ARRAY.TEXT_PLAIN_UTF_16BE;
195 } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
196 d = DocFlavor.INPUT_STREAM.TEXT_PLAIN_UTF_16BE;
197 } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
198 d = DocFlavor.URL.TEXT_PLAIN_UTF_16BE;
199 }
200 }
201
202 return d;
203 }
204
205 public DocFlavor forMimeTypeUTF8(String flavor, String mimeType) {
206 if (mimeType.equalsIgnoreCase("TEXT_HTML_UTF_16BE")) {
207 if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
208 d = DocFlavor.BYTE_ARRAY.TEXT_HTML_UTF_8;
209 } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
210 d = DocFlavor.INPUT_STREAM.TEXT_HTML_UTF_8;
211 } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
212 d = DocFlavor.URL.TEXT_HTML_UTF_8;
213 }
214 } else {
215 if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
216 d = DocFlavor.BYTE_ARRAY.TEXT_PLAIN_UTF_8;
217 } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
218 d = DocFlavor.INPUT_STREAM.TEXT_PLAIN_UTF_8;
219 } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
220 d = DocFlavor.URL.TEXT_PLAIN_UTF_8;
221 }
222 }
223
224 return d;
225 }
226
227 public DocFlavor forMimeTypeBasic(String flavor, String mimeType) {
228 if (mimeType.equalsIgnoreCase("TEXT_HTML_UTF_16BE")) {
229 if (flavor.equalsIgnoreCase("DocFlavor.CHAR_ARRAY")) {
230 d = DocFlavor.CHAR_ARRAY.TEXT_HTML;
231 } else if (flavor.equalsIgnoreCase("DocFlavor.READER")) {
232 d = DocFlavor.READER.TEXT_HTML;
233 } else if (flavor.equalsIgnoreCase("DocFlavor.STRING")) {
234 d = DocFlavor.STRING.TEXT_HTML;
235 }
236 } else {
237 if (flavor.equalsIgnoreCase("DocFlavor.CHAR_ARRAY")) {
238 d = DocFlavor.CHAR_ARRAY.TEXT_PLAIN;
239 } else if (flavor.equalsIgnoreCase("DocFlavor.READER")) {
240 d = DocFlavor.READER.TEXT_PLAIN;
241 } else if (flavor.equalsIgnoreCase("DocFlavor.STRING")) {
242 d = DocFlavor.STRING.TEXT_PLAIN;
243 }
244 }
245
246 return d;
247 }
248
249 public DocFlavor forMimeTypePAGEABLE(String flavor) {
250 return d = DocFlavor.SERVICE_FORMATTED.PAGEABLE;
251 }
252
253 public DocFlavor forMimeTypePRINTABLE(String flavor) {
254 return d = DocFlavor.SERVICE_FORMATTED.PRINTABLE;
255 }
256
257 public DocFlavor forMimeTypeRENDERABLEIMAGE(String flavor) {
258 return d = DocFlavor.SERVICE_FORMATTED.RENDERABLE_IMAGE;
259 }
260 }