APIdia Launch Partner
Top Description Inners Fields Constructors Methods
javax.print

public abstract Class StreamPrintServiceFactory

extends Object
Class Inheritance
Known Direct Subclasses
sun.print.PSStreamPrinterFactory
Imports
java.io.OutputStream, java.util.ArrayList, .Iterator, .ServiceConfigurationError, .ServiceLoader, javax.print.attribute.PrintRequestAttributeSet

A StreamPrintServiceFactory is the factory for StreamPrintService instances, which can print to an output stream in a particular document format described as a mime type. A typical output document format may be Postscript(TM).

This class is implemented by a service and located by the implementation using the ServiceLoader facility.

Applications locate instances of this class by calling the lookupStreamPrintServiceFactories(DocFlavor, String) method.

Applications can use a StreamPrintService obtained from a factory in place of a PrintService which represents a physical printer device.

Nested and Inner Type Summary

Modifier and TypeClass and Description
pack-priv static class
StreamPrintServiceFactory.Services

Contains a list of factories.

Field Summary

Modifier and TypeField and Description
private static final StreamPrintServiceFactory.Services

Constructor Summary

AccessConstructor and Description
protected
StreamPrintServiceFactory()

Constructor for subclasses to call.

Method Summary

Modifier and TypeMethod and Description
private static ArrayList<StreamPrintServiceFactory>

Returns:

all factories
getAllFactories
()

Returns all factories for print services.

private static ArrayList<StreamPrintServiceFactory>

Returns:

matching factories for stream print service instance, empty if no suitable factories could be located
getFactories
(DocFlavor
of the input document type - null means match all types
flavor
,
String
representing the required output format, used to identify suitable stream printer factories. A value of null means match all formats.
outType
)

Utility method for lookupStreamPrintServiceFactories.

private static ArrayList<StreamPrintServiceFactory>

Returns:

the list of factories
getListOfFactories
()

Returns the list of factories.

public abstract String

Returns:

the output format described as a mime type
getOutputFormat
()

Queries the factory for the document format that is emitted by printers obtained from this factory.

public abstract StreamPrintService

Returns:

a PrintService which will generate the format specified by the DocFlavor supported by this factory
getPrintService
(OutputStream
destination stream for generated output
out
)

Returns a StreamPrintService that can print to the specified output stream.

private static StreamPrintServiceFactory.Services

Returns:

the services
getServices
()

Returns the singleton Services instance.

public abstract DocFlavor[]

Returns:

array of supported doc flavors
getSupportedDocFlavors
()

Queries the factory for the document flavors that can be accepted by printers obtained from this factory.

private static ArrayList<StreamPrintServiceFactory>

Returns:

the list of factories
initListOfFactories
()

Initialize the list of factories.

private static boolean

Returns:

true if flavors contains the flavor object; false otherwise
isMember
(DocFlavor
the flavor
flavor
,
DocFlavor[]
the array of flavors
flavors
)

Checks if the array of flavors contains the flavor object.

public static StreamPrintServiceFactory[]

Returns:

matching factories for stream print service instance, empty if no suitable factories could be located
lookupStreamPrintServiceFactories
(DocFlavor
of the input document type - null means match all types
flavor
,
String
representing the required output format, used to identify suitable stream printer factories. A value of null means match all formats.
outputMimeType
)

Locates factories for print services that can be used with a print job to output a stream of data in the format specified by outputMimeType.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

SERVICESback to summary
private static final StreamPrintServiceFactory.Services SERVICES

Constructor Detail

StreamPrintServiceFactoryback to summary
protected StreamPrintServiceFactory()

Constructor for subclasses to call.

Method Detail

getAllFactoriesback to summary
private static ArrayList<StreamPrintServiceFactory> getAllFactories()

Returns all factories for print services.

Returns:ArrayList<StreamPrintServiceFactory>

all factories

getFactoriesback to summary
private static ArrayList<StreamPrintServiceFactory> getFactories(DocFlavor flavor, String outType)

Utility method for lookupStreamPrintServiceFactories.

Locates factories for print services that can be used with a print job to output a stream of data in the format specified by outputMimeType.

Parameters
flavor:DocFlavor

of the input document type - null means match all types

outType:String

representing the required output format, used to identify suitable stream printer factories. A value of null means match all formats.

Returns:ArrayList<StreamPrintServiceFactory>

matching factories for stream print service instance, empty if no suitable factories could be located

getListOfFactoriesback to summary
private static ArrayList<StreamPrintServiceFactory> getListOfFactories()

Returns the list of factories.

Returns:ArrayList<StreamPrintServiceFactory>

the list of factories

getOutputFormatback to summary
public abstract String getOutputFormat()

Queries the factory for the document format that is emitted by printers obtained from this factory.

Returns:String

the output format described as a mime type

getPrintServiceback to summary
public abstract StreamPrintService getPrintService(OutputStream out)

Returns a StreamPrintService that can print to the specified output stream. The output stream is created and managed by the application. It is the application's responsibility to close the stream and to ensure that this Printer is not reused. The application should not close this stream until any print job created from the printer is complete. Doing so earlier may generate a PrinterException and an event indicating that the job failed.

Whereas a PrintService connected to a physical printer can be reused, a StreamPrintService connected to a stream cannot. The underlying StreamPrintService may be disposed by the print system with the dispose method before returning from the print method of DocPrintJob so that the print system knows this printer is no longer usable. This is equivalent to a physical printer going offline - permanently. Applications may supply a null print stream to create a queryable service. It is not valid to create a PrintJob for such a stream. Implementations which allocate resources on construction should examine the stream and may wish to only allocate resources if the stream is non-null.

Parameters
out:OutputStream

destination stream for generated output

Returns:StreamPrintService

a PrintService which will generate the format specified by the DocFlavor supported by this factory

getServicesback to summary
private static StreamPrintServiceFactory.Services getServices()

Returns the singleton Services instance.

Returns:StreamPrintServiceFactory.Services

the services

getSupportedDocFlavorsback to summary
public abstract DocFlavor[] getSupportedDocFlavors()

Queries the factory for the document flavors that can be accepted by printers obtained from this factory.

Returns:DocFlavor[]

array of supported doc flavors

initListOfFactoriesback to summary
private static ArrayList<StreamPrintServiceFactory> initListOfFactories()

Initialize the list of factories.

Returns:ArrayList<StreamPrintServiceFactory>

the list of factories

isMemberback to summary
private static boolean isMember(DocFlavor flavor, DocFlavor[] flavors)

Checks if the array of flavors contains the flavor object.

Parameters
flavor:DocFlavor

the flavor

flavors:DocFlavor[]

the array of flavors

Returns:boolean

true if flavors contains the flavor object; false otherwise

lookupStreamPrintServiceFactoriesback to summary
public static StreamPrintServiceFactory[] lookupStreamPrintServiceFactories(DocFlavor flavor, String outputMimeType)

Locates factories for print services that can be used with a print job to output a stream of data in the format specified by outputMimeType.

The outputMimeType parameter describes the document type that you want to create, whereas the flavor parameter describes the format in which the input data will be provided by the application to the StreamPrintService.

Although null is an acceptable value to use in the lookup of stream printing services, it's typical to search for a particular desired format, such as Postscript(TM).

Parameters
flavor:DocFlavor

of the input document type - null means match all types

outputMimeType:String

representing the required output format, used to identify suitable stream printer factories. A value of null means match all formats.

Returns:StreamPrintServiceFactory[]

matching factories for stream print service instance, empty if no suitable factories could be located

javax.print back to summary

pack-priv Class StreamPrintServiceFactory.Services

extends Object
Class Inheritance

Contains a list of factories.

Field Summary

Modifier and TypeField and Description
private ArrayList<StreamPrintServiceFactory>
listOfFactories

The list of factories.

Constructor Summary

AccessConstructor and Description
pack-priv

Method Summary

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

listOfFactoriesback to summary
private ArrayList<StreamPrintServiceFactory> listOfFactories

The list of factories.

Constructor Detail

Servicesback to summary
pack-priv Services()