public interface PrintService
PrintService
represents a printer available for printing.
The print service hereby may be a real physical printer device, a printer group with same capabilities or a logical print service (like for example a PDF writer). The print service is used to query the capabilities of the represented printer instance. If a suitable print service is found it is used to create a print job for the actual printing process.
DocPrintJob
Modifier and Type | Method and Description |
---|---|
void |
addPrintServiceAttributeListener(PrintServiceAttributeListener listener)
Registers a print service attribute listener to this print service.
|
DocPrintJob |
createPrintJob()
Creates and returns a new print job which is capable to handle all
the document flavors supported by this print service.
|
boolean |
equals(Object obj)
Determines if two services refer to the same underlying service.
|
<T extends PrintServiceAttribute> |
getAttribute(Class<T> category)
Returns the value of the single specified attribute.
|
PrintServiceAttributeSet |
getAttributes()
Returns the attributes describing this print service.
|
Object |
getDefaultAttributeValue(Class<? extends Attribute> category)
Determines and returns the default value for a given attribute category
of this print service.
|
String |
getName()
Returns the name of this print service.
|
ServiceUIFactory |
getServiceUIFactory()
Returns a factory for UI components if supported by the print service.
|
Class<?>[] |
getSupportedAttributeCategories()
Returns all supported attribute categories.
|
Object |
getSupportedAttributeValues(Class<? extends Attribute> category,
DocFlavor flavor,
AttributeSet attributes)
Determines and returns all supported attribute values of a given
attribute category a client can use when setting up a print job
for this print service.
|
DocFlavor[] |
getSupportedDocFlavors()
Determines and returns an array of all supported document flavors which
can be used to supply print data to this print service.
|
AttributeSet |
getUnsupportedAttributes(DocFlavor flavor,
AttributeSet attributes)
Identifies all the unsupported attributes of the given set of attributes
in the context of the specified document flavor.
|
int |
hashCode()
Returns a hashcode for this print service.
|
boolean |
isAttributeCategorySupported(Class<? extends Attribute> category)
Determines a given attribute category is supported by this
print service implementation.
|
boolean |
isAttributeValueSupported(Attribute attrval,
DocFlavor flavor,
AttributeSet attributes)
Determines if a given attribute value is supported when creating a print
job for this print service.
|
boolean |
isDocFlavorSupported(DocFlavor flavor)
Determines if a given document flavor is supported or not.
|
void |
removePrintServiceAttributeListener(PrintServiceAttributeListener listener)
De-registers a print service attribute listener from this print service.
|
DocPrintJob createPrintJob()
boolean equals(Object obj)
equals
in class Object
obj
- the service to check againsttrue
if both services refer to the same underlying
service, false
otherwise.Object.hashCode()
<T extends PrintServiceAttribute> T getAttribute(Class<T> category)
category
- the category of a PrintServiceAttribute
null
if the attribute
category is not supported by this print service implementation.NullPointerException
- if category is null
.IllegalArgumentException
- if category is not a class that
implements PrintServiceAttribute
.PrintServiceAttributeSet getAttributes()
PrintServiceAttributeListener
may be registered.addPrintServiceAttributeListener(PrintServiceAttributeListener)
Object getDefaultAttributeValue(Class<? extends Attribute> category)
A return value of null
means either that the print service
does not support the attribute category or there is no default value
available for this category. To distinguish these two case one can test
with isAttributeCategorySupported(Class)
if the category is
supported.
category
- the category of the attributenull
.NullPointerException
- if category
is null
IllegalArgumentException
- if category
is a class
not implementing Attribute
String getName()
PrinterName
attribute.ServiceUIFactory getServiceUIFactory()
null
.Class<?>[] getSupportedAttributeCategories()
Object getSupportedAttributeValues(Class<? extends Attribute> category, DocFlavor flavor, AttributeSet attributes)
The returned object may be one of the following types:
category
- the attribute category to testflavor
- the document flavor to use, or null
attributes
- set of attributes for a supposed job,
or null
null
if this print
service doesn't support the given attribute category at all.NullPointerException
- if category
is nullIllegalArgumentException
- if category
is a class not
implementing Attribute
, or if flavor
is not
supportedDocFlavor[] getSupportedDocFlavors()
The supported attribute categories may differ between the supported
document flavors. To test for supported attributes one can use the
getUnsupportedAttributes(DocFlavor, AttributeSet)
method with
the specific doc flavor and attributes set.
AttributeSet getUnsupportedAttributes(DocFlavor flavor, AttributeSet attributes)
The given flavor has to be supported by the print service (use
isDocFlavorSupported(DocFlavor)
to verify). The method will
return null
if all given attributes are supported. Otherwise
a set of unsupported attributes are returned. The attributes in the
returned set may be completely unsupported or only the specific requested
value. If flavor is null
the default document flavor of the
print service is used in the identification process.
flavor
- document flavor to test, or null
.attributes
- set of printing attributes for a supposed jobnull
if this print service supports all the given
attributes for the specified doc flavor. Otherwise the set of unsupported
attributes are returned.IllegalArgumentException
- if flavor
is unsupportedint hashCode()
hashCode
in class Object
Object.equals(Object)
,
System.identityHashCode(Object)
boolean isAttributeCategorySupported(Class<? extends Attribute> category)
category
- the category to checktrue
if category
is supported,
false
otherwise.NullPointerException
- if category
is null
IllegalArgumentException
- if category
is a class not
implementing Attribute
.boolean isAttributeValueSupported(Attribute attrval, DocFlavor flavor, AttributeSet attributes)
If either the document flavor or the provided attributes are
null
it is determined if the given attribute value is
supported in some combination of the available document flavors and
attributes of the print service. Otherwise it is checked for the
specific context of the given document flavor/attributes set.
attrval
- the attribute value to checkflavor
- the document flavor to use, or null
.attributes
- set of attributes to use, or null
.true
if the attribute value is supported in the
requested context, false
otherwise.NullPointerException
- if attrval
is null
.IllegalArgumentException
- if flavor
is not supported
by this print serviceboolean isDocFlavorSupported(DocFlavor flavor)
flavor
- the document flavor to checktrue
if flavor
is supported,
false
otherwise.NullPointerException
- if flavor
is null.void addPrintServiceAttributeListener(PrintServiceAttributeListener listener)
listener
- the listener to addvoid removePrintServiceAttributeListener(PrintServiceAttributeListener listener)
listener
- the listener to remove