Serialization failed
Hello All,
I know a little about how Java's Serialization scheme works, but I am a bit confused as to why one of my classes throws the following exception:
IOException: java.io.WriteAbortedException: writing aborted; java.io.NotSerializableException: com.sm.objects.FileBundle
The class' code is as follows:
package com.sm.objects;
import java.io.File;
import java.io.Serializable;
import java.util.*;
import org.apache.log4j.Logger;
public class FileBundle implements Serializable {
/**
*
*/
private static final long serialVersionUID = 1460616094003861647L;
static Logger logger = Logger.getLogger(FileBundle.class);
private ArrayList<File> filesArray;
private String[] listOfFiles;
public FileBundle(){
logger.debug("New FileBundle of XML files has been created.");
filesArray = new ArrayList<File>();
}
public boolean addFile(File file){
boolean added = false;
if(filesArray.add(file)){
added = true;
logger.debug("Added " + file.toString() + " to FileBundle.");
}else{
logger.warn("File " + file.toString() + " not added.",
new Exception("FileBundle.addFile() failed."));
}
return added;
}
public void setListOfFiles(String[] listOfFiles){
this.listOfFiles = listOfFiles;
logger.debug("There are " + listOfFiles.length + " files in the bundle.");
}
public String[] getListOfFiles(){
logger.debug("retrieving " + listOfFiles.length + " files from the bundle.");
return listOfFiles;
}
public void setFiles(ArrayList<File> filesArray){
this.filesArray = filesArray;
logger.debug("Setting " + filesArray.size() + " files into the ArrayList.");
}
public ArrayList<File> getFiles(){
logger.debug("Counting " + filesArray.size() + " files from the ArrayList.");
return filesArray;
}
public int getNumberOfFiles(){
int i = 0;
if(filesArray.isEmpty()){
logger.debug("No files in FileBundle ArrayList.");
return i;
} else {
i = filesArray.size();
logger.debug( i + " files in FileBundle ArrayList.");
return i;
}
}
}
Might anyone have an idea, or point me in the right direction to solve my dilemma?
Thanks in advance!!

