001 /* JobStateReason.java --
002 Copyright (C) 2004, 2005, 2006 Free Software Foundation, Inc.
003
004 This file is part of GNU Classpath.
005
006 GNU Classpath is free software; you can redistribute it and/or modify
007 it under the terms of the GNU General Public License as published by
008 the Free Software Foundation; either version 2, or (at your option)
009 any later version.
010
011 GNU Classpath is distributed in the hope that it will be useful, but
012 WITHOUT ANY WARRANTY; without even the implied warranty of
013 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
014 General Public License for more details.
015
016 You should have received a copy of the GNU General Public License
017 along with GNU Classpath; see the file COPYING. If not, write to the
018 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
019 02110-1301 USA.
020
021 Linking this library statically or dynamically with other modules is
022 making a combined work based on this library. Thus, the terms and
023 conditions of the GNU General Public License cover the whole
024 combination.
025
026 As a special exception, the copyright holders of this library give you
027 permission to link this library with independent modules to produce an
028 executable, regardless of the license terms of these independent
029 modules, and to copy and distribute the resulting executable under
030 terms of your choice, provided that you also meet, for each linked
031 independent module, the terms and conditions of the license of that
032 module. An independent module is a module which is not derived from
033 or based on this library. If you modify this library, you may extend
034 this exception to your version of the library, but you are not
035 obligated to do so. If you do not wish to do so, delete this
036 exception statement from your version. */
037
038 package javax.print.attribute.standard;
039
040 import javax.print.attribute.Attribute;
041 import 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 */
058 public 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 }