public final class PrintJob extends Object
Note: All methods of this class must be invoked on the main application thread.
Modifier and Type | Method and Description |
---|---|
boolean |
block(String reason)
Blocks the print job.
|
boolean |
cancel()
Cancels the print job.
|
boolean |
complete()
Completes the print job.
|
boolean |
equals(Object obj)
Indicates whether some other object is "equal to" this one.
|
boolean |
fail(String error)
Fails the print job.
|
int |
getAdvancedIntOption(String key)
Gets the value of an advanced (printer specific) print option.
|
String |
getAdvancedStringOption(String key)
Gets the value of an advanced (printer specific) print option.
|
PrintDocument |
getDocument()
Gets the printed document.
|
PrintJobId |
getId()
Gets the unique print job id.
|
PrintJobInfo |
getInfo()
Gets the
PrintJobInfo that describes this job. |
String |
getTag()
Gets the print job tag.
|
boolean |
hasAdvancedOption(String key)
Gets whether this job has a given advanced (printer specific) print
option.
|
int |
hashCode()
Returns a hash code value for the object.
|
boolean |
isBlocked()
Gets whether this print job is blocked.
|
boolean |
isCancelled()
Gets whether this print job is cancelled.
|
boolean |
isCompleted()
Gets whether this print job is completed.
|
boolean |
isFailed()
Gets whether this print job is failed.
|
boolean |
isQueued()
Gets whether this print job is queued.
|
boolean |
isStarted()
Gets whether this print job is started.
|
void |
setProgress(float progress)
Sets the progress of this print job as a fraction of 1.
|
void |
setStatus(CharSequence status)
Sets the status of this print job.
|
void |
setStatus(int statusResId)
Sets the status of this print job as a string resource.
|
boolean |
setTag(String tag)
Sets a tag that is valid in the context of a
PrintService
and is not interpreted by the system. |
boolean |
start()
Starts the print job.
|
public PrintJobId getId()
public PrintJobInfo getInfo()
PrintJobInfo
that describes this job.
Node:The returned info object is a snapshot of the current print job state. Every call to this method returns a fresh info object that reflects the current print job state.
public PrintDocument getDocument()
public boolean isQueued()
public boolean isStarted()
complete()
,
cancel()
,
fail(String)
public boolean isBlocked()
start()
,
cancel()
,
fail(String)
public boolean isCompleted()
complete()
public boolean isFailed()
fail(String)
public boolean isCancelled()
cancel()
public boolean start()
isQueued()
or isBlocked()
returns true and you started
resumed printing.
This resets the print status to null. Set the new status by using setStatus(java.lang.CharSequence)
.
isQueued()
,
isBlocked()
public boolean block(String reason)
isStarted()
returns true and
you need to block the print job. For example, the user has to add some paper to continue
printing. To resume the print job call start()
. To change the reason call
setStatus(CharSequence)
.reason
- The human readable, short, and translated reason why the print job is blocked.isStarted()
,
isBlocked()
public boolean complete()
isStarted()
returns true and you are done printing.isStarted()
public boolean fail(String error)
isQueued()
or isStarted()
or isBlocked()
returns true you failed while printing.error
- The human readable, short, and translated reason
for the failure.isQueued()
,
isStarted()
,
isBlocked()
public boolean cancel()
isQueued()
or or #isBlocked()
returns
true and you canceled the print job as a response to a call to
PrintService.onRequestCancelPrintJob(PrintJob)
.isStarted()
,
isQueued()
,
isBlocked()
public void setProgress(float progress)
progress
- The new progresspublic void setStatus(CharSequence status)
setStatus(CharSequence)
,
setStatus(int)
, block(String)
, or fail(String)
,status
- The new status. If null the status will be empty.public void setStatus(@StringRes int statusResId)
setStatus(CharSequence)
,
setStatus(int)
, block(String)
, or fail(String)
,statusResId
- The new status as a String resource. If 0 the status will be empty.public boolean setTag(String tag)
PrintService
and is not interpreted by the system. For example, a print service
may set as a tag the key of the print job returned by a remote
print server, if the printing is off handed to a cloud based service.tag
- The tag.public String getTag()
setTag(String)
public String getAdvancedStringOption(String key)
key
- The option key.public boolean hasAdvancedOption(String key)
key
- The option key.public int getAdvancedIntOption(String key)
key
- The option key.public boolean equals(Object obj)
Object
The equals
method implements an equivalence relation
on non-null object references:
x
, x.equals(x)
should return
true
.
x
and y
, x.equals(y)
should return true
if and only if
y.equals(x)
returns true
.
x
, y
, and z
, if
x.equals(y)
returns true
and
y.equals(z)
returns true
, then
x.equals(z)
should return true
.
x
and y
, multiple invocations of
x.equals(y)
consistently return true
or consistently return false
, provided no
information used in equals
comparisons on the
objects is modified.
x
,
x.equals(null)
should return false
.
The equals
method for class Object
implements
the most discriminating possible equivalence relation on objects;
that is, for any non-null reference values x
and
y
, this method returns true
if and only
if x
and y
refer to the same object
(x == y
has the value true
).
Note that it is generally necessary to override the hashCode
method whenever this method is overridden, so as to maintain the
general contract for the hashCode
method, which states
that equal objects must have equal hash codes.
equals
in class Object
obj
- the reference object with which to compare.true
if this object is the same as the obj
argument; false
otherwise.Object.hashCode()
,
HashMap
public int hashCode()
Object
HashMap
.
The general contract of hashCode
is:
hashCode
method
must consistently return the same integer, provided no information
used in equals
comparisons on the object is modified.
This integer need not remain consistent from one execution of an
application to another execution of the same application.
equals(Object)
method, then calling the hashCode
method on each of
the two objects must produce the same integer result.
Object.equals(java.lang.Object)
method, then calling the hashCode
method on each of the
two objects must produce distinct integer results. However, the
programmer should be aware that producing distinct integer results
for unequal objects may improve the performance of hash tables.
As much as is reasonably practical, the hashCode method defined by
class Object
does return distinct integers for distinct
objects. (This is typically implemented by converting the internal
address of the object into an integer, but this implementation
technique is not required by the
JavaTM programming language.)
hashCode
in class Object
Object.equals(java.lang.Object)
,
System.identityHashCode(java.lang.Object)