diva.gui
Class MultipageDocument

java.lang.Object
  extended by diva.gui.AbstractDocument
      extended by diva.gui.MultipageDocument
All Implemented Interfaces:
Document
Direct Known Subclasses:
SketchDocument

public abstract class MultipageDocument
extends AbstractDocument

A document that contains a linear sequence of Pages. This class is useful for documents which their data into logical pages. Generally this class is most useful for partitioned documents where all the partitions are stored together. For partitions that are stored separately, it is probably easiest to just use separate documents. Note that a page can contain any kind of data, and the interpretation and graphical representation of a list of page is up to the concrete document class and the corresponding application. Other than containing a sequence of pages, this class is used the same as AbstractDocument and provides the same abstract methods.

Version:
$Revision: 1.5 $
Author:
John Reekie (johnr@eecs.berkeley.edu)

Constructor Summary
MultipageDocument(String title, Application a, ModelParser parser, ModelWriter writer)
          Construct a multipage document that is owned by the given application
 
Method Summary
 void close()
          Close the document.
 MultipageModel getMultipageModel()
          Return the model associated with this document.
 String getTitle()
          Return the title of this documen
 void open()
          Open the document from its current file.
 void save()
          Save the document to the current file.
 void saveAs(File file)
          Save the document to the given file.
 void saveAs(URL url)
          Throw an exception, as save to URLs is not supported.
 
Methods inherited from class diva.gui.AbstractDocument
addPropertyChangeListener, getApplication, getEditSupport, getFile, getShortTitle, getUndoManager, getURL, isDirty, isEditable, isWritable, removePropertyChangeListener, setDirty, setEditable, setFile, setURL, setWritable
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MultipageDocument

public MultipageDocument(String title,
                         Application a,
                         ModelParser parser,
                         ModelWriter writer)
Construct a multipage document that is owned by the given application

Method Detail

close

public void close()
           throws Exception
Close the document. This method doesn't do anything, as graph data doesn't change.

Specified by:
close in interface Document
Overrides:
close in class AbstractDocument
Throws:
Exception - If the close operation fails.

getTitle

public String getTitle()
Return the title of this documen

Specified by:
getTitle in interface Document
Overrides:
getTitle in class AbstractDocument

getMultipageModel

public MultipageModel getMultipageModel()
Return the model associated with this document.


open

public void open()
          throws Exception
Open the document from its current file. If successful, add a new Page to the document containing the model parsed from the current file.

Specified by:
open in interface Document
Specified by:
open in class AbstractDocument
Throws:
Exception - If there is no file, or if the I/O operation failed.

save

public void save()
          throws Exception
Save the document to the current file.

Specified by:
save in interface Document
Specified by:
save in class AbstractDocument
Throws:
Exception - If there is no file, or if the I/O operation failed.

saveAs

public void saveAs(File file)
            throws Exception
Save the document to the given file. Do not change the file attribute to the new File object.

Specified by:
saveAs in interface Document
Specified by:
saveAs in class AbstractDocument
Throws:
Exception - If the I/O operation failed.
See Also:
AbstractDocument.save()

saveAs

public void saveAs(URL url)
Throw an exception, as save to URLs is not supported.

Specified by:
saveAs in interface Document
Specified by:
saveAs in class AbstractDocument
Throws:
Exception - Always
See Also:
AbstractDocument.save()


Copyright © 2015 Central Laboratory of the Research Councils. All Rights Reserved.