Source for javax.print.attribute.standard.JobStateReason

   1: /* JobStateReason.java --
   2:    Copyright (C) 2004, 2005, 2006 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: package javax.print.attribute.standard;
  39: 
  40: import javax.print.attribute.Attribute;
  41: import javax.print.attribute.EnumSyntax;
  42: 
  43: 
  44: /**
  45:  * The <code>JobStateReason</code> attribute provides additional
  46:  * information about the current state of a job. Its always part
  47:  * of the {@link javax.print.attribute.standard.JobStateReasons}
  48:  * printing attribute. 
  49:  * <p>
  50:  * <b>IPP Compatibility:</b> JobStateReason is not an IPP 1.1 
  51:  * attribute itself but used inside the <code>JobStateReasons</code>
  52:  * attribute.
  53:  * </p>
  54:  * 
  55:  * @author Michael Koch (konqueror@gmx.de)
  56:  * @author Wolfgang Baer (WBaer@gmx.de)
  57:  */
  58: public class JobStateReason extends EnumSyntax
  59:   implements Attribute
  60: {
  61:   private static final long serialVersionUID = -8765894420449009168L;
  62: 
  63:   /**
  64:    * The printer has accepted the job or is retrieving document
  65:    * data for processing.
  66:    */
  67:   public static final JobStateReason JOB_INCOMING = new JobStateReason(0);
  68:   
  69:   /**
  70:    * The printer is expecting additional document data before it
  71:    * can move this job into the processing state.
  72:    */
  73:   public static final JobStateReason JOB_DATA_INSUFFICIENT = new JobStateReason(1);
  74:   
  75:   /**
  76:    * The printer is unable to access one or more documents provided
  77:    * by reference in the print job.
  78:    */
  79:   public static final JobStateReason DOCUMENT_ACCESS_ERROR = new JobStateReason(2);
  80:   
  81:   /**
  82:    * The printer has not received the whole job submission. This
  83:    * indicates no reason for the interruption.
  84:    */
  85:   public static final JobStateReason SUBMISSION_INTERRUPTED = new JobStateReason(3);
  86:   
  87:   /**
  88:    * The printer transfers the job to the actual output device.
  89:    */
  90:   public static final JobStateReason JOB_OUTGOING = new JobStateReason(4);
  91:   
  92:   /**
  93:    * The job was submitted with a <code>JobHoldUntil</code> attribute which 
  94:    * specifies a time period still in the future and causes the job to 
  95:    * be on hold.
  96:    */
  97:   public static final JobStateReason JOB_HOLD_UNTIL_SPECIFIED = new JobStateReason(5);
  98:   
  99:   /**
 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: }