JHotDraw 7.4.1

org.jhotdraw.draw.io
Class SerializationInputOutputFormat

java.lang.Object
  extended by org.jhotdraw.draw.io.SerializationInputOutputFormat
All Implemented Interfaces:
InputFormat, OutputFormat

public class SerializationInputOutputFormat
extends java.lang.Object
implements InputFormat, OutputFormat

SerializationInputOutputFormat uses Java Serialization for reading and and writing Drawing objects.

Version:
$Id: SerializationInputOutputFormat.java 604 2010-01-09 12:00:29Z rawcoder $
Author:
Werner Randelshofer

Constructor Summary
SerializationInputOutputFormat()
          Creates a new instance with format name "Drawing", file extension "xml" and mime type "image/x-jhotdraw".
SerializationInputOutputFormat(java.lang.String description, java.lang.String fileExtension, Drawing prototype)
          Creates a new instance using the specified parameters.
 
Method Summary
 java.awt.datatransfer.Transferable createTransferable(Drawing drawing, java.util.List<Figure> figures, double scaleFactor)
          Creates a Transferable for the specified list of Figures.
 java.lang.String getFileExtension()
          Returns the file extension for the output format.
 javax.swing.filechooser.FileFilter getFileFilter()
          Return a FileFilter that can be used to identify files which can be read with this input format.
 javax.swing.JComponent getInputFormatAccessory()
          Return a JFileChooser accessory that can be used to customize the input format.
 javax.swing.JComponent getOutputFormatAccessory()
          Return a JFileChooser accessory that can be used to customize the output format.
 boolean isDataFlavorSupported(java.awt.datatransfer.DataFlavor flavor)
          Returns true, if this InputFormat can readFigures TransferData using the specified DataFlavor.
 void read(java.io.File file, Drawing drawing)
          Reads figures from a file and replaces the children of the drawing with them.
 void read(java.io.File file, Drawing drawing, boolean replace)
          Reads figures from a file and adds them to the specified drawing.
 void read(java.io.InputStream in, Drawing drawing, boolean replace)
          Reads figures from a file and adds them to the specified drawing.
 void read(java.awt.datatransfer.Transferable t, Drawing drawing, boolean replace)
          Reads figures from the specified Transferable and adds them to the specified drawing.
 void write(java.io.File file, Drawing drawing)
          Writes a Drawing into a file.
 void write(java.io.OutputStream out, Drawing drawing)
          Writes a Drawing into an output stream.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SerializationInputOutputFormat

public SerializationInputOutputFormat()
Creates a new instance with format name "Drawing", file extension "xml" and mime type "image/x-jhotdraw".


SerializationInputOutputFormat

public SerializationInputOutputFormat(java.lang.String description,
                                      java.lang.String fileExtension,
                                      Drawing prototype)
Creates a new instance using the specified parameters.

Method Detail

getFileFilter

public javax.swing.filechooser.FileFilter getFileFilter()
Description copied from interface: InputFormat
Return a FileFilter that can be used to identify files which can be read with this input format. Typically, each input format has its own recognizable file naming convention.

Specified by:
getFileFilter in interface InputFormat
Specified by:
getFileFilter in interface OutputFormat
Returns:
FileFilter to be used with a javax.swing.JFileChooser

getInputFormatAccessory

public javax.swing.JComponent getInputFormatAccessory()
Description copied from interface: InputFormat
Return a JFileChooser accessory that can be used to customize the input format.

Specified by:
getInputFormatAccessory in interface InputFormat
Returns:
A JFileChooser accessory to be used with a javax.swing.JFileChooser Returns null, if no accessory is provided for this format.

read

public void read(java.io.File file,
                 Drawing drawing)
          throws java.io.IOException
Description copied from interface: InputFormat
Reads figures from a file and replaces the children of the drawing with them.

This is a convenience method for calling read(File,Drawing,true).

Specified by:
read in interface InputFormat
Parameters:
file - The file.
drawing - The drawing.
Throws:
java.io.IOException

read

public void read(java.io.File file,
                 Drawing drawing,
                 boolean replace)
          throws java.io.IOException
Description copied from interface: InputFormat
Reads figures from a file and adds them to the specified drawing.

Specified by:
read in interface InputFormat
Parameters:
file - The file.
drawing - The drawing.
replace - Set this to true, if the contents of the file replaces the contents of the drawing (for example, when loading a drawing from a file). Set this to false, to add the contents of the file to the drawing (for example, when the file has been dropped into the drawing view).
Throws:
java.io.IOException

read

public void read(java.io.InputStream in,
                 Drawing drawing,
                 boolean replace)
          throws java.io.IOException
Description copied from interface: InputFormat
Reads figures from a file and adds them to the specified drawing.

Specified by:
read in interface InputFormat
Parameters:
in - The input stream.
drawing - The drawing.
replace - Set this to true, if the contents of the stream replaces the contents of the drawing (for example, when loading a drawing from a stream). Set this to false, to add the contents of the file to the drawing (for example, when the stream has been dropped into the drawing view).
Throws:
java.io.IOException

isDataFlavorSupported

public boolean isDataFlavorSupported(java.awt.datatransfer.DataFlavor flavor)
Description copied from interface: InputFormat
Returns true, if this InputFormat can readFigures TransferData using the specified DataFlavor.

Specified by:
isDataFlavorSupported in interface InputFormat
Parameters:
flavor - A DataFlavor.

read

public void read(java.awt.datatransfer.Transferable t,
                 Drawing drawing,
                 boolean replace)
          throws java.awt.datatransfer.UnsupportedFlavorException,
                 java.io.IOException
Description copied from interface: InputFormat
Reads figures from the specified Transferable and adds them to the specified drawing.

Specified by:
read in interface InputFormat
Parameters:
t - The Transferable.
drawing - The drawing.
replace - Set this to true, if the contents of the transferable replaces the contents of the drawing (for example, when loading a drawing from a transferable). Set this to false, to add the contents of the transferable to the drawing (for example, when the transferable has been dropped or pasted into the drawing view).
Throws:
java.awt.datatransfer.UnsupportedFlavorException
java.io.IOException

getFileExtension

public java.lang.String getFileExtension()
Description copied from interface: OutputFormat
Returns the file extension for the output format. The file extension should be appended to a file name when storing a Drawing with the specified file format.

Specified by:
getFileExtension in interface OutputFormat

getOutputFormatAccessory

public javax.swing.JComponent getOutputFormatAccessory()
Description copied from interface: OutputFormat
Return a JFileChooser accessory that can be used to customize the output format.

Specified by:
getOutputFormatAccessory in interface OutputFormat
Returns:
A JFileChooser accessory to be used with a javax.swing.JFileChooser Returns null, if no accessory is provided for this format.

write

public void write(java.io.File file,
                  Drawing drawing)
           throws java.io.IOException
Description copied from interface: OutputFormat
Writes a Drawing into a file.

Specified by:
write in interface OutputFormat
Parameters:
file - The file.
drawing - The drawing.
Throws:
java.io.IOException

write

public void write(java.io.OutputStream out,
                  Drawing drawing)
           throws java.io.IOException
Description copied from interface: OutputFormat
Writes a Drawing into an output stream.

Specified by:
write in interface OutputFormat
Parameters:
out - The output stream.
drawing - The drawing.
Throws:
java.io.IOException

createTransferable

public java.awt.datatransfer.Transferable createTransferable(Drawing drawing,
                                                             java.util.List<Figure> figures,
                                                             double scaleFactor)
                                                      throws java.io.IOException
Description copied from interface: OutputFormat
Creates a Transferable for the specified list of Figures.

Specified by:
createTransferable in interface OutputFormat
Parameters:
drawing - The drawing.
figures - A list of figures of the drawing.
scaleFactor - The factor to be used, when the Transferable creates an image with a fixed size from the figures.
Returns:
The Transferable.
Throws:
java.io.IOException

Copyright 1996-2010 (c) by the authors and contributors of the JHotDraw project.
Some rights reserved.