1 /*
   2  * Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.
   3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   4  *
   5  * This code is free software; you can redistribute it and/or modify it
   6  * under the terms of the GNU General Public License version 2 only, as
   7  * published by the Free Software Foundation.  Oracle designates this
   8  * particular file as subject to the "Classpath" exception as provided
   9  * by Oracle in the LICENSE file that accompanied this code.
  10  *
  11  * This code is distributed in the hope that it will be useful, but WITHOUT
  12  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  13  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  14  * version 2 for more details (a copy is included in the LICENSE file that
  15  * accompanied this code).
  16  *
  17  * You should have received a copy of the GNU General Public License version
  18  * 2 along with this work; if not, write to the Free Software Foundation,
  19  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  20  *
  21  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  22  * or visit www.oracle.com if you need additional information or have any
  23  * questions.
  24  */
  25 package javax.print.attribute.standard;
  26 
  27 import java.util.Locale;
  28 
  29 import javax.print.attribute.EnumSyntax;
  30 import javax.print.attribute.Attribute;
  31 
  32 /**
  33  * Class MediaSizeName is a subclass of Media.
  34  * <P>
  35  * This attribute can be used instead of specifying MediaName or MediaTray.
  36  * <p>
  37  * Class MediaSizeName currently declares a few standard media
  38  * name values.
  39  * <P>
  40  * <B>IPP Compatibility:</B> MediaSizeName is a representation class for
  41  * values of the IPP "media" attribute which names media sizes.
  42  * The names of the media sizes correspond to those in the IPP 1.1 RFC
  43  * <a HREF="http://www.ietf.org/rfc/rfc2911.txt">RFC 2911</a>
  44  *
  45  */
  46 public class MediaSizeName extends Media {
  47 
  48     private static final long serialVersionUID = 2778798329756942747L;
  49 
  50     /**
  51      * A0 size.
  52      */
  53     public static final MediaSizeName ISO_A0 = new MediaSizeName(0);
  54     /**
  55      * A1 size.
  56      */
  57     public static final MediaSizeName ISO_A1 = new MediaSizeName(1);
  58     /**
  59      * A2 size.
  60      */
  61     public static final MediaSizeName ISO_A2 = new MediaSizeName(2);
  62     /**
  63      * A3 size.
  64      */
  65     public static final MediaSizeName ISO_A3 = new MediaSizeName(3);
  66     /**
  67      * A4 size.
  68      */
  69     public static final MediaSizeName ISO_A4 = new MediaSizeName(4);
  70     /**
  71      * A5 size.
  72      */
  73     public static final MediaSizeName ISO_A5 = new MediaSizeName(5);
  74     /**
  75      * A6 size.
  76      */
  77     public static final MediaSizeName ISO_A6 = new MediaSizeName(6);
  78     /**
  79      * A7 size.
  80      */
  81     public static final MediaSizeName ISO_A7 = new MediaSizeName(7);
  82     /**
  83      * A8 size.
  84      */
  85     public static final MediaSizeName ISO_A8 = new MediaSizeName(8);
  86     /**
  87      * A9 size.
  88      */
  89     public static final MediaSizeName ISO_A9 = new MediaSizeName(9);
  90     /**
  91      * A10 size.
  92      */
  93     public static final MediaSizeName ISO_A10 = new MediaSizeName(10);
  94 
  95    /**
  96      * ISO B0 size.
  97      */
  98     public static final MediaSizeName ISO_B0 = new MediaSizeName(11);
  99     /**
 100      * ISO B1 size.
 101      */
 102     public static final MediaSizeName ISO_B1 = new MediaSizeName(12);
 103     /**
 104      * ISO B2 size.
 105      */
 106     public static final MediaSizeName ISO_B2 = new MediaSizeName(13);
 107     /**
 108      * ISO B3 size.
 109      */
 110     public static final MediaSizeName ISO_B3 = new MediaSizeName(14);
 111     /**
 112      * ISO B4 size.
 113      */
 114     public static final MediaSizeName ISO_B4 = new MediaSizeName(15);
 115     /**
 116      * ISO B5 size.
 117      */
 118     public static final MediaSizeName ISO_B5 = new MediaSizeName(16);
 119     /**
 120      * ISO B6 size.
 121      */
 122     public static final MediaSizeName ISO_B6 = new MediaSizeName(17);
 123     /**
 124      * ISO B7 size.
 125      */
 126     public static final MediaSizeName ISO_B7 = new MediaSizeName(18);
 127     /**
 128      * ISO B8 size.
 129      */
 130     public static final MediaSizeName ISO_B8 = new MediaSizeName(19);
 131     /**
 132      * ISO B9 size.
 133      */
 134     public static final MediaSizeName ISO_B9 = new MediaSizeName(20);
 135     /**
 136      * ISO B10 size.
 137      */
 138     public static final MediaSizeName ISO_B10 = new MediaSizeName(21);
 139 
 140    /**
 141      * JIS B0 size.
 142      */
 143     public static final MediaSizeName JIS_B0 = new MediaSizeName(22);
 144     /**
 145      * JIS B1 size.
 146      */
 147     public static final MediaSizeName JIS_B1 = new MediaSizeName(23);
 148     /**
 149      * JIS B2 size.
 150      */
 151     public static final MediaSizeName JIS_B2 = new MediaSizeName(24);
 152     /**
 153      * JIS B3 size.
 154      */
 155     public static final MediaSizeName JIS_B3 = new MediaSizeName(25);
 156     /**
 157      * JIS B4 size.
 158      */
 159     public static final MediaSizeName JIS_B4 = new MediaSizeName(26);
 160     /**
 161      * JIS B5 size.
 162      */
 163     public static final MediaSizeName JIS_B5 = new MediaSizeName(27);
 164     /**
 165      * JIS B6 size.
 166      */
 167     public static final MediaSizeName JIS_B6 = new MediaSizeName(28);
 168     /**
 169      * JIS B7 size.
 170      */
 171     public static final MediaSizeName JIS_B7 = new MediaSizeName(29);
 172     /**
 173      * JIS B8 size.
 174      */
 175     public static final MediaSizeName JIS_B8 = new MediaSizeName(30);
 176     /**
 177      * JIS B9 size.
 178      */
 179     public static final MediaSizeName JIS_B9 = new MediaSizeName(31);
 180     /**
 181      * JIS B10 size.
 182      */
 183     public static final MediaSizeName JIS_B10 = new MediaSizeName(32);
 184 
 185     /**
 186      * ISO C0 size.
 187      */
 188     public static final MediaSizeName ISO_C0 = new MediaSizeName(33);
 189     /**
 190      * ISO C1 size.
 191      */
 192     public static final MediaSizeName ISO_C1 = new MediaSizeName(34);
 193     /**
 194      * ISO C2 size.
 195      */
 196     public static final MediaSizeName ISO_C2 = new MediaSizeName(35);
 197     /**
 198      * ISO C3 size.
 199      */
 200     public static final MediaSizeName ISO_C3 = new MediaSizeName(36);
 201     /**
 202      * ISO C4 size.
 203      */
 204     public static final MediaSizeName ISO_C4 = new MediaSizeName(37);
 205     /**
 206      * ISO C5 size.
 207      */
 208     public static final MediaSizeName ISO_C5 = new MediaSizeName(38);
 209     /**
 210      *   letter size.
 211      */
 212     public static final MediaSizeName ISO_C6 = new MediaSizeName(39);
 213     /**
 214      *   letter size.
 215      */
 216     public static final MediaSizeName NA_LETTER = new MediaSizeName(40);
 217 
 218     /**
 219      *  legal size .
 220      */
 221     public static final MediaSizeName NA_LEGAL = new MediaSizeName(41);
 222 
 223     /**
 224      *  executive size .
 225      */
 226     public static final MediaSizeName EXECUTIVE = new MediaSizeName(42);
 227 
 228     /**
 229      *  ledger size .
 230      */
 231     public static final MediaSizeName LEDGER = new MediaSizeName(43);
 232 
 233     /**
 234      *  tabloid size .
 235      */
 236     public static final MediaSizeName TABLOID = new MediaSizeName(44);
 237 
 238     /**
 239      *  invoice size .
 240      */
 241     public static final MediaSizeName INVOICE = new MediaSizeName(45);
 242 
 243     /**
 244      *  folio size .
 245      */
 246     public static final MediaSizeName FOLIO = new MediaSizeName(46);
 247 
 248     /**
 249      *  quarto size .
 250      */
 251     public static final MediaSizeName QUARTO = new MediaSizeName(47);
 252 
 253     /**
 254      *  Japanese Postcard size.
 255      */
 256     public static final MediaSizeName
 257         JAPANESE_POSTCARD = new MediaSizeName(48);
 258    /**
 259      *  Japanese Double Postcard size.
 260      */
 261     public static final MediaSizeName
 262         JAPANESE_DOUBLE_POSTCARD = new MediaSizeName(49);
 263 
 264     /**
 265      *  A size .
 266      */
 267     public static final MediaSizeName A = new MediaSizeName(50);
 268 
 269     /**
 270      *  B size .
 271      */
 272     public static final MediaSizeName B = new MediaSizeName(51);
 273 
 274     /**
 275      *  C size .
 276      */
 277     public static final MediaSizeName C = new MediaSizeName(52);
 278 
 279     /**
 280      *  D size .
 281      */
 282     public static final MediaSizeName D = new MediaSizeName(53);
 283 
 284     /**
 285      *  E size .
 286      */
 287     public static final MediaSizeName E = new MediaSizeName(54);
 288 
 289     /**
 290      *  ISO designated long size .
 291      */
 292     public static final MediaSizeName
 293         ISO_DESIGNATED_LONG = new MediaSizeName(55);
 294 
 295     /**
 296      *  Italy envelope size .
 297      */
 298     public static final MediaSizeName
 299         ITALY_ENVELOPE = new MediaSizeName(56);  // DESIGNATED_LONG?
 300 
 301     /**
 302      *  monarch envelope size .
 303      */
 304     public static final MediaSizeName
 305         MONARCH_ENVELOPE = new MediaSizeName(57);
 306     /**
 307      * personal envelope size .
 308      */
 309     public static final MediaSizeName
 310         PERSONAL_ENVELOPE = new MediaSizeName(58);
 311     /**
 312      *  number 9 envelope size .
 313      */
 314     public static final MediaSizeName
 315         NA_NUMBER_9_ENVELOPE = new MediaSizeName(59);
 316     /**
 317      *  number 10 envelope size .
 318      */
 319     public static final MediaSizeName
 320         NA_NUMBER_10_ENVELOPE = new MediaSizeName(60);
 321     /**
 322      *  number 11 envelope size .
 323      */
 324     public static final MediaSizeName
 325         NA_NUMBER_11_ENVELOPE = new MediaSizeName(61);
 326     /**
 327      *  number 12 envelope size .
 328      */
 329     public static final MediaSizeName
 330         NA_NUMBER_12_ENVELOPE = new MediaSizeName(62);
 331     /**
 332      *  number 14 envelope size .
 333      */
 334     public static final MediaSizeName
 335         NA_NUMBER_14_ENVELOPE = new MediaSizeName(63);
 336    /**
 337      *  6x9 North American envelope size.
 338      */
 339     public static final MediaSizeName
 340         NA_6X9_ENVELOPE = new MediaSizeName(64);
 341    /**
 342      *  7x9 North American envelope size.
 343      */
 344     public static final MediaSizeName
 345         NA_7X9_ENVELOPE = new MediaSizeName(65);
 346    /**
 347      *  9x11 North American envelope size.
 348      */
 349     public static final MediaSizeName
 350         NA_9X11_ENVELOPE = new MediaSizeName(66);
 351     /**
 352      *  9x12 North American envelope size.
 353      */
 354     public static final MediaSizeName
 355         NA_9X12_ENVELOPE = new MediaSizeName(67);
 356 
 357     /**
 358      *  10x13 North American envelope size .
 359      */
 360     public static final MediaSizeName
 361         NA_10X13_ENVELOPE = new MediaSizeName(68);
 362     /**
 363      *  10x14North American  envelope size .
 364      */
 365     public static final MediaSizeName
 366         NA_10X14_ENVELOPE = new MediaSizeName(69);
 367     /**
 368      *  10x15 North American envelope size.
 369      */
 370     public static final MediaSizeName
 371         NA_10X15_ENVELOPE = new MediaSizeName(70);
 372 
 373     /**
 374      *  5x7 North American paper.
 375      */
 376     public static final MediaSizeName
 377         NA_5X7 = new MediaSizeName(71);
 378 
 379     /**
 380      *  8x10 North American paper.
 381      */
 382     public static final MediaSizeName
 383         NA_8X10 = new MediaSizeName(72);
 384 
 385     /**
 386      * Construct a new media size enumeration value with the given integer
 387      * value.
 388      *
 389      * @param  value  Integer value.
 390      */
 391     protected MediaSizeName(int value) {
 392         super (value);
 393     }
 394 
 395     private static final String[] myStringTable = {
 396                 "iso-a0",
 397                 "iso-a1",
 398                 "iso-a2",
 399                 "iso-a3",
 400                 "iso-a4",
 401                 "iso-a5",
 402                 "iso-a6",
 403                 "iso-a7",
 404                 "iso-a8",
 405                 "iso-a9",
 406                 "iso-a10",
 407                 "iso-b0",
 408                 "iso-b1",
 409                 "iso-b2",
 410                 "iso-b3",
 411                 "iso-b4",
 412                 "iso-b5",
 413                 "iso-b6",
 414                 "iso-b7",
 415                 "iso-b8",
 416                 "iso-b9",
 417                 "iso-b10",
 418                 "jis-b0",
 419                 "jis-b1",
 420                 "jis-b2",
 421                 "jis-b3",
 422                 "jis-b4",
 423                 "jis-b5",
 424                 "jis-b6",
 425                 "jis-b7",
 426                 "jis-b8",
 427                 "jis-b9",
 428                 "jis-b10",
 429                 "iso-c0",
 430                 "iso-c1",
 431                 "iso-c2",
 432                 "iso-c3",
 433                 "iso-c4",
 434                 "iso-c5",
 435                 "iso-c6",
 436                 "na-letter",
 437                 "na-legal",
 438                 "executive",
 439                 "ledger",
 440                 "tabloid",
 441                 "invoice",
 442                 "folio",
 443                 "quarto",
 444                 "japanese-postcard",
 445                 "oufuko-postcard",
 446                 "a",
 447                 "b",
 448                 "c",
 449                 "d",
 450                 "e",
 451                 "iso-designated-long",
 452                 "italian-envelope",
 453                 "monarch-envelope",
 454                 "personal-envelope",
 455                 "na-number-9-envelope",
 456                 "na-number-10-envelope",
 457                 "na-number-11-envelope",
 458                 "na-number-12-envelope",
 459                 "na-number-14-envelope",
 460                 "na-6x9-envelope",
 461                 "na-7x9-envelope",
 462                 "na-9x11-envelope",
 463                 "na-9x12-envelope",
 464                 "na-10x13-envelope",
 465                 "na-10x14-envelope",
 466                 "na-10x15-envelope",
 467                 "na-5x7",
 468                 "na-8x10",
 469         };
 470 
 471     private static final MediaSizeName[] myEnumValueTable = {
 472                 ISO_A0,
 473                 ISO_A1,
 474                 ISO_A2,
 475                 ISO_A3,
 476                 ISO_A4,
 477                 ISO_A5,
 478                 ISO_A6,
 479                 ISO_A7,
 480                 ISO_A8,
 481                 ISO_A9,
 482                 ISO_A10,
 483                 ISO_B0,
 484                 ISO_B1,
 485                 ISO_B2,
 486                 ISO_B3,
 487                 ISO_B4,
 488                 ISO_B5,
 489                 ISO_B6,
 490                 ISO_B7,
 491                 ISO_B8,
 492                 ISO_B9,
 493                 ISO_B10,
 494                 JIS_B0,
 495                 JIS_B1,
 496                 JIS_B2,
 497                 JIS_B3,
 498                 JIS_B4,
 499                 JIS_B5,
 500                 JIS_B6,
 501                 JIS_B7,
 502                 JIS_B8,
 503                 JIS_B9,
 504                 JIS_B10,
 505                 ISO_C0,
 506                 ISO_C1,
 507                 ISO_C2,
 508                 ISO_C3,
 509                 ISO_C4,
 510                 ISO_C5,
 511                 ISO_C6,
 512                 NA_LETTER,
 513                 NA_LEGAL,
 514                 EXECUTIVE,
 515                 LEDGER,
 516                 TABLOID,
 517                 INVOICE,
 518                 FOLIO,
 519                 QUARTO,
 520                 JAPANESE_POSTCARD,
 521                 JAPANESE_DOUBLE_POSTCARD,
 522                 A,
 523                 B,
 524                 C,
 525                 D,
 526                 E,
 527                 ISO_DESIGNATED_LONG,
 528                 ITALY_ENVELOPE,
 529                 MONARCH_ENVELOPE,
 530                 PERSONAL_ENVELOPE,
 531                 NA_NUMBER_9_ENVELOPE,
 532                 NA_NUMBER_10_ENVELOPE,
 533                 NA_NUMBER_11_ENVELOPE,
 534                 NA_NUMBER_12_ENVELOPE,
 535                 NA_NUMBER_14_ENVELOPE,
 536                 NA_6X9_ENVELOPE,
 537                 NA_7X9_ENVELOPE,
 538                 NA_9X11_ENVELOPE,
 539                 NA_9X12_ENVELOPE,
 540                 NA_10X13_ENVELOPE,
 541                 NA_10X14_ENVELOPE,
 542                 NA_10X15_ENVELOPE,
 543                 NA_5X7,
 544                 NA_8X10,
 545         };
 546 
 547 
 548     /**
 549      * Returns the string table for class MediaSizeName.
 550      */
 551     protected String[] getStringTable()
 552     {
 553         return myStringTable.clone();
 554     }
 555 
 556     /**
 557      * Returns the enumeration value table for class MediaSizeName.
 558      */
 559     protected EnumSyntax[] getEnumValueTable() {
 560         return (EnumSyntax[])myEnumValueTable.clone();
 561     }
 562 
 563 
 564 }