public interface Doc
Interface Doc specifies the interface for an object that supplies one piece of print data for a Print Job. "Doc" is a short, easy-to-pronounce term that means "a piece of print data." The client passes to the Print Job an object that implements interface Doc, and the Print Job calls methods on that object to obtain the print data. The Doc interface lets a Print Job:
DocFlavor),
in which the print data is available. A doc flavor designates the print
data format (a MIME type) and the representation class of the object
from which the print data comes.
javax.print.attribute. The doc returns its printing attributes stored in
an javax.print.attribute.DocAttributeSet.
Each method in an implementation of interface Doc is permitted always to
return the same object each time the method is called.
This has implications
for a Print Job or other caller of a doc object whose print data
representation object "consumes" the print data as the caller obtains the
print data, such as a print data representation object which is a stream.
Once the Print Job has called and obtained the stream, any further calls to
getPrintData() will return the same
stream object upon which reading may already be in progress, not a new
stream object that will re-read the print data from the beginning. Specifying
a doc object to behave this way simplifies the implementation of doc objects,
and is justified on the grounds that a particular doc is intended to convey
print data only to one Print Job, not to several different Print Jobs. (To
convey the same print data to several different Print Jobs, you have to
create several different doc objects on top of the same print data source.)
getPrintData()
Interface Doc affords considerable implementation flexibility. The print data
might already be in existence when the doc object is constructed. In this
case the objects returned by the doc's methods can be supplied to the doc's
constructor, be stored in the doc ahead of time, and simply be returned when
called for. Alternatively, the print data might not exist yet when the doc
object is constructed. In this case the doc object might provide a "lazy"
implementation that generates the print data representation object (and/or
the print data) only when the Print Job calls for it (when the Print Job
calls the method).
getPrintData()
There is no restriction on the number of client threads that may be simultaneously accessing the same doc. Therefore, all implementations of interface Doc must be designed to be multiple thread safe.
However there can only be one consumer of the print data obtained from a Doc.
If print data is obtained from the client as a stream, by calling Doc's
getReaderForText() or getStreamForBytes()
methods, or because the print data source is already an InputStream or
Reader, then the print service should always close these streams for the
client on all job completion conditions. With the following caveat.
If the print data is itself a stream, the service will always close it.
If the print data is otherwise something that can be requested as a stream,
the service will only close the stream if it has obtained the stream before
terminating. That is, just because a print service might request data as
a stream does not mean that it will, with the implications that Doc
implementors which rely on the service to close them should create such
streams only in response to a request from the service.
| Method Summary | |
|---|---|
DocAttributeSet |
getAttributes()
Obtains the set of printing attributes for this doc object. |
DocFlavor |
getDocFlavor()
Determines the doc flavor in which this doc object will supply its piece of print data. |
Object |
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. |
Reader |
getReaderForText()
Obtains a reader for extracting character print data from this doc. |
InputStream |
getStreamForBytes()
Obtains an input stream for extracting byte print data from this doc. |
| Method Detail |
|---|
DocFlavor getDocFlavor()
Object getPrintData() throws IOException
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.
IOException - Thrown if the representation class is a stream and there was an I/O
error while constructing the stream.DocAttributeSet getAttributes()
Reader getReaderForText() throws IOException
IOException - Thrown if there was an I/O error while creating the reader.InputStream getStreamForBytes() throws IOException
IOException - Thrown if there was an I/O error while creating the input stream.Ces informations proviennent du site de http://java.sun.com
Le contenu de cette page provient du site de Sun, et est généré depuis un cache sur l'infobrol après certains traitements automatisés. La présentation peut donc différer du document original, mais le contenu aussi. Vous pouvez utiliser ce bouton pour afficher la page originale du site de Sun :
Maintenir les pages en cache sur différents sites peut offrir plus de disponibilité.
Chaque page est indexée dans la base de donnée, ce qui permet de retrouver facilement les informations, au moyen des sommaires, du moteur de recherche interne, etc.
Des facilités sont mises en place pour que les membres de l'infobrol puissent effectuer des traductions en français des différents documents. Ceci devrait permettre aux débutants en programmation Java de consulter les API en français s'ils maîtrisent moins bien la langue de Shakespeare. Dans le cas où une traduction a été soumise, elle est disponible au moyen d'un lien en bas de page. Si la traduction a été validée, la page s'affiche par défaut en français, et un lien en bas de page permet d'atteindre la version en anglais.
Le code sur l'infobrol est automatiquement coloré selon la syntaxe, et les différents mots clés sont transformés en liens pour accéder rapidement aux informations.
Vous avez la possibilité de partager vos expériences en proposant vos propres extraits de code en utilisant le bouton "ajouter un commentaire" en bas de page. Si vous visitez simplement l'infobrol, vous avez déjà accès à cette fonction, mais si vous étes membre du brol, vous pouvez en plus utiliser des boutons supplémentaires de mise en forme, dont la coloration automatique de vos extraits de codes.
Vous pouvez modifier vos préférences dans votre profil pour ne plus afficher les interactions avec les réseaux sociaux sur ces pages.
6 mots clés dont 0 définis manuellement (plus d'information...).
Avertissement
Cette page ne possède pas encore de mots clés manuels, ceci est donc un exemple automatique (les niveaux de pertinence sont fictifs, mais les liens sont valables). Pour tester le nuage avec une page qui contient des mots définis manuellement, vous pouvez cliquer ici.Vous pouvez modifier vos préférences dans votre profil pour ne plus afficher le nuage de mots clés.
Recherche (afficher)
Utilisateur (masquer)
Navigation (masquer)
Apparence (afficher)
Stats (afficher)
Citation (masquer)