edu.jhu.ece.iacl.jist.io
Class FileReaderWriter<T>

java.lang.Object
  extended by edu.jhu.ece.iacl.jist.io.FileReaderWriter<T>
Type Parameters:
T - The object type - this will be specified in extensions
Direct Known Subclasses:
ArrayDoubleListTxtReaderWriter, ArrayDoubleReaderWriter, ArrayIntegerReaderWriter, ArrayObjectTxtReaderWriter, CurveVtkReaderWriter, FiberCollectionReaderWriter, ImageDataReaderWriter, JistLayoutReaderWriter, ModelImageReaderWriter, PointSetVtkReaderWriter, RibbonVtkReaderWriter, ScriptReader, StringReaderWriter, SurfaceReaderWriter, VertexDoubleDxReaderWriter, VertexFloatDxReaderWriter, VOIReaderWriter, VolumeVtkReaderWriter, ZipFileReaderWriter

public abstract class FileReaderWriter<T>
extends java.lang.Object

FileReaderWriter is the abstract class for reading/writing various files Extensions exist for various object types (view type hierarchy) Every extension of FileReaderWriter should overwrite the following protected methods (1) readObject(File) (2) writeObject(T, File) (3) writeObjectToDirectory(T, File).


Field Summary
protected  FileExtensionFilter extensionFilter
          The extension filter.
protected  java.lang.String fileName
          The file name.
 
Constructor Summary
FileReaderWriter()
          Instantiates a new file reader writer.
FileReaderWriter(FileExtensionFilter filter)
          Instantiates a new file reader writer.
 
Method Summary
 boolean accept(java.io.File f)
          Accept.
 FileExtensionFilter getExtensionFilter()
          Gets the extension filter.
static java.lang.String getFileExtension(java.io.File file)
          Get file extension for file.
static java.lang.String getFileExtension(java.lang.String name)
          Get file extension for file string.
 java.lang.String getFileName()
          Gets the file name.
static java.lang.String getFileName(java.io.File file)
          Get image name based on file name.
static java.lang.String getFileName(java.lang.String name)
          Get image name from file name.
static java.io.File getFullFileName(ModelImage img)
          Get the full file name of a model image.
 T read(java.io.File f)
          The public method for reading files.
protected abstract  T readObject(java.io.File f)
          Read object.
 void setExtensionFilter(FileExtensionFilter extensionFilter)
          Sets the extension filter.
 void setFileName(java.lang.String fileName)
          Sets the file name.
 java.io.File write(T obj, java.io.File f)
          This is the method users should call to write a file to disk.
protected abstract  boolean writeObject(T obj, java.io.File f)
          writeObject should be overwritten by all extending classes This method is protected because users should call write() From there, other reader/writer methods (including this one) are called as needed.
protected  java.io.File writeObjectToDirectory(T obj, java.io.File f)
          Write object to directory.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

extensionFilter

protected FileExtensionFilter extensionFilter
The extension filter.


fileName

protected transient java.lang.String fileName
The file name.

Constructor Detail

FileReaderWriter

public FileReaderWriter(FileExtensionFilter filter)
Instantiates a new file reader writer.

Parameters:
filter - the filter

FileReaderWriter

public FileReaderWriter()
Instantiates a new file reader writer.

Method Detail

accept

public boolean accept(java.io.File f)
Accept.

Parameters:
f - the f
Returns:
true, if successful

read

public T read(java.io.File f)
The public method for reading files. Protected method readObject(File) is called from here Extensions of FileReaderWriter should overwrite readObject

Parameters:
f - The file being read
Returns:
A pointer to the object in memory

write

public java.io.File write(T obj,
                          java.io.File f)
This is the method users should call to write a file to disk.

Parameters:
obj - The object being written
f - The file/directory the object will be written to
Returns:
the file

readObject

protected abstract T readObject(java.io.File f)
Read object.

Parameters:
f - the f
Returns:
the t

writeObjectToDirectory

protected java.io.File writeObjectToDirectory(T obj,
                                              java.io.File f)
Write object to directory.

Parameters:
obj - the obj
f - the f
Returns:
the file

writeObject

protected abstract boolean writeObject(T obj,
                                       java.io.File f)
writeObject should be overwritten by all extending classes This method is protected because users should call write() From there, other reader/writer methods (including this one) are called as needed.

Parameters:
obj - The object being written
f - Where the file should be written
Returns:
true if successful, false otherwise

getExtensionFilter

public FileExtensionFilter getExtensionFilter()
Gets the extension filter.

Returns:
the extension filter

setExtensionFilter

public void setExtensionFilter(FileExtensionFilter extensionFilter)
Sets the extension filter.

Parameters:
extensionFilter - the new extension filter

getFileExtension

public static java.lang.String getFileExtension(java.io.File file)
Get file extension for file.

Parameters:
file - file
Returns:
file extension

getFileExtension

public static java.lang.String getFileExtension(java.lang.String name)
Get file extension for file string.

Parameters:
name - file name
Returns:
file extension

getFileName

public static java.lang.String getFileName(java.io.File file)
Get image name based on file name.

Parameters:
file - file
Returns:
image name

getFileName

public static java.lang.String getFileName(java.lang.String name)
Get image name from file name.

Parameters:
name - the name
Returns:
image name

getFullFileName

public static java.io.File getFullFileName(ModelImage img)
Get the full file name of a model image. If an XML version of the image exists, this version is preferred over the RAW version

Parameters:
img - image
Returns:
preferred file name

getFileName

public java.lang.String getFileName()
Gets the file name.

Returns:
the file name

setFileName

public void setFileName(java.lang.String fileName)
Sets the file name.

Parameters:
fileName - the new file name