Top Description Fields Constructors Methods
javax.print

public final Class SimpleDoc

extends Object
implements Doc
Class Inheritance
All Implemented Interfaces
javax.print.Doc
Imports
java.io.ByteArrayInputStream, .CharArrayReader, .IOException, .InputStream, .Reader, .StringReader, javax.print.attribute.AttributeSetUtilities, .DocAttributeSet

This class is an implementation of interface Doc that can be used in many common printing requests. It can handle all of the presently defined "pre-defined" doc flavors defined as static variables in the DocFlavor class.

In particular this class implements certain required semantics of the Doc specification as follows:

Clients who want to re-use the doc object in other jobs, or need a MultiDoc will not want to use this class.

If the print data is a stream, or a print job requests data as a stream, then SimpleDoc does not monitor if the service properly closes the stream after data transfer completion or job termination. Clients may prefer to use provide their own implementation of doc that adds a listener to monitor job completion and to validate that resources such as streams are freed (ie closed).

Field Summary

Modifier and TypeField and Description
private DocAttributeSet
attributes

The set of printing attributes for this doc.

private DocFlavor
flavor

The doc flavor in which this doc will supply its piece of print data.

private InputStream
inStream

The input stream for extracting byte print data from this doc.

private Object
printData

The print data.

private Reader
reader

The reader for extracting character print data from this doc.

Constructor Summary

AccessConstructor and Description
public
SimpleDoc(Object
the print data object
printData
,
DocFlavor
the DocFlavor object
flavor
,
DocAttributeSet
a DocAttributeSet, which can be null
attributes
)

Constructs a SimpleDoc with the specified print data, doc flavor and doc attribute set.

Method Summary

Modifier and TypeMethod and Description
public DocAttributeSet

Returns:

unmodifiable set of printing attributes for this doc, or null to obtain all attribute values from the job's attribute set
getAttributes
()

Implements javax.print.Doc.getAttributes.

Obtains the set of printing attributes for this doc object.
public DocFlavor

Returns:

doc flavor
getDocFlavor
()

Implements javax.print.Doc.getDocFlavor.

Determines the doc flavor in which this doc object will supply its piece of print data.
public Object

Returns:

print data representation object
getPrintData
()

Implements javax.print.Doc.getPrintData.

Obtains the print data representation object that contains this doc object's piece of print data in the format corresponding to the supported doc flavor.
public Reader

Returns:

a Reader for reading the print data characters from this doc. If a reader cannot be provided because this doc does not meet the criteria stated above, null is returned.
getReaderForText
()

Implements javax.print.Doc.getReaderForText.

Obtains a reader for extracting character print data from this doc.
public InputStream

Returns:

an InputStream for reading the print data bytes from this doc. If an input stream cannot be provided because this doc does not meet the criteria stated above, null is returned.
getStreamForBytes
()

Implements javax.print.Doc.getStreamForBytes.

Obtains an input stream for extracting byte print data from this doc.
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

attributesback to summary
private DocAttributeSet attributes

The set of printing attributes for this doc.

flavorback to summary
private DocFlavor flavor

The doc flavor in which this doc will supply its piece of print data.

inStreamback to summary
private InputStream inStream

The input stream for extracting byte print data from this doc.

printDataback to summary
private Object printData

The print data.

readerback to summary
private Reader reader

The reader for extracting character print data from this doc.

Constructor Detail

SimpleDocback to summary
public SimpleDoc(Object printData, DocFlavor flavor, DocAttributeSet attributes)

Constructs a SimpleDoc with the specified print data, doc flavor and doc attribute set.

Parameters
printData:Object

the print data object

flavor:DocFlavor

the DocFlavor object

attributes:DocAttributeSet

a DocAttributeSet, which can be null

Exceptions
IllegalArgumentException:
if flavor or printData is null, or the printData does not correspond to the specified doc flavor--for example, the data is not of the type specified as the representation in the DocFlavor

Method Detail

getAttributesback to summary
public DocAttributeSet getAttributes()

Implements javax.print.Doc.getAttributes.

Obtains the set of printing attributes for this doc object. If the returned attribute set includes an instance of a particular attribute X, the printer must use that attribute value for this doc, overriding any value of attribute X in the job's attribute set. If the returned attribute set does not include an instance of a particular attribute X or if null is returned, the printer must consult the job's attribute set to obtain the value for attribute X, and if not found there, the printer must use an implementation-dependent default value. The returned attribute set is unmodifiable.

Returns:DocAttributeSet

unmodifiable set of printing attributes for this doc, or null to obtain all attribute values from the job's attribute set

getDocFlavorback to summary
public DocFlavor getDocFlavor()

Implements javax.print.Doc.getDocFlavor.

Determines the doc flavor in which this doc object will supply its piece of print data.

Returns:DocFlavor

doc flavor

getPrintDataback to summary
public Object getPrintData() throws IOException

Implements javax.print.Doc.getPrintData.

Obtains the print data representation object that contains this doc object's piece of print data in the format corresponding to the supported doc flavor. The getPrintData() method returns an instance of the representation class whose name is given by getDocFlavor().getRepresentationClassName(), and the return value can be cast from class Object to that representation class.

Returns:Object

print data representation object

Exceptions
IOException:
if the representation class is a stream and there was an I/O error while constructing the stream
getReaderForTextback to summary
public Reader getReaderForText() throws IOException

Implements javax.print.Doc.getReaderForText.

Obtains a reader for extracting character print data from this doc. The Doc implementation is required to support this method if the DocFlavor has one of the following print data representation classes, and return null otherwise:

  • char[]
  • java.lang.String
  • java.io.Reader
The doc's print data representation object is used to construct and return a Reader for reading the print data as a stream of characters from the print data representation object. However, if the print data representation object is itself a Reader then the print data representation object is simply returned.
Returns:Reader

a Reader for reading the print data characters from this doc. If a reader cannot be provided because this doc does not meet the criteria stated above, null is returned.

Exceptions
IOException:
if there was an I/O error while creating the reader
getStreamForBytesback to summary
public InputStream getStreamForBytes() throws IOException

Implements javax.print.Doc.getStreamForBytes.

Obtains an input stream for extracting byte print data from this doc. The Doc implementation is required to support this method if the DocFlavor has one of the following print data representation classes; otherwise this method returns null:

  • byte[]
  • java.io.InputStream
The doc's print data representation object is obtained. Then, an input stream for reading the print data from the print data representation object as a stream of bytes is created and returned. However, if the print data representation object is itself an input stream then the print data representation object is simply returned.
Returns:InputStream

an InputStream for reading the print data bytes from this doc. If an input stream cannot be provided because this doc does not meet the criteria stated above, null is returned.

Exceptions
IOException:
if there was an I/O error while creating the input stream