|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjavax.swing.filechooser.FileFilter
org.argouml.persistence.AbstractFilePersister
To persist to and from zargo (zipped file) storage.
Field Summary | |
private EventListenerList |
listenerList
|
private static Logger |
LOG
|
Constructor Summary | |
AbstractFilePersister()
|
Method Summary | |
boolean |
accept(File f)
|
void |
addProgressListener(ProgressListener listener)
Add any object interested in listening to persistence progress |
protected File |
copyFile(File src,
File dest)
Copies one file src to another, raising file exceptions if there are some problems. |
protected File |
createTempFile(File file)
Create a temporary copy of the existing file. |
abstract Project |
doLoad(File file)
|
protected abstract void |
doSave(Project project,
File file)
Implement in your concrete class to save a project to a file. |
protected void |
fireProgressEvent(long percent)
Inform listeners of any progress notifications |
protected abstract String |
getDesc()
(Just the description, not the extension between "()".) |
String |
getDescription()
|
protected String |
getEncoding()
Supply the encoding to be used throughout the persistence mechanism. |
abstract String |
getExtension()
The extension valid for this type of file. |
private static String |
getExtension(File f)
|
private static String |
getExtension(String filename)
|
private void |
postSave(Project project,
File file)
Handle archiving on completion of a save such as renaming the temporary save file to the real filename. |
private void |
postSaveFailure(Project project,
File file,
SaveException e)
Handle any common requirements on detection of a save error. |
private void |
preSave(Project project,
File file)
Handle archiving of previous file or any other common requirements before saving a model to a file. |
void |
removeProgressListener(ProgressListener listener)
Remove any object no longer interested in listening to persistence progress |
void |
save(Project project,
File file)
Save a project to file. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
private static final Logger LOG
private EventListenerList listenerList
Constructor Detail |
public AbstractFilePersister()
Method Detail |
protected String getEncoding()
protected File createTempFile(File file) throws FileNotFoundException, IOException
file
- the file to copy.
FileNotFoundException
- if file not found
IOException
- if error reading or writingprotected File copyFile(File src, File dest) throws FileNotFoundException, IOException
dest
- The destination file.src
- The source file.
IOException
- if there is some problems with the files.
FileNotFoundException
- if any of the files cannot be found.public boolean accept(File f)
FileFilter.accept(java.io.File)
public abstract String getExtension()
protected abstract String getDesc()
private static String getExtension(File f)
private static String getExtension(String filename)
public String getDescription()
FileFilter.getDescription()
public final void save(Project project, File file) throws SaveException
This first archives the existing file, then calls doSave(...) to do the actual saving.
Should doSave(...) throw an exception then it is caught here and any rollback handled before rethrowing the exception.
save
in interface ProjectFilePersister
project
- The project being saved.file
- The file to which the save is taking place.
SaveException
- when anything goes wrongProjectFilePersister.save(
org.argouml.kernel.Project, java.io.File)
private void preSave(Project project, File file) throws SaveException
project
- The project being saved.file
- The file to which the save is taking place.
SaveException
- when anything goes wrongprivate void postSave(Project project, File file) throws SaveException
project
- The project being saved.file
- The file to which the save is taking place.
SaveException
- when anything goes wrongprivate void postSaveFailure(Project project, File file, SaveException e) throws SaveException
project
- The project being saved.file
- The file to which the save is taking place.e
- The original exception that triggered a call to
this method.
SaveException
- if anything goes wrong in trying to
restore the previous archive.protected abstract void doSave(Project project, File file) throws SaveException
There is no need to worry about archiving or restoring archive on failure, that is handled by the rest of the framework.
project
- the project to savefile
- The file to write.
SaveException
- when anything goes wrongsave(
org.argouml.kernel.Project, java.io.File)
public abstract Project doLoad(File file) throws OpenException
doLoad
in interface ProjectFilePersister
file
- the file of the project to load.
OpenException
- when we fail to open from this urlorg.argouml.persistence.ProjectFilePersister#doLoad(
java.io.File, javax.swing.JProgressBar,
javax.swing.text.JTextComponent)
protected void fireProgressEvent(long percent)
percent
- the current percentage progress.public void addProgressListener(ProgressListener listener)
listener
- the interested listener.public void removeProgressListener(ProgressListener listener)
listener
- the listener to remove.
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
ArgoUML © 1996-2004 (20050222) | ArgoUML Homepage | ArgoUML Developers' page | ArgoUML Cookbook |