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