Package diva.gui
Class MultipageDocument
- java.lang.Object
-
- diva.gui.AbstractDocument
-
- diva.gui.MultipageDocument
-
- All Implemented Interfaces:
Document
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:
- $Id$
- Author:
- John Reekie
-
-
Constructor Summary
Constructors Constructor Description MultipageDocument(java.lang.String title, Application a, ModelParser parser, ModelWriter writer)
Construct a multipage document that is owned by the given application
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
Close the document.MultipageModel
getMultipageModel()
Return the model associated with this document.java.lang.String
getTitle()
Return the title of this document.void
open()
Open the document from its current file.void
save()
Save the document to the current file.void
saveAs(java.io.File file)
Save the document to the given file.void
saveAs(java.net.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
-
-
-
-
Constructor Detail
-
MultipageDocument
public MultipageDocument(java.lang.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 java.lang.Exception
Close the document. This method doesn't do anything, as graph data doesn't change.- Specified by:
close
in interfaceDocument
- Overrides:
close
in classAbstractDocument
- Throws:
java.lang.Exception
- If the close operation fails.
-
getTitle
public java.lang.String getTitle()
Return the title of this document.- Specified by:
getTitle
in interfaceDocument
- Overrides:
getTitle
in classAbstractDocument
- Returns:
- The title.
-
getMultipageModel
public MultipageModel getMultipageModel()
Return the model associated with this document.
-
open
public void open() throws java.lang.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 interfaceDocument
- Specified by:
open
in classAbstractDocument
- Throws:
java.lang.Exception
- If there is no file, or if the I/O operation failed.
-
save
public void save() throws java.lang.Exception
Save the document to the current file.- Specified by:
save
in interfaceDocument
- Specified by:
save
in classAbstractDocument
- Throws:
java.lang.Exception
- If there is no file, or if the I/O operation failed.
-
saveAs
public void saveAs(java.io.File file) throws java.lang.Exception
Save the document to the given file. Do not change the file attribute to the new File object.- Specified by:
saveAs
in interfaceDocument
- Specified by:
saveAs
in classAbstractDocument
- Throws:
java.lang.Exception
- If the I/O operation failed.- See Also:
AbstractDocument.save()
-
saveAs
public void saveAs(java.net.URL url)
Throw an exception, as save to URLs is not supported.- Specified by:
saveAs
in interfaceDocument
- Specified by:
saveAs
in classAbstractDocument
- Throws:
java.lang.UnsupportedOperationException
- Always thrown.- See Also:
AbstractDocument.save()
-
-