This class is an implementation of interface
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
In particular this class implements certain required semantics of the
Doc specification as follows:
- constructs a stream for the service if requested and appropriate.
- ensures the same object is returned for each call on a method.
- ensures multiple threads can access the
- performs some validation of that the data matches the doc flavor.
Clients who want to re-use the doc object in other jobs, or need a
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).