Frames | No Frames |
1: /* Fidelity.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: 39: package javax.print.attribute.standard; 40: 41: import javax.print.attribute.EnumSyntax; 42: import javax.print.attribute.PrintJobAttribute; 43: import javax.print.attribute.PrintRequestAttribute; 44: 45: 46: /** 47: * The <code>Fidelity</code> attribute specifies how a print job is handled 48: * if the supplied attributes are not fully supported. 49: * <p> 50: * There may be conflicts between the client requested attributes and the 51: * attributes supported by the printer object. Such situations are controlled 52: * through the client by providing this attribute to indicate the wanted 53: * conflict handling mechanism: 54: * <ul> 55: * <li>{@link #FIDELITY_TRUE}: Reject the job since the job can not be 56: * processed exactly as specified by the attributes of the client.</li> 57: * <li>{@link #FIDELITY_FALSE}: The Printer may make any changes necessary 58: * to proceed with processing the Job as good as possible.</li> 59: * </ul> 60: * </p> 61: * <p> 62: * <b>IPP Compatibility:</b> Fidelity is an IPP 1.1 attribute. The IPP name 63: * is "ipp-attribute-fidelity". The IPP specification treats Fidelity as a 64: * boolean type which is not available in the Java Print Service API. The IPP 65: * boolean value "true" corresponds to <code>FIDELITY_TRUE</code> and "false" 66: * to <code>FIDELITY_FALSE</code>. 67: * </p> 68: * 69: * @author Michael Koch (konqueror@gmx.de) 70: * @author Wolfgang Baer (WBaer@gmx.de) 71: */ 72: public final class Fidelity extends EnumSyntax 73: implements PrintJobAttribute, PrintRequestAttribute 74: { 75: private static final long serialVersionUID = 6320827847329172308L; 76: 77: /** 78: * Requests that the job is printed exactly as specified, 79: * or rejected otherwise. 80: */ 81: public static final Fidelity FIDELITY_TRUE = new Fidelity(0); 82: 83: /** 84: * Requests that the job is printed as exactly as reasonable. This means 85: * that the print service may choose to substitute the default value 86: * associated with that attribute, or use some other supported value that 87: * is similar to the unsupported requested value. 88: */ 89: public static final Fidelity FIDELITY_FALSE = new Fidelity(1); 90: 91: private static final String[] stringTable = { "true", "false" }; 92: private static final Fidelity[] enumValueTable = { FIDELITY_TRUE, 93: FIDELITY_FALSE }; 94: 95: /** 96: * Constructs a <code>Fidelity</code> object. 97: * 98: * @param value the value 99: */ 100: protected Fidelity(int value) 101: { 102: super(value); 103: } 104: 105: /** 106: * Returns category of this class. 107: * 108: * @return The class <code>Fidelity</code> itself. 109: */ 110: public Class getCategory() 111: { 112: return Fidelity.class; 113: } 114: 115: /** 116: * Returns the name of this attribute. 117: * 118: * @return The name "ipp-attribute-fidelity". 119: */ 120: public String getName() 121: { 122: return "ipp-attribute-fidelity"; 123: } 124: 125: /** 126: * Returns a table with the enumeration values represented as strings 127: * for this object. 128: * 129: * @return The enumeration values as strings. 130: */ 131: protected String[] getStringTable() 132: { 133: return stringTable; 134: } 135: 136: /** 137: * Returns a table with the enumeration values for this object. 138: * 139: * @return The enumeration values. 140: */ 141: protected EnumSyntax[] getEnumValueTable() 142: { 143: return enumValueTable; 144: } 145: }