001/* MediaSizeName.java --
002   Copyright (C) 2004, 2005 Free Software Foundation, Inc.
003
004This file is part of GNU Classpath.
005
006GNU Classpath is free software; you can redistribute it and/or modify
007it under the terms of the GNU General Public License as published by
008the Free Software Foundation; either version 2, or (at your option)
009any later version.
010
011GNU Classpath is distributed in the hope that it will be useful, but
012WITHOUT ANY WARRANTY; without even the implied warranty of
013MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
014General Public License for more details.
015
016You should have received a copy of the GNU General Public License
017along with GNU Classpath; see the file COPYING.  If not, write to the
018Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
01902110-1301 USA.
020
021Linking this library statically or dynamically with other modules is
022making a combined work based on this library.  Thus, the terms and
023conditions of the GNU General Public License cover the whole
024combination.
025
026As a special exception, the copyright holders of this library give you
027permission to link this library with independent modules to produce an
028executable, regardless of the license terms of these independent
029modules, and to copy and distribute the resulting executable under
030terms of your choice, provided that you also meet, for each linked
031independent module, the terms and conditions of the license of that
032module.  An independent module is a module which is not derived from
033or based on this library.  If you modify this library, you may extend
034this exception to your version of the library, but you are not
035obligated to do so.  If you do not wish to do so, delete this
036exception statement from your version. */
037
038package javax.print.attribute.standard;
039
040import javax.print.attribute.EnumSyntax;
041
042/**
043 * <code>MediaSizeName</code> is a subclass of the <code>Media</code> printing 
044 * attribute and provides selection of media to be used by the means of 
045 * defined size names. The class pre-defines commonly available media sizes. 
046 * This media type enumeration may be used in alternative to 
047 * MediaName/MediaTray.
048 * <p>
049 * <b>IPP Compatibility:</b> MediaSizeName is not an IPP 1.1 attribute on its 
050 * own. It provides parts of the <code>media</code> attribute type values.
051 * </p>
052 * 
053 * @author Michael Koch (konqueror@gmx.de)
054 * @author Wolfgang Baer (WBaer@gmx.de)
055 */
056public class MediaSizeName extends Media
057{
058  private static final long serialVersionUID = 2778798329756942747L;
059
060  /**
061   * The ISO A0 size: 841 mm by 1189 mm.
062   */
063  public static final MediaSizeName ISO_A0 = new MediaSizeName(0);
064  
065  /**
066   * The ISO A1 size: 594 mm by 841 mm.
067   */
068  public static final MediaSizeName ISO_A1 = new MediaSizeName(1);
069  
070  /**
071   * The ISO A2 size: 420 mm by 594 mm.
072   */
073  public static final MediaSizeName ISO_A2 = new MediaSizeName(2);
074  
075  /**
076   * The ISO A3 size: 297 mm by 420 mm.
077   */
078  public static final MediaSizeName ISO_A3 = new MediaSizeName(3);
079  
080  /**
081   * The ISO A4 size: 210 mm by 297 mm.
082   */
083  public static final MediaSizeName ISO_A4 = new MediaSizeName(4);
084  
085  /**
086   * The ISO A5 size: 148 mm by 210 mm.
087   */
088  public static final MediaSizeName ISO_A5 = new MediaSizeName(5);
089  
090  /**
091   * The ISO A6 size: 105 mm by 148 mm.
092   */
093  public static final MediaSizeName ISO_A6 = new MediaSizeName(6);
094  
095  /**
096   * The ISO A7 size: 74 mm by 105 mm.
097   */
098  public static final MediaSizeName ISO_A7 = new MediaSizeName(7);
099  
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   */
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   */
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   */
493  protected EnumSyntax[] getEnumValueTable()
494  {
495    return enumValueTable;
496  }
497}