javax.print

Interface PrintService

Known Subinterfaces:
MultiDocPrintService
Known Implementing Classes:
StreamPrintService

public interface PrintService

Method Summary

void
addPrintServiceAttributeListener(PrintServiceAttributeListener listener)
Registers a print service attribute listener to this print service.
DocPrintJob
createPrintJob()
Returns a new print job capable to handle all supported document flavors.
boolean
equals(Object obj)
Determines if two services refer to the same underlying service.
PrintServiceAttribute
getAttribute(Class category)
Returns the value of a single specified attribute.
PrintServiceAttributeSet
getAttributes()
Returns all attributes of this printer service
Object
getDefaultAttributeValue(Class category)
Returns the service's default value for a given attribute.
String
getName()
Returns the name of this print service.
ServiceUIFactory
getServiceUIFactory()
Returns a factory for UI components.
Class[]
getSupportedAttributeCategories()
Returns all supported attribute categories.
Object
getSupportedAttributeValues(Class category, DocFlavor flavor, AttributeSet attributes)
Returns all supported attribute values a client can use when setting up a print job with this service.
DocFlavor[]
getSupportedDocFlavors()
Returns an array of all supproted document flavors.
AttributeSet
getUnsupportedAttributes(DocFlavor flavor, AttributeSet attributes)
Returns all attributes that are unsupported for a print request in the context of a particular document flavor.
int
hashCode()
Returns a hashcode for this printer service.
boolean
isAttributeCategorySupported(Class category)
Determines a given attribute category is supported or not.
boolean
isAttributeValueSupported(Attribute attrval, DocFlavor flavor, AttributeSet attributes)
Determines a given attribute value is supported when creating a print job for this print service.
boolean
isDocFlavorSupported(DocFlavor flavor)
Determines a given document flavor is supported or not.
void
removePrintServiceAttributeListener(PrintServiceAttributeListener listener)
De-registers a print service attribute listener from this print service.

Method Details

addPrintServiceAttributeListener

public void addPrintServiceAttributeListener(PrintServiceAttributeListener listener)
Registers a print service attribute listener to this print service.
Parameters:
listener - the listener to add

createPrintJob

public DocPrintJob createPrintJob()
Returns a new print job capable to handle all supported document flavors.
Returns:
the new print job

equals

public boolean equals(Object obj)
Determines if two services refer to the same underlying service.
Overrides:
equals in interface Object
Parameters:
obj - the service to check against
Returns:
true if both services refer to the sam underlying service, false otherwise

getAttribute

public PrintServiceAttribute getAttribute(Class category)
Returns the value of a single specified attribute.
Parameters:
category - the category of a PrintServiceAttribute
Returns:
the value of the attribute
Throws:
NullPointerException - if category is null
IllegalArgumentException - if category is not a class that implements PrintServiceAttribute

getAttributes

public PrintServiceAttributeSet getAttributes()
Returns all attributes of this printer service
Returns:
all attributes of this print service

getDefaultAttributeValue

public Object getDefaultAttributeValue(Class category)
Returns the service's default value for a given attribute.
Parameters:
category - the category of the attribute
Returns:
the default value
Throws:
NullPointerException - if category is null
IllegalArgumentException - if category is a class not implementing Attribute

getName

public String getName()
Returns the name of this print service.
Returns:
the name

getServiceUIFactory

public ServiceUIFactory getServiceUIFactory()
Returns a factory for UI components.
Returns:
the factory

getSupportedAttributeCategories

public Class[] getSupportedAttributeCategories()
Returns all supported attribute categories.
Returns:
an array of all supported attribute categories

getSupportedAttributeValues

public Object getSupportedAttributeValues(Class category,
                                          DocFlavor flavor,
                                          AttributeSet attributes)
Returns all supported attribute values a client can use when setting up a print job with this service.
Parameters:
category - the attribute category to test
flavor - the document flavor to use, or null
attributes - set of printing attributes for a supposed job, or null
Returns:
object indicating supported values for category, or null if this print service doesnt support specifying doc-level or job-level attribute in a print request.
Throws:
NullPointerException - if category is null
IllegalArgumentException - if category is a class not implementing Attribute, or if flavor is not supported

getSupportedDocFlavors

public DocFlavor[] getSupportedDocFlavors()
Returns an array of all supproted document flavors.
Returns:
the supported document flavors

getUnsupportedAttributes

public AttributeSet getUnsupportedAttributes(DocFlavor flavor,
                                             AttributeSet attributes)
Returns all attributes that are unsupported for a print request in the context of a particular document flavor.
Parameters:
flavor - document flavor to test, or null
attributes - set of printing attributes for a supposed job
Returns:
null if this PrintService supports the print request specification, else the unsupported attributes
Throws:
IllegalArgumentException - if flavor is unsupported

hashCode

public int hashCode()
Returns a hashcode for this printer service.
Overrides:
hashCode in interface Object
Returns:
the hashcode

isAttributeCategorySupported

public boolean isAttributeCategorySupported(Class category)
Determines a given attribute category is supported or not.
Parameters:
category - the category to check
Returns:
true if category is supported, false otherwise
Throws:
NullPointerException - if category is null
IllegalArgumentException - if category is a class not implementing Attribute.

isAttributeValueSupported

public boolean isAttributeValueSupported(Attribute attrval,
                                         DocFlavor flavor,
                                         AttributeSet attributes)
Determines a given attribute value is supported when creating a print job for this print service.
Parameters:
attrval - the attribute value to check
flavor - the document flavor to use, or null
attributes - set of printing attributes to use, or null
Returns:
true if the attribute value is supported, false otherwise
Throws:
NullPointerException - if attrval is null
IllegalArgumentException - if flavor is not supported by this print service

isDocFlavorSupported

public boolean isDocFlavorSupported(DocFlavor flavor)
Determines a given document flavor is supported or not.
Parameters:
flavor - the document flavor to check
Returns:
true if flavor is supported, false otherwise
Throws:
NullPointerException - if flavor is null

removePrintServiceAttributeListener

public void removePrintServiceAttributeListener(PrintServiceAttributeListener listener)
De-registers a print service attribute listener from this print service.
Parameters:
listener - the listener to remove

PrintService.java -- Copyright (C) 2004 Free Software Foundation, Inc. This file is part of GNU Classpath. GNU Classpath is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. GNU Classpath is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Classpath; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.