jigcell.compare.impl
Class SystemPrinterDataSource

java.lang.Object
  extended by javax.swing.TransferHandler
      extended by jigcell.compare.impl.Transferer
          extended by jigcell.compare.impl.DataSource
              extended by jigcell.compare.impl.OwnedDataSource
                  extended by jigcell.compare.impl.PrinterDataSource
                      extended by jigcell.compare.impl.SystemPrinterDataSource
All Implemented Interfaces:
java.awt.datatransfer.Transferable, java.beans.PropertyChangeListener, java.io.Serializable, java.lang.Cloneable, java.util.EventListener, IDataSource, IWriteableDataSource

public final class SystemPrinterDataSource
extends PrinterDataSource

A transfer agent for a source of data that supports writing to a printer.

This code is licensed under the DARPA BioCOMP Open Source License. See LICENSE for more details.

Author:
Nicholas Allen
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from interface jigcell.compare.IDataSource
IDataSource.Option
 
Field Summary
private static int DEFAULT_SERVICEUIX
          Default popup location for the printer service control
private static int DEFAULT_SERVICEUIY
          Default popup location for the printer service control
private static java.lang.String FORMAT_PNG
          Format descriptor for png data
private static java.lang.String MESSAGE_NOPNGPRINTERERROR
          Error message when no png printers are available
private static java.lang.String MESSAGE_NOPSPRINTERERROR
          Error message when no postscript printers are available
private static java.lang.String OPTION_PRINTSERVICE
          Option indicating the print service to use
private static java.lang.String POSTSCRIPT_EOF
          End of file marker in postscript documents
private static char POSTSCRIPT_NEWLINE
          Line separator in postscript documents
private static java.lang.String POSTSCRIPT_ONEPAGE
          One page marker in postscript documents
private static java.lang.String POSTSCRIPT_PAGE
          Page marker in postscript documents
private static java.lang.String POSTSCRIPT_PAGECOUNT
          Page count operator in postscript documents
private static char POSTSCRIPT_PAGESEPARATOR
          Page separator in postscript documents
 
Fields inherited from class jigcell.compare.impl.PrinterDataSource
DEFAULT_PAGEHEIGHT, DEFAULT_PAGEWIDTH, DEFAULT_SCREENDPI, DESCRIPTION_WRITE, MESSAGE_NOFLAVORERROR
 
Fields inherited from class jigcell.compare.impl.OwnedDataSource
MESSAGE_PACKERROR, MESSAGE_PROXYERROR, OPTION_OWNER, OPTION_TRANSFERCLASS, SIGNATURE_TRANSFER
 
Fields inherited from class jigcell.compare.impl.DataSource
OPTIONS_LOCK, SEPARATOR_PAIR, SEPARATOR_PART, SEPARATORS
 
Fields inherited from class jigcell.compare.impl.Transferer
CSV_FOOTER, CSV_LINEPOSTPEND, CSV_LINEPREPEND, CSV_LINESEPARATOR, HTML_FOOTER, HTML_HEADPOSTPEND, HTML_HEADPREPEND, HTML_HEADSEPARATOR, HTML_LINEPOSTPEND, HTML_LINEPREPEND, HTML_LINESEPARATOR
 
Fields inherited from class javax.swing.TransferHandler
COPY, COPY_OR_MOVE, MOVE, NONE
 
Fields inherited from interface jigcell.compare.IWriteableDataSource
OPTION_WRITEDESCRIPTION, OPTION_WRITEICON
 
Fields inherited from interface jigcell.compare.IDataSource
OPTION_NAME
 
Constructor Summary
SystemPrinterDataSource()
          Creates a new printer that uses the system printer service.
 
Method Summary
 boolean configure()
          Does whatever configuration this data source requires and returns whether the configuration was completed successfully.
private  javax.print.PrintService getPrintServiceOption()
          The print service option.
private  void setPrintServiceOption(javax.print.PrintService service)
          Sets the print service option.
 void write(java.lang.Object data)
          Writes data to the source destroying the previous contents if multiple objects are not supported.
 
Methods inherited from class jigcell.compare.impl.OwnedDataSource
encode, getOwnerOption, getPredictedCompatibility, getPredictedCompatibility, getTransferClassOption, setOwnerOption, setTransferClassOption
 
Methods inherited from class jigcell.compare.impl.DataSource
addOption, addPropertyChangeListener, addPropertyChangeListener, clone, getName, getOption, getOptions, getOptionType, getPropertyChangeListeners, getPropertyChangeListeners, getReadDescriptionOption, getReadIconOption, getState, getWriteDescriptionOption, getWriteIconOption, initializeSource, persistSource, propertyChange, removePropertyChangeListener, removePropertyChangeListener, setName, setOption, setOptions, setOptionType, setReadDescriptionOption, setReadIconOption, setState, setWriteDescriptionOption, setWriteIconOption, toString, unpersistSource
 
Methods inherited from class jigcell.compare.impl.Transferer
addExtension, addFlavor, createCSVTable, createFormattedTable, createHTMLTable, getExceptionRecorder, getExpectedClasses, getExpectedClasses, getExpectedClasses, getFlavors, getFlavors, getPreferredExtensions, getPreferredExtensions, getTransferClass, getTransferData, getTransferDataFlavors, getTransferFlavor, isDataFlavorSupported, transfer
 
Methods inherited from class javax.swing.TransferHandler
canImport, createTransferable, exportAsDrag, exportDone, exportToClipboard, getCopyAction, getCutAction, getPasteAction, getSourceActions, getVisualRepresentation, importData
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface jigcell.compare.IWriteableDataSource
getWriteDescriptionOption, getWriteIconOption, setWriteDescriptionOption, setWriteIconOption
 
Methods inherited from interface jigcell.compare.IDataSource
addOption, clone, getName, getOption, getState, setOption, setState
 
Methods inherited from interface java.awt.datatransfer.Transferable
getTransferData, getTransferDataFlavors, isDataFlavorSupported
 

Field Detail

POSTSCRIPT_NEWLINE

private static final char POSTSCRIPT_NEWLINE
Line separator in postscript documents

See Also:
Constant Field Values

POSTSCRIPT_PAGESEPARATOR

private static final char POSTSCRIPT_PAGESEPARATOR
Page separator in postscript documents

See Also:
Constant Field Values

DEFAULT_SERVICEUIX

private static final int DEFAULT_SERVICEUIX
Default popup location for the printer service control

See Also:
Constant Field Values

DEFAULT_SERVICEUIY

private static final int DEFAULT_SERVICEUIY
Default popup location for the printer service control

See Also:
Constant Field Values

FORMAT_PNG

private static final java.lang.String FORMAT_PNG
Format descriptor for png data

See Also:
Constant Field Values

MESSAGE_NOPNGPRINTERERROR

private static final java.lang.String MESSAGE_NOPNGPRINTERERROR
Error message when no png printers are available

See Also:
Constant Field Values

MESSAGE_NOPSPRINTERERROR

private static final java.lang.String MESSAGE_NOPSPRINTERERROR
Error message when no postscript printers are available

See Also:
Constant Field Values

OPTION_PRINTSERVICE

private static final java.lang.String OPTION_PRINTSERVICE
Option indicating the print service to use

See Also:
Constant Field Values

POSTSCRIPT_EOF

private static final java.lang.String POSTSCRIPT_EOF
End of file marker in postscript documents

See Also:
Constant Field Values

POSTSCRIPT_ONEPAGE

private static final java.lang.String POSTSCRIPT_ONEPAGE
One page marker in postscript documents

See Also:
Constant Field Values

POSTSCRIPT_PAGE

private static final java.lang.String POSTSCRIPT_PAGE
Page marker in postscript documents

See Also:
Constant Field Values

POSTSCRIPT_PAGECOUNT

private static final java.lang.String POSTSCRIPT_PAGECOUNT
Page count operator in postscript documents

See Also:
Constant Field Values
Constructor Detail

SystemPrinterDataSource

public SystemPrinterDataSource()
Creates a new printer that uses the system printer service.

Method Detail

configure

public boolean configure()
Does whatever configuration this data source requires and returns whether the configuration was completed successfully.

Specified by:
configure in interface IDataSource
Overrides:
configure in class DataSource

write

public void write(java.lang.Object data)
           throws java.lang.Exception
Writes data to the source destroying the previous contents if multiple objects are not supported.

Parameters:
data - Data
Throws:
java.lang.Exception

getPrintServiceOption

private javax.print.PrintService getPrintServiceOption()
The print service option.


setPrintServiceOption

private void setPrintServiceOption(javax.print.PrintService service)
Sets the print service option.

Parameters:
service - Print service