Module java.desktop

Class JobHoldUntil

  • All Implemented Interfaces:
    Serializable, Cloneable, Attribute, PrintJobAttribute, PrintRequestAttribute


    public final class JobHoldUntil
    extends DateTimeSyntax
    implements PrintRequestAttribute, PrintJobAttribute
    Class JobHoldUntil is a printing attribute class, a date-time attribute, that specifies the exact date and time at which the job must become a candidate for printing.

    If the value of this attribute specifies a date-time that is in the future, the printer should add the JobStateReason value of JOB_HOLD_UNTIL_SPECIFIED to the job's JobStateReasons attribute, must move the job to the PENDING_HELD state, and must not schedule the job for printing until the specified date-time arrives.

    When the specified date-time arrives, the printer must remove the JobStateReason value of JOB_HOLD_UNTIL_SPECIFIED from the job's JobStateReasons attribute, if present. If there are no other job state reasons that keep the job in the PENDING_HELD state, the printer must consider the job as a candidate for processing by moving the job to the PENDING state.

    If the specified date-time has already passed, the job must be a candidate for processing immediately. Thus, one way to make the job immediately become a candidate for processing is to specify a JobHoldUntil attribute constructed like this (denoting a date-time of January 1, 1970, 00:00:00 GMT):

         JobHoldUntil immediately = new JobHoldUntil (new Date (0L));
     

    If the client does not supply this attribute in a Print Request and the printer supports this attribute, the printer must use its (implementation-dependent) default JobHoldUntil value at job submission time (unlike most job template attributes that are used if necessary at job processing time).

    To construct a JobHoldUntil attribute from separate values of the year, month, day, hour, minute, and so on, use a Calendar object to construct a Date object, then use the Date object to construct the JobHoldUntil attribute. To convert a JobHoldUntil attribute to separate values of the year, month, day, hour, minute, and so on, create a Calendar object and set it to the Date from the JobHoldUntil attribute.

    IPP Compatibility: Although IPP supports a "job-hold-until" attribute specified as a keyword, IPP does not at this time support a "job-hold-until" attribute specified as a date and time. However, the date and time can be converted to one of the standard IPP keywords with some loss of precision; for example, a JobHoldUntil value with today's date and 9:00pm local time might be converted to the standard IPP keyword "night". The category name returned by getName() gives the IPP attribute name.

    See Also:
    Serialized Form
    • Constructor Detail

      • JobHoldUntil

        public JobHoldUntil​(Date dateTime)
        Construct a new job hold until date-time attribute with the given Date value.
        Parameters:
        dateTime - Date value.
        Throws:
        NullPointerException - (unchecked exception) Thrown if dateTime is null.
    • Method Detail

      • equals

        public boolean equals​(Object object)
        Returns whether this job hold until attribute is equivalent to the passed in object. To be equivalent, all of the following conditions must be true:
        1. object is not null.
        2. object is an instance of class JobHoldUntil.
        3. This job hold until attribute's Date value and object's Date value are equal.
        Overrides:
        equals in class DateTimeSyntax
        Parameters:
        object - Object to compare to.
        Returns:
        True if object is equivalent to this job hold until attribute, false otherwise.
        See Also:
        Object.hashCode(), HashMap
      • getCategory

        public final Class<? extends Attribute> getCategory​()
        Get the printing attribute class which is to be used as the "category" for this printing attribute value.

        For class JobHoldUntil, the category is class JobHoldUntil itself.

        Specified by:
        getCategory in interface Attribute
        Returns:
        Printing attribute class (category), an instance of class java.lang.Class.
      • getName

        public final String getName​()
        Get the name of the category of which this attribute value is an instance.

        For class JobHoldUntil, the category name is "job-hold-until".

        Specified by:
        getName in interface Attribute
        Returns:
        Attribute category name.