1 /* MediaSizeName.java --
2    Copyright (C) 2004, 2005 Free Software Foundation, Inc.
3 
4 This file is part of GNU Classpath.
5 
6 GNU Classpath is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 2, or (at your option)
9 any later version.
10 
11 GNU Classpath is distributed in the hope that it will be useful, but
12 WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14 General Public License for more details.
15 
16 You should have received a copy of the GNU General Public License
17 along with GNU Classpath; see the file COPYING.  If not, write to the
18 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
19 02110-1301 USA.
20 
21 Linking this library statically or dynamically with other modules is
22 making a combined work based on this library.  Thus, the terms and
23 conditions of the GNU General Public License cover the whole
24 combination.
25 
26 As a special exception, the copyright holders of this library give you
27 permission to link this library with independent modules to produce an
28 executable, regardless of the license terms of these independent
29 modules, and to copy and distribute the resulting executable under
30 terms of your choice, provided that you also meet, for each linked
31 independent module, the terms and conditions of the license of that
32 module.  An independent module is a module which is not derived from
33 or based on this library.  If you modify this library, you may extend
34 this exception to your version of the library, but you are not
35 obligated to do so.  If you do not wish to do so, delete this
36 exception statement from your version. */
37 
38 package javax.print.attribute.standard;
39 
40 import javax.print.attribute.EnumSyntax;
41 
42 /**
43  * <code>MediaSizeName</code> is a subclass of the <code>Media</code> printing
44  * attribute and provides selection of media to be used by the means of
45  * defined size names. The class pre-defines commonly available media sizes.
46  * This media type enumeration may be used in alternative to
47  * MediaName/MediaTray.
48  * <p>
49  * <b>IPP Compatibility:</b> MediaSizeName is not an IPP 1.1 attribute on its
50  * own. It provides parts of the <code>media</code> attribute type values.
51  * </p>
52  *
53  * @author Michael Koch (konqueror@gmx.de)
54  * @author Wolfgang Baer (WBaer@gmx.de)
55  */
56 public class MediaSizeName extends Media
57 {
58   private static final long serialVersionUID = 2778798329756942747L;
59 
60   /**
61    * The ISO A0 size: 841 mm by 1189 mm.
62    */
63   public static final MediaSizeName ISO_A0 = new MediaSizeName(0);
64 
65   /**
66    * The ISO A1 size: 594 mm by 841 mm.
67    */
68   public static final MediaSizeName ISO_A1 = new MediaSizeName(1);
69 
70   /**
71    * The ISO A2 size: 420 mm by 594 mm.
72    */
73   public static final MediaSizeName ISO_A2 = new MediaSizeName(2);
74 
75   /**
76    * The ISO A3 size: 297 mm by 420 mm.
77    */
78   public static final MediaSizeName ISO_A3 = new MediaSizeName(3);
79 
80   /**
81    * The ISO A4 size: 210 mm by 297 mm.
82    */
83   public static final MediaSizeName ISO_A4 = new MediaSizeName(4);
84 
85   /**
86    * The ISO A5 size: 148 mm by 210 mm.
87    */
88   public static final MediaSizeName ISO_A5 = new MediaSizeName(5);
89 
90   /**
91    * The ISO A6 size: 105 mm by 148 mm.
92    */
93   public static final MediaSizeName ISO_A6 = new MediaSizeName(6);
94 
95   /**
96    * The ISO A7 size: 74 mm by 105 mm.
97    */
98   public static final MediaSizeName ISO_A7 = new MediaSizeName(7);
99 
100   /**
101    * The ISO A8 size: 52 mm by 74 mm.
102    */
103   public static final MediaSizeName ISO_A8 = new MediaSizeName(8);
104 
105   /**
106    * The ISO A9 size: 37 mm by 52 mm.
107    */
108   public static final MediaSizeName ISO_A9 = new MediaSizeName(9);
109 
110   /**
111    * The ISO A10 size: 26 mm by 37 mm.
112    */
113   public static final MediaSizeName ISO_A10 = new MediaSizeName(10);
114 
115   /**
116    * The ISO B0 size: 1000 mm by 1414 mm.
117    */
118   public static final MediaSizeName ISO_B0 = new MediaSizeName(11);
119 
120   /**
121    * The ISO B1 size: 707 mm by 1000 mm.
122    */
123   public static final MediaSizeName ISO_B1 = new MediaSizeName(12);
124 
125   /**
126    * The ISO B2 size: 500 mm by 707 mm.
127    */
128   public static final MediaSizeName ISO_B2 = new MediaSizeName(13);
129 
130   /**
131    * The ISO B3 size: 353 mm by 500 mm.
132    */
133   public static final MediaSizeName ISO_B3 = new MediaSizeName(14);
134 
135   /**
136    * The ISO B4 size: 250 mm by 353 mm.
137    */
138   public static final MediaSizeName ISO_B4 = new MediaSizeName(15);
139 
140   /**
141    * The ISO B5 size: 176 mm by 250 mm.
142    */
143   public static final MediaSizeName ISO_B5 = new MediaSizeName(16);
144 
145   /**
146    * The ISO B6 size: 125 mm by 176 mm.
147    */
148   public static final MediaSizeName ISO_B6 = new MediaSizeName(17);
149 
150   /**
151    * The ISO B7 size: 88 mm by 125 mm.
152    */
153   public static final MediaSizeName ISO_B7 = new MediaSizeName(18);
154 
155   /**
156    * The ISO B8 size: 62 mm by 88 mm.
157    */
158   public static final MediaSizeName ISO_B8 = new MediaSizeName(19);
159 
160   /**
161    * The ISO B9 size: 44 mm by 62 mm.
162    */
163   public static final MediaSizeName ISO_B9 = new MediaSizeName(20);
164 
165   /**
166    * The ISO B10 size: 31 mm by 44 mm.
167    */
168   public static final MediaSizeName ISO_B10 = new MediaSizeName(21);
169 
170   /**
171    * The JIS B0 size: 1030mm x 1456mm.
172    */
173   public static final MediaSizeName JIS_B0 = new MediaSizeName(22);
174 
175   /**
176    * The JIS B1 size: 728mm x 1030mm.
177    */
178   public static final MediaSizeName JIS_B1 = new MediaSizeName(23);
179 
180   /**
181    * The JIS B2 size: 515mm x 728mm.
182    */
183   public static final MediaSizeName JIS_B2 = new MediaSizeName(24);
184 
185   /**
186    * The JIS B3 size: 364mm x 515mm.
187    */
188   public static final MediaSizeName JIS_B3 = new MediaSizeName(25);
189 
190   /**
191    * The JIS B4 size: 257mm x 364mm.
192    */
193   public static final MediaSizeName JIS_B4 = new MediaSizeName(26);
194 
195   /**
196    * The JIS B5 size: 182mm x 257mm.
197    */
198   public static final MediaSizeName JIS_B5 = new MediaSizeName(27);
199 
200   /**
201    * The JIS B6 size: 128mm x 182mm.
202    */
203   public static final MediaSizeName JIS_B6 = new MediaSizeName(28);
204 
205   /**
206    * The JIS B7 size: 91mm x 128mm.
207    */
208   public static final MediaSizeName JIS_B7 = new MediaSizeName(29);
209 
210   /**
211    * The JIS B8 size: 64mm x 91mm.
212    */
213   public static final MediaSizeName JIS_B8 = new MediaSizeName(30);
214 
215   /**
216    * The JIS B9 size: 45mm x 64mm.
217    */
218   public static final MediaSizeName JIS_B9 = new MediaSizeName(31);
219 
220   /**
221    * The JIS B10 size: 32mm x 45mm.
222    */
223   public static final MediaSizeName JIS_B10 = new MediaSizeName(32);
224 
225   /**
226    * The ISO C0 size: 917 mm by 1297 mm.
227    */
228   public static final MediaSizeName ISO_C0 = new MediaSizeName(33);
229 
230   /**
231    * The ISO C1 size: 648 mm by 917 mm.
232    */
233   public static final MediaSizeName ISO_C1 = new MediaSizeName(34);
234 
235   /**
236    * The ISO C2 size: 458 mm by 648 mm.
237    */
238   public static final MediaSizeName ISO_C2 = new MediaSizeName(35);
239 
240   /**
241    * The ISO C3 size: 324 mm by 458 mm.
242    */
243   public static final MediaSizeName ISO_C3 = new MediaSizeName(36);
244 
245   /**
246    * The ISO C4 size: 229 mm by 324 mm.
247    */
248   public static final MediaSizeName ISO_C4 = new MediaSizeName(37);
249 
250   /**
251    * The ISO C5 size: 162 mm by 229 mm.
252    */
253   public static final MediaSizeName ISO_C5 = new MediaSizeName(38);
254 
255   /**
256    * The ISO C6 size: 114 mm by 162 mm.
257    */
258   public static final MediaSizeName ISO_C6 = new MediaSizeName(39);
259 
260   /**
261    * The North American letter size: 8.5 inches by 11 inches.
262    */
263   public static final MediaSizeName NA_LETTER = new MediaSizeName(40);
264 
265   /**
266    * The North American legal size: 8.5 inches by 14 inches.
267    */
268   public static final MediaSizeName NA_LEGAL = new MediaSizeName(41);
269 
270   /**
271    * The executive size: 7.25 inches by 10.5 inches.
272    */
273   public static final MediaSizeName EXECUTIVE = new MediaSizeName(42);
274 
275   /**
276    * The ledger size: 11 inches by 17 inches.
277    */
278   public static final MediaSizeName LEDGER = new MediaSizeName(43);
279 
280   /**
281    * The tabloid size: 11 inches by 17 inches.
282    */
283   public static final MediaSizeName TABLOID = new MediaSizeName(44);
284 
285   /**
286    * The invoice size: 5.5 inches by 8.5 inches.
287    */
288   public static final MediaSizeName INVOICE = new MediaSizeName(45);
289 
290   /**
291    * The folio size: 8.5 inches by 13 inches.
292    */
293   public static final MediaSizeName FOLIO = new MediaSizeName(46);
294 
295   /**
296    * The quarto size: 8.5 inches by 10.83 inches.
297    */
298   public static final MediaSizeName QUARTO = new MediaSizeName(47);
299 
300   /**
301    * The Japanese postcard size, 100 mm by 148 mm.
302    */
303   public static final MediaSizeName JAPANESE_POSTCARD = new MediaSizeName(48);
304 
305   /**
306    * The Japanese Double postcard size: 148 mm by 200 mm.
307    */
308   public static final MediaSizeName JAPANESE_DOUBLE_POSTCARD =
309     new MediaSizeName(49);
310 
311   /**
312    * The engineering ANSI A size medium: 8.5 inches x 11 inches.
313    */
314   public static final MediaSizeName A = new MediaSizeName(50);
315 
316   /**
317    * The engineering ANSI B size medium: 11 inches x 17 inches.
318    */
319   public static final MediaSizeName B = new MediaSizeName(51);
320 
321   /**
322    * The engineering ANSI C size medium: 17 inches x 22 inches.
323    */
324   public static final MediaSizeName C = new MediaSizeName(52);
325 
326   /**
327    * The engineering ANSI D size medium: 22 inches x 34 inches.
328    */
329   public static final MediaSizeName D = new MediaSizeName(53);
330 
331   /**
332    * The engineering ANSI E size medium: 34 inches x 44 inches.
333    */
334   public static final MediaSizeName E = new MediaSizeName(54);
335 
336   /**
337    * The ISO Designated Long size: 110 mm by 220 mm.
338    */
339   public static final MediaSizeName ISO_DESIGNATED_LONG =
340     new MediaSizeName(55);
341 
342   /**
343    * The Italy envelope size: 110 mm by 230 mm.
344    */
345   public static final MediaSizeName ITALY_ENVELOPE = new MediaSizeName(56);
346 
347   /**
348    * The Monarch envelope size: 3.87 inch by 7.5 inch.
349    */
350   public static final MediaSizeName MONARCH_ENVELOPE = new MediaSizeName(57);
351 
352   /**
353    * The Personal envelope size: 3.625 inch by 6.5 inch.
354    */
355   public static final MediaSizeName PERSONAL_ENVELOPE = new MediaSizeName(58);
356 
357   /**
358    * The North American number 9 business envelope size:
359    * 3.875 inches by 8.875 inches.
360    */
361   public static final MediaSizeName NA_NUMBER_9_ENVELOPE =
362     new MediaSizeName(59);
363 
364   /**
365    * The North American number 10 business envelope size:
366    * 4.125 inches by 9.5 inches.
367    */
368   public static final MediaSizeName NA_NUMBER_10_ENVELOPE =
369     new MediaSizeName(60);
370 
371   /**
372    * The North American number 11 business envelope size:
373    * 4.5 inches by 10.375 inches.
374    */
375   public static final MediaSizeName NA_NUMBER_11_ENVELOPE =
376     new MediaSizeName(61);
377 
378   /**
379    * The North American number 12 business envelope size:
380    * 4.75 inches by 11 inches.
381    */
382   public static final MediaSizeName NA_NUMBER_12_ENVELOPE =
383     new MediaSizeName(62);
384 
385   /**
386    * The North American number 14 business envelope size:
387    * 5 inches by 11.5 inches.
388    */
389   public static final MediaSizeName NA_NUMBER_14_ENVELOPE =
390     new MediaSizeName(63);
391 
392   /**
393    * The North American 6x9 inch envelope size.
394    */
395   public static final MediaSizeName NA_6X9_ENVELOPE = new MediaSizeName(64);
396 
397   /**
398    * The North American 7x9 inch envelope size.
399    */
400   public static final MediaSizeName NA_7X9_ENVELOPE = new MediaSizeName(65);
401 
402   /**
403    * The North American 9x11 inch envelope size.
404    */
405   public static final MediaSizeName NA_9X11_ENVELOPE = new MediaSizeName(66);
406 
407   /**
408    * The North American 9x12 inch envelope size.
409    */
410   public static final MediaSizeName NA_9X12_ENVELOPE = new MediaSizeName(67);
411 
412   /**
413    * The North American 10x13 inch envelope size.
414    */
415   public static final MediaSizeName NA_10X13_ENVELOPE = new MediaSizeName(68);
416 
417   /**
418    * The North American 10x14 inch envelope size.
419    */
420   public static final MediaSizeName NA_10X14_ENVELOPE = new MediaSizeName(69);
421 
422   /**
423    * The North American 10x15 inch envelope size.
424    */
425   public static final MediaSizeName NA_10X15_ENVELOPE = new MediaSizeName(70);
426 
427   /**
428    * The North American 5 inches by 7 inches.
429    */
430   public static final MediaSizeName NA_5X7 = new MediaSizeName(71);
431 
432   /**
433    * The North American 8 inches by 10 inches.
434    */
435   public static final MediaSizeName NA_8X10 = new MediaSizeName(72);
436 
437   private static final String[] stringTable =
438     { "iso-a0",  "iso-a1", "iso-a2", "iso-a3", "iso-a4", "iso-a5", "iso-a6",
439       "iso-a7", "iso-a8", "iso-a9", "iso-a10", "iso-b0", "iso-b1", "iso-b2",
440       "iso-b3", "iso-b4", "iso-b5", "iso-b6", "iso-b7", "iso-b8", "iso-b9",
441       "iso-b10", "jis-b0", "jis-b1", "jis-b2", "jis-b3", "jis-b4", "jis-b5",
442       "jis-b6", "jis-b7", "jis-b8", "jis-b9", "jis-b10", "iso-c0", "iso-c1",
443       "iso-c2", "iso-c3", "iso-c4", "iso-c5", "iso-c6", "na-letter",
444       "na-legal", "executive", "ledger", "tabloid", "invoice", "folio",
445       "quarto", "japanese-postcard", "oufuko-postcard", "a", "b", "c", "d",
446       "e", "iso-designated-long", "italian-envelope", "monarch-envelope",
447       "personal-envelope", "na-number-9-envelope", "na-number-10-envelope",
448       "na-number-11-envelope", "na-number-12-envelope",
449       "na-number-14-envelope", "na-6x9-envelope", "na-7x9-envelope",
450       "na-9x11-envelope", "na-9x12-envelope", "na-10x13-envelope",
451       "na-10x14-envelope", "na-10x15-envelope", "na-5x7", "na-8x10" };
452 
453   private static final MediaSizeName[] enumValueTable =
454     { ISO_A0, ISO_A1, ISO_A2, ISO_A3, ISO_A4, ISO_A5, ISO_A6, ISO_A7, ISO_A8,
455       ISO_A9, ISO_A10, ISO_B0, ISO_B1, ISO_B2, ISO_B3, ISO_B4, ISO_B5, ISO_B6,
456       ISO_B7, ISO_B8, ISO_B9, ISO_B10, JIS_B0, JIS_B1, JIS_B2, JIS_B3, JIS_B4,
457       JIS_B5, JIS_B6, JIS_B7, JIS_B8, JIS_B9, JIS_B10, ISO_C0, ISO_C1, ISO_C2,
458       ISO_C3, ISO_C4, ISO_C5, ISO_C6, NA_LETTER, NA_LEGAL, EXECUTIVE, LEDGER,
459       TABLOID, INVOICE, FOLIO, QUARTO, JAPANESE_POSTCARD,
460       JAPANESE_DOUBLE_POSTCARD, A, B, C, D, E, ISO_DESIGNATED_LONG,
461       ITALY_ENVELOPE, MONARCH_ENVELOPE, PERSONAL_ENVELOPE,
462       NA_NUMBER_9_ENVELOPE, NA_NUMBER_10_ENVELOPE, NA_NUMBER_11_ENVELOPE,
463       NA_NUMBER_12_ENVELOPE, NA_NUMBER_14_ENVELOPE, NA_6X9_ENVELOPE,
464       NA_7X9_ENVELOPE, NA_9X11_ENVELOPE, NA_9X12_ENVELOPE, NA_10X13_ENVELOPE,
465       NA_10X14_ENVELOPE, NA_10X15_ENVELOPE, NA_5X7, NA_8X10 };
466 
467   /**
468    * Constructs a <code>MediaSizeName</code> object.
469    *
470    * @param value the enum value.
471    */
MediaSizeName(int value)472   protected MediaSizeName(int value)
473   {
474     super(value);
475   }
476 
477   /**
478    * Returns a table with the enumeration values represented as strings
479    * for this object.
480    *
481    * @return The enumeration values as strings.
482    */
getStringTable()483   protected String[] getStringTable()
484   {
485     return stringTable;
486   }
487 
488   /**
489    * Returns a table with the enumeration values for this object.
490    *
491    * @return The enumeration values.
492    */
getEnumValueTable()493   protected EnumSyntax[] getEnumValueTable()
494   {
495     return enumValueTable;
496   }
497 }
498