com.google.code.appengine.awt.PageAttributes Maven / Gradle / Ivy
The newest version!
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* @author Igor A. Pyankov
*/
package com.google.code.appengine.awt;
import java.util.Locale;
import org.apache.harmony.awt.internal.nls.Messages;
public final class PageAttributes implements Cloneable {
private MediaType media;
private ColorType color;
private OrientationRequestedType orientationRequested;
private OriginType origin;
private PrintQualityType printQuality;
private int[] printerResolution;
/*----------------- section of the nested classes --------------------*/
public static final class ColorType {
private final String name;
public static final ColorType COLOR
= new ColorType(0, "COLOR"); //$NON-NLS-1$
public static final ColorType MONOCHROME
= new ColorType(1, "MONOCHROME"); //$NON-NLS-1$
private ColorType(int i, String n){
super();
name = n;
}
private ColorType(){
this(1, "MONOCHROME"); //$NON-NLS-1$
}
}
public static final class MediaType {
private final String name;
public static final MediaType ISO_4A0 = new MediaType(71, "ISO_4A0"); //$NON-NLS-1$
public static final MediaType ISO_2A0 = new MediaType(70, "ISO_2A0"); //$NON-NLS-1$
public static final MediaType ISO_A0 = new MediaType(0, "ISO_A0"); //$NON-NLS-1$
public static final MediaType ISO_A1 = new MediaType(1, "ISO_A1"); //$NON-NLS-1$
public static final MediaType ISO_A2 = new MediaType(2, "ISO_A2"); //$NON-NLS-1$
public static final MediaType ISO_A3 = new MediaType(3, "ISO_A3"); //$NON-NLS-1$
public static final MediaType ISO_A4 = new MediaType(4, "ISO_A4"); //$NON-NLS-1$
public static final MediaType ISO_A5 = new MediaType(5, "ISO_A5"); //$NON-NLS-1$
public static final MediaType ISO_A6 = new MediaType(6, "ISO_A6"); //$NON-NLS-1$
public static final MediaType ISO_A7 = new MediaType(7, "ISO_A7"); //$NON-NLS-1$
public static final MediaType ISO_A8 = new MediaType(8, "ISO_A8"); //$NON-NLS-1$
public static final MediaType ISO_A9 = new MediaType(9, "ISO_A9"); //$NON-NLS-1$
public static final MediaType ISO_A10 = new MediaType(10, "ISO_A10"); //$NON-NLS-1$
public static final MediaType ISO_B0 = new MediaType(10, "ISO_B0"); //$NON-NLS-1$
public static final MediaType ISO_B1 = new MediaType(11, "ISO_B1"); //$NON-NLS-1$
public static final MediaType ISO_B2 = new MediaType(12, "ISO_B2"); //$NON-NLS-1$
public static final MediaType ISO_B3 = new MediaType(13, "ISO_B3"); //$NON-NLS-1$
public static final MediaType ISO_B4 = new MediaType(14, "ISO_B4"); //$NON-NLS-1$
public static final MediaType ISO_B5 = new MediaType(15, "ISO_B5"); //$NON-NLS-1$
public static final MediaType ISO_B6 = new MediaType(16, "ISO_B6"); //$NON-NLS-1$
public static final MediaType ISO_B7 = new MediaType(17, "ISO_B7"); //$NON-NLS-1$
public static final MediaType ISO_B8 = new MediaType(18, "ISO_B8"); //$NON-NLS-1$
public static final MediaType ISO_B9 = new MediaType(19, "ISO_B9"); //$NON-NLS-1$
public static final MediaType ISO_B10 = new MediaType(20, "ISO_B10"); //$NON-NLS-1$
public static final MediaType JIS_B0 = new MediaType(30, "JIS_B0"); //$NON-NLS-1$
public static final MediaType JIS_B1 = new MediaType(31, "JIS_B1"); //$NON-NLS-1$
public static final MediaType JIS_B2 = new MediaType(32, "JIS_B2"); //$NON-NLS-1$
public static final MediaType JIS_B3 = new MediaType(33, "JIS_B3"); //$NON-NLS-1$
public static final MediaType JIS_B4 = new MediaType(34, "JIS_B4"); //$NON-NLS-1$
public static final MediaType JIS_B5 = new MediaType(35, "JIS_B5"); //$NON-NLS-1$
public static final MediaType JIS_B6 = new MediaType(36, "JIS_B6"); //$NON-NLS-1$
public static final MediaType JIS_B7 = new MediaType(37, "JIS_B7"); //$NON-NLS-1$
public static final MediaType JIS_B8 = new MediaType(38, "JIS_B8"); //$NON-NLS-1$
public static final MediaType JIS_B9 = new MediaType(39, "JIS_B9"); //$NON-NLS-1$
public static final MediaType JIS_B10 = new MediaType(40, "JIS_B10"); //$NON-NLS-1$
public static final MediaType ISO_C0 = new MediaType(50, "ISO_C0"); //$NON-NLS-1$
public static final MediaType ISO_C1 = new MediaType(51, "ISO_C1"); //$NON-NLS-1$
public static final MediaType ISO_C2 = new MediaType(52, "ISO_C2"); //$NON-NLS-1$
public static final MediaType ISO_C3 = new MediaType(53, "ISO_C3"); //$NON-NLS-1$
public static final MediaType ISO_C4 = new MediaType(54, "ISO_C4"); //$NON-NLS-1$
public static final MediaType ISO_C5 = new MediaType(55, "ISO_C5"); //$NON-NLS-1$
public static final MediaType ISO_C6 = new MediaType(56, "ISO_C6"); //$NON-NLS-1$
public static final MediaType ISO_C7 = new MediaType(57, "ISO_C7"); //$NON-NLS-1$
public static final MediaType ISO_C8 = new MediaType(58, "ISO_C8"); //$NON-NLS-1$
public static final MediaType ISO_C9 = new MediaType(59, "ISO_C9"); //$NON-NLS-1$
public static final MediaType ISO_C10 = new MediaType(60, "ISO_C10"); //$NON-NLS-1$
public static final MediaType ISO_DESIGNATED_LONG = new MediaType(100,
"ISO_DESIGNATED_LONG"); //$NON-NLS-1$
public static final MediaType EXECUTIVE = new MediaType(101,
"EXECUTIVE"); //$NON-NLS-1$
public static final MediaType FOLIO = new MediaType(102, "FOLIO"); //$NON-NLS-1$
public static final MediaType INVOICE = new MediaType(103, "INVOICE"); //$NON-NLS-1$
public static final MediaType LEDGER = new MediaType(104, "LEDGER"); //$NON-NLS-1$
public static final MediaType NA_LETTER = new MediaType(105,
"NA_LETTER"); //$NON-NLS-1$
public static final MediaType NA_LEGAL = new MediaType(106, "NA_LEGAL"); //$NON-NLS-1$
public static final MediaType QUARTO = new MediaType(107, "QUARTO"); //$NON-NLS-1$
public static final MediaType A = new MediaType(200, "A"); //$NON-NLS-1$
public static final MediaType B = new MediaType(201, "B"); //$NON-NLS-1$
public static final MediaType C = new MediaType(202, "C"); //$NON-NLS-1$
public static final MediaType D = new MediaType(203, "D"); //$NON-NLS-1$
public static final MediaType E = new MediaType(204, "E"); //$NON-NLS-1$
public static final MediaType NA_10X15_ENVELOPE = new MediaType(311,
"NA_10X15_ENVELOPE"); //$NON-NLS-1$
public static final MediaType NA_10X14_ENVELOPE = new MediaType(310,
"NA_10X14_ENVELOPE"); //$NON-NLS-1$
public static final MediaType NA_10X13_ENVELOPE = new MediaType(309,
"NA_10X13_ENVELOPE"); //$NON-NLS-1$
public static final MediaType NA_9X12_ENVELOPE = new MediaType(308,
"NA_9X12_ENVELOPE"); //$NON-NLS-1$
public static final MediaType NA_9X11_ENVELOPE = new MediaType(307,
"NA_9X11_ENVELOPE"); //$NON-NLS-1$
public static final MediaType NA_7X9_ENVELOPE = new MediaType(306,
"NA_7X9_ENVELOPE"); //$NON-NLS-1$
public static final MediaType NA_6X9_ENVELOPE = new MediaType(305,
"NA_6X9_ENVELOPE"); //$NON-NLS-1$
public static final MediaType NA_NUMBER_9_ENVELOPE = new MediaType(
312, "NA_NUMBER_9_ENVELOPE"); //$NON-NLS-1$
public static final MediaType NA_NUMBER_10_ENVELOPE = new MediaType(
313, "NA_NUMBER_10_ENVELOPE"); //$NON-NLS-1$
public static final MediaType NA_NUMBER_11_ENVELOPE = new MediaType(
314, "NA_NUMBER_11_ENVELOPE"); //$NON-NLS-1$
public static final MediaType NA_NUMBER_12_ENVELOPE = new MediaType(
315, "NA_NUMBER_12_ENVELOPE"); //$NON-NLS-1$
public static final MediaType NA_NUMBER_14_ENVELOPE = new MediaType(
316, "NA_NUMBER_14_ENVELOPE"); //$NON-NLS-1$
public static final MediaType INVITE_ENVELOPE = new MediaType(300,
"INVITE_ENVELOPE"); //$NON-NLS-1$
public static final MediaType ITALY_ENVELOPE = new MediaType(301,
"ITALY_ENVELOPE"); //$NON-NLS-1$
public static final MediaType MONARCH_ENVELOPE = new MediaType(302,
"MONARCH_ENVELOPE"); //$NON-NLS-1$
public static final MediaType PERSONAL_ENVELOPE = new MediaType(304,
"PERSONAL_ENVELOPE"); //$NON-NLS-1$
/*aliases*/
public static final MediaType A0 = ISO_A0;
public static final MediaType A1 = ISO_A1;
public static final MediaType A2 = ISO_A2;
public static final MediaType A3 = ISO_A3;
public static final MediaType A4 = ISO_A4;
public static final MediaType A5 = ISO_A5;
public static final MediaType A6 = ISO_A6;
public static final MediaType A7 = ISO_A7;
public static final MediaType A8 = ISO_A8;
public static final MediaType A9 = ISO_A9;
public static final MediaType A10 = ISO_A10;
public static final MediaType B0 = ISO_B0;
public static final MediaType B1 = ISO_B1;
public static final MediaType B2 = ISO_B2;
public static final MediaType B3 = ISO_B3;
public static final MediaType B4 = ISO_B4;
public static final MediaType B5 = ISO_B5;
public static final MediaType B6 = ISO_B6;
public static final MediaType B7 = ISO_B7;
public static final MediaType B8 = ISO_B8;
public static final MediaType B9 = ISO_B9;
public static final MediaType B10 = ISO_B10;
public static final MediaType ISO_B4_ENVELOPE = ISO_B4;
public static final MediaType ISO_B5_ENVELOPE = ISO_B5;
public static final MediaType ISO_C0_ENVELOPE = ISO_C0;
public static final MediaType ISO_C1_ENVELOPE = ISO_C1;
public static final MediaType ISO_C2_ENVELOPE = ISO_C2;
public static final MediaType ISO_C3_ENVELOPE = ISO_C3;
public static final MediaType ISO_C4_ENVELOPE = ISO_C4;
public static final MediaType ISO_C5_ENVELOPE = ISO_C5;
public static final MediaType ISO_C6_ENVELOPE = ISO_C6;
public static final MediaType ISO_C7_ENVELOPE = ISO_C7;
public static final MediaType ISO_C8_ENVELOPE = ISO_C8;
public static final MediaType ISO_C9_ENVELOPE = ISO_C9;
public static final MediaType ISO_C10_ENVELOPE = ISO_C10;
public static final MediaType C0 = ISO_C0;
public static final MediaType C1 = ISO_C1;
public static final MediaType C2 = ISO_C2;
public static final MediaType C3 = ISO_C3;
public static final MediaType C4 = ISO_C4;
public static final MediaType C5 = ISO_C5;
public static final MediaType C6 = ISO_C6;
public static final MediaType C7 = ISO_C7;
public static final MediaType C8 = ISO_C8;
public static final MediaType C9 = ISO_C9;
public static final MediaType C10 = ISO_C10;
public static final MediaType ISO_DESIGNATED_LONG_ENVELOPE
= ISO_DESIGNATED_LONG;
public static final MediaType STATEMENT = INVOICE;
public static final MediaType TABLOID = LEDGER;
public static final MediaType LETTER = NA_LETTER;
public static final MediaType NOTE = NA_LETTER;
public static final MediaType LEGAL = NA_LEGAL;
public static final MediaType ENV_10X15 = NA_10X15_ENVELOPE;
public static final MediaType ENV_10X14 = NA_10X14_ENVELOPE;
public static final MediaType ENV_10X13 = NA_10X13_ENVELOPE;
public static final MediaType ENV_9X12 = NA_9X12_ENVELOPE;
public static final MediaType ENV_9X11 = NA_9X11_ENVELOPE;
public static final MediaType ENV_7X9 = NA_7X9_ENVELOPE;
public static final MediaType ENV_6X9 = NA_6X9_ENVELOPE;
public static final MediaType ENV_9 = NA_NUMBER_9_ENVELOPE;
public static final MediaType ENV_10 = NA_NUMBER_10_ENVELOPE;
public static final MediaType ENV_11 = NA_NUMBER_11_ENVELOPE;
public static final MediaType ENV_12 = NA_NUMBER_12_ENVELOPE;
public static final MediaType ENV_14 = NA_NUMBER_14_ENVELOPE;
public static final MediaType ENV_INVITE = INVITE_ENVELOPE;
public static final MediaType ENV_ITALY = ITALY_ENVELOPE;
public static final MediaType ENV_MONARCH = MONARCH_ENVELOPE;
public static final MediaType ENV_PERSONAL = PERSONAL_ENVELOPE;
public static final MediaType INVITE = INVITE_ENVELOPE;
public static final MediaType ITALY = ITALY_ENVELOPE;
public static final MediaType MONARCH = MONARCH_ENVELOPE;
public static final MediaType PERSONAL = PERSONAL_ENVELOPE;
private MediaType(int i, String n){
super();
name = n;
}
private MediaType(){
this(4, "ISO_A4"); //$NON-NLS-1$
}
}
public static final class OrientationRequestedType {
private final String name;
public static final OrientationRequestedType PORTRAIT
= new OrientationRequestedType(0, "PORTRAIT"); //$NON-NLS-1$
public static final OrientationRequestedType LANDSCAPE
= new OrientationRequestedType(1, "LANDSCAPE"); //$NON-NLS-1$
private OrientationRequestedType(int i, String n){
super();
name = n;
}
private OrientationRequestedType(){
this(0, "PORTRAIT"); //$NON-NLS-1$
}
}
public static final class OriginType {
private final String name;
public static final OriginType PHYSICAL
= new OriginType(0, "PHYSICAL"); //$NON-NLS-1$
public static final OriginType PRINTABLE
= new OriginType(1, "PRINTABLE"); //$NON-NLS-1$
private OriginType(int i, String n){
super();
name = n;
}
private OriginType(){
this(0, "PHYSICAL"); //$NON-NLS-1$
}
}
public static final class PrintQualityType {
private final String name;
public static final PrintQualityType HIGH = new PrintQualityType(5,
"HIGH"); //$NON-NLS-1$
public static final PrintQualityType NORMAL = new PrintQualityType(4,
"NORMAL"); //$NON-NLS-1$
public static final PrintQualityType DRAFT = new PrintQualityType(2,
"DRAFT"); //$NON-NLS-1$
private PrintQualityType(int i, String n){
name = n;
}
private PrintQualityType(){
this(4, "NORMAL"); //$NON-NLS-1$
}
}
/*--------------- end of section of the nested classes ------------------*/
public PageAttributes() {
setColor(ColorType.MONOCHROME);
setMediaToDefault();
setOrientationRequestedToDefault();
setOrigin(OriginType.PHYSICAL);
setPrintQualityToDefault();
setPrinterResolutionToDefault();
}
public PageAttributes(PageAttributes.ColorType color,
PageAttributes.MediaType media,
PageAttributes.OrientationRequestedType orientationRequested,
PageAttributes.OriginType origin,
PageAttributes.PrintQualityType printQuality,
int[] printerResolution) {
setColor(color);
setMedia(media);
setOrientationRequested(orientationRequested);
setOrigin(origin);
setPrintQuality(printQuality);
setPrinterResolution(printerResolution);
}
public PageAttributes(PageAttributes pageAttributes) {
set(pageAttributes);
}
@Override
public Object clone() {
PageAttributes pa = new PageAttributes(this);
return pa;
}
@Override
public boolean equals(Object obj) {
PageAttributes pa;
if (!(obj instanceof PageAttributes)) {
return false;
}
pa = (PageAttributes) obj;
if (color != pa.color) {
return false;
}
if (media != pa.media) {
return false;
}
if (orientationRequested != pa.orientationRequested) {
return false;
}
if (origin != pa.origin) {
return false;
}
if (printQuality != pa.printQuality) {
return false;
}
if (origin != pa.origin) {
return false;
}
if (!(printerResolution[0] == pa.printerResolution[0]
&& printerResolution[1] == pa.printerResolution[1]
&& printerResolution[2] == pa.printerResolution[2])) {
return false;
}
return true;
}
@Override
public String toString(){
/* The format is based on 1.5 release behavior
* which can be revealed by the following code:
* System.out.println(new PageAttributes());
*/
String s;
s = "color=" + getColor().name + ",media=" + getMedia().name //$NON-NLS-1$ //$NON-NLS-2$
+ ",orientation-requested=" + getOrientationRequested().name //$NON-NLS-1$
+ ",origin=" + getOrigin().name //$NON-NLS-1$
+ ",print-quality=" + getPrintQuality().name //$NON-NLS-1$
+ ",printer-resolution=" + printerResolution[0] + "x" //$NON-NLS-1$ //$NON-NLS-2$
+ printerResolution[1] + (printerResolution[2]==3?"dpi":"dpcm"); //$NON-NLS-1$ //$NON-NLS-2$
return s;
}
@Override
public int hashCode() {
int hash = this.toString().hashCode();
return hash;
}
public void set(PageAttributes obj) {
color = obj.color;
media = obj.media;
orientationRequested = obj.orientationRequested;
origin = obj.origin;
printQuality = obj.printQuality;
printerResolution = obj.printerResolution;
}
public void setColor(PageAttributes.ColorType color) {
if (color == null) {
// awt.11C=Invalid value for color
throw new IllegalArgumentException(Messages.getString("awt.11C")); //$NON-NLS-1$
}
this.color = color;
}
public PageAttributes.ColorType getColor() {
return color;
}
public void setMedia(PageAttributes.MediaType media) {
if(media == null) {
// awt.116=Invalid value for media
throw new IllegalArgumentException(Messages.getString("awt.116")); //$NON-NLS-1$
}
this.media = media;
}
public PageAttributes.MediaType getMedia() {
return media;
}
public void setOrientationRequested(
PageAttributes.OrientationRequestedType orientationRequested) {
if (orientationRequested == null) {
// awt.117=Invalid value for orientationRequested
throw new IllegalArgumentException(Messages.getString("awt.117")); //$NON-NLS-1$
}
this.orientationRequested = orientationRequested;
}
public void setOrientationRequested(int i_orientationRequested) {
if(i_orientationRequested == 3) {
setOrientationRequested(OrientationRequestedType.PORTRAIT);
return;
}
if(i_orientationRequested == 4) {
setOrientationRequested(OrientationRequestedType.LANDSCAPE);
return;
}
// awt.117=Invalid value for orientationRequested
throw new IllegalArgumentException(Messages.getString("awt.117")); //$NON-NLS-1$
}
public PageAttributes.OrientationRequestedType getOrientationRequested() {
return orientationRequested;
}
public void setOrigin(PageAttributes.OriginType origin) {
if (origin == null) {
// awt.119=Invalid value for origin
throw new IllegalArgumentException(Messages.getString("awt.119")); //$NON-NLS-1$
}
this.origin = origin;
}
public PageAttributes.OriginType getOrigin() {
return origin;
}
public void setPrintQuality(PageAttributes.PrintQualityType printQuality) {
if (printQuality == null) {
// awt.11A=Invalid value for printQuality
throw new IllegalArgumentException(Messages.getString("awt.11A")); //$NON-NLS-1$
}
this.printQuality = printQuality;
}
public void setPrintQuality(int iprintQuality) {
if (iprintQuality == 3) {
setPrintQuality(PrintQualityType.DRAFT);
return;
}
if (iprintQuality == 4) {
setPrintQuality(PrintQualityType.NORMAL);
return;
}
if (iprintQuality == 5) {
setPrintQuality(PrintQualityType.HIGH);
return;
}
// awt.11A=Invalid value for printQuality
throw new IllegalArgumentException(Messages.getString("awt.11A")); //$NON-NLS-1$
}
public PageAttributes.PrintQualityType getPrintQuality() {
return printQuality;
}
public void setPrinterResolution(int[] aprinterResolution) {
if (aprinterResolution == null
|| aprinterResolution.length != 3
|| aprinterResolution[0] <= 0
|| aprinterResolution[1] <= 0
|| (aprinterResolution[2] != 3 && aprinterResolution[2] != 4)) {
// awt.11B=Invalid value for printerResolution[]
throw new IllegalArgumentException(Messages.getString("awt.11B")); //$NON-NLS-1$
}
printerResolution = new int[3];
printerResolution[0] = aprinterResolution[0];
printerResolution[1] = aprinterResolution[1];
printerResolution[2] = aprinterResolution[2];
}
public void setPrinterResolution(int iprinterResolution) {
if (iprinterResolution <= 0) {
// awt.118=Invalid value for printerResolution
throw new IllegalArgumentException(Messages.getString("awt.118")); //$NON-NLS-1$
}
printerResolution = new int[3];
printerResolution[0] = iprinterResolution;
printerResolution[1] = iprinterResolution;
printerResolution[2] = 3;
}
public int[] getPrinterResolution() {
return printerResolution;
}
public void setMediaToDefault() {
Locale loc = Locale.getDefault();
if (loc.equals(Locale.CANADA) || loc.equals(Locale.US)) {
setMedia(MediaType.NA_LETTER);
return;
}
setMedia(MediaType.ISO_A4);
return;
}
public void setOrientationRequestedToDefault() {
setOrientationRequested(OrientationRequestedType.PORTRAIT);
return;
}
public void setPrintQualityToDefault() {
setPrintQuality(PrintQualityType.NORMAL);
return;
}
public void setPrinterResolutionToDefault() {
setPrinterResolution(72);
return;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy