001/* JobStateReason.java -- 002 Copyright (C) 2004, 2005, 2006 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.Attribute; 041import javax.print.attribute.EnumSyntax; 042 043 044/** 045 * The <code>JobStateReason</code> attribute provides additional 046 * information about the current state of a job. Its always part 047 * of the {@link javax.print.attribute.standard.JobStateReasons} 048 * printing attribute. 049 * <p> 050 * <b>IPP Compatibility:</b> JobStateReason is not an IPP 1.1 051 * attribute itself but used inside the <code>JobStateReasons</code> 052 * attribute. 053 * </p> 054 * 055 * @author Michael Koch (konqueror@gmx.de) 056 * @author Wolfgang Baer (WBaer@gmx.de) 057 */ 058public class JobStateReason extends EnumSyntax 059 implements Attribute 060{ 061 private static final long serialVersionUID = -8765894420449009168L; 062 063 /** 064 * The printer has accepted the job or is retrieving document 065 * data for processing. 066 */ 067 public static final JobStateReason JOB_INCOMING = new JobStateReason(0); 068 069 /** 070 * The printer is expecting additional document data before it 071 * can move this job into the processing state. 072 */ 073 public static final JobStateReason JOB_DATA_INSUFFICIENT = new JobStateReason(1); 074 075 /** 076 * The printer is unable to access one or more documents provided 077 * by reference in the print job. 078 */ 079 public static final JobStateReason DOCUMENT_ACCESS_ERROR = new JobStateReason(2); 080 081 /** 082 * The printer has not received the whole job submission. This 083 * indicates no reason for the interruption. 084 */ 085 public static final JobStateReason SUBMISSION_INTERRUPTED = new JobStateReason(3); 086 087 /** 088 * The printer transfers the job to the actual output device. 089 */ 090 public static final JobStateReason JOB_OUTGOING = new JobStateReason(4); 091 092 /** 093 * The job was submitted with a <code>JobHoldUntil</code> attribute which 094 * specifies a time period still in the future and causes the job to 095 * be on hold. 096 */ 097 public static final JobStateReason JOB_HOLD_UNTIL_SPECIFIED = new JobStateReason(5); 098 099 /** 100 * One or more resources needed by the job are not ready. E.g. needed 101 * media type. 102 */ 103 public static final JobStateReason RESOURCES_ARE_NOT_READY = new JobStateReason(6); 104 105 /** 106 * The printer stopped partly. 107 */ 108 public static final JobStateReason PRINTER_STOPPED_PARTLY = new JobStateReason(7); 109 110 /** 111 * The printer stopped complete. 112 */ 113 public static final JobStateReason PRINTER_STOPPED = new JobStateReason(8); 114 115 /** 116 * The printer is currently interpreting the jobs document data. 117 * Detailed state of the job's processing state. 118 */ 119 public static final JobStateReason JOB_INTERPRETING = new JobStateReason(9); 120 121 /** 122 * The printer has queued the document data. 123 * Detailed state of the job's processing state. 124 */ 125 public static final JobStateReason JOB_QUEUED = new JobStateReason(10); 126 127 /** 128 * The printer is transforming the document data to another representation. 129 * Detailed state of the job's processing state. 130 */ 131 public static final JobStateReason JOB_TRANSFORMING = new JobStateReason(11); 132 133 /** 134 * The job is queued for marking. 135 */ 136 public static final JobStateReason JOB_QUEUED_FOR_MARKER = new JobStateReason(12); 137 138 /** 139 * The job is currently printing. 140 */ 141 public static final JobStateReason JOB_PRINTING = new JobStateReason(13); 142 143 /** 144 * The job was canceled by the user (the owner of the job). 145 */ 146 public static final JobStateReason JOB_CANCELED_BY_USER = new JobStateReason(14); 147 148 /** 149 * The job was canceled by the operator. 150 */ 151 public static final JobStateReason JOB_CANCELED_BY_OPERATOR = new JobStateReason(15); 152 153 /** 154 * The job was canceled by an unidentified local user at the device. 155 */ 156 public static final JobStateReason JOB_CANCELED_AT_DEVICE = new JobStateReason(16); 157 158 /** 159 * The job has been aborted by the system. 160 */ 161 public static final JobStateReason ABORTED_BY_SYSTEM = new JobStateReason(17); 162 163 /** 164 * The printer aborted the job because of an unsupported compression while 165 * trying to decompress the document data. 166 */ 167 public static final JobStateReason UNSUPPORTED_COMPRESSION = new JobStateReason(18); 168 169 /** 170 * The printer aborted the job because of a compression error while 171 * trying to decompress the document data. If this state is given the test 172 * for supported compression has already been passed. 173 */ 174 public static final JobStateReason COMPRESSION_ERROR = new JobStateReason(19); 175 176 /** 177 * The printer aborted the job because of the document format is not supported. 178 * This may happen if a job is specified as application/octet-stream format. 179 */ 180 public static final JobStateReason UNSUPPORTED_DOCUMENT_FORMAT = new JobStateReason(20); 181 182 /** 183 * The printer aborted the job because of an error in the document data. 184 */ 185 public static final JobStateReason DOCUMENT_FORMAT_ERROR = new JobStateReason(21); 186 187 /** 188 * The client has either canceled the job or the printer aborted the job. 189 * However the printer still performs some action on the job e.g. to cleanup. 190 */ 191 public static final JobStateReason PROCESSING_TO_STOP_POINT = new JobStateReason(22); 192 193 /** 194 * The printer is offline and therefore is not accepting jobs. 195 */ 196 public static final JobStateReason SERVICE_OFF_LINE = new JobStateReason(23); 197 198 /** 199 * The printer completed the job successfully. 200 */ 201 public static final JobStateReason JOB_COMPLETED_SUCCESSFULLY = new JobStateReason(24); 202 203 /** 204 * The printer completed the job with warnings. 205 */ 206 public static final JobStateReason JOB_COMPLETED_WITH_WARNINGS = new JobStateReason(25); 207 208 /** 209 * The printer completed the job with errors. 210 */ 211 public static final JobStateReason JOB_COMPLETED_WITH_ERRORS = new JobStateReason(26); 212 213 /** 214 * The job is retained and is able to be restared. 215 */ 216 public static final JobStateReason JOB_RESTARTABLE = new JobStateReason(27); 217 218 /** 219 * The printer has forwarded the job to the actual output device. This device 220 * is not capable of reporting the state back so that the job state is set 221 * to completed by the printer. 222 */ 223 public static final JobStateReason QUEUED_IN_DEVICE = new JobStateReason(28); 224 225 private static final String[] stringTable = 226 { "job-incoming", "job-data-insufficient", "document-access-error", 227 "submission-interrupted", "job-outgoing", "job-hold-until-specified", 228 "resources-are-not-ready", "printer-stopped-partly", "printer-stopped", 229 "job-interpreting", "job-queued", "job-transforming", 230 "job-queued-for-marker", "job-printing", "job-canceled-by-user", 231 "job-canceled-by-operator", "job-canceled-at-device", 232 "aborted-by-system", "unsupported-compression", "compression-error", 233 "unsupported-document-format", "document-format-error", 234 "processing-to-stop-point", "service-off-line", 235 "job-completed-successfully", "job-completed-with-warnings", 236 "job-completed-with-errors", "job-restartable", "queued-in-device" }; 237 238 private static final JobStateReason[] enumValueTable = 239 { JOB_INCOMING, JOB_DATA_INSUFFICIENT, DOCUMENT_ACCESS_ERROR, 240 SUBMISSION_INTERRUPTED, JOB_OUTGOING, JOB_HOLD_UNTIL_SPECIFIED, 241 RESOURCES_ARE_NOT_READY, PRINTER_STOPPED_PARTLY, PRINTER_STOPPED, 242 JOB_INTERPRETING, JOB_QUEUED, JOB_TRANSFORMING, JOB_QUEUED_FOR_MARKER, 243 JOB_PRINTING, JOB_CANCELED_BY_USER, JOB_CANCELED_BY_OPERATOR, 244 JOB_CANCELED_AT_DEVICE, ABORTED_BY_SYSTEM, UNSUPPORTED_COMPRESSION, 245 COMPRESSION_ERROR, UNSUPPORTED_DOCUMENT_FORMAT, DOCUMENT_FORMAT_ERROR, 246 PROCESSING_TO_STOP_POINT, SERVICE_OFF_LINE, JOB_COMPLETED_SUCCESSFULLY, 247 JOB_COMPLETED_WITH_WARNINGS, JOB_COMPLETED_WITH_ERRORS, JOB_RESTARTABLE, 248 QUEUED_IN_DEVICE }; 249 250 /** 251 * Constructs a <code>JobStateReason</code> object. 252 * 253 * @param value the enum value. 254 */ 255 protected JobStateReason(int value) 256 { 257 super(value); 258 } 259 260 /** 261 * Returns category of this class. 262 * 263 * @return The class <code>JobStateReason</code> itself. 264 */ 265 public Class< ? extends Attribute> getCategory() 266 { 267 return JobStateReason.class; 268 } 269 270 /** 271 * Returns the name of this attribute. 272 * 273 * @return The name "job-state-reason". 274 */ 275 public final String getName() 276 { 277 return "job-state-reason"; 278 } 279 280 /** 281 * Returns a table with the enumeration values represented as strings 282 * for this object. 283 * 284 * @return The enumeration values as strings. 285 */ 286 protected String[] getStringTable() 287 { 288 return stringTable; 289 } 290 291 /** 292 * Returns a table with the enumeration values for this object. 293 * 294 * @return The enumeration values. 295 */ 296 protected EnumSyntax[] getEnumValueTable() 297 { 298 return enumValueTable; 299 } 300}