package org.mortbay.ijetty.movieservice;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
import java.io.StreamCorruptedException;
import org.mortbay.ijetty.AppConstants;
public class PlayLocation implements Serializable {
private static final long serialVersionUID = 1L;
private String filename;
private int pos;
private static PlayLocation instance;
public static final String FILE_PLAY_LOCATION = AppConstants.getMediaSdFolder()+"/PlayLocation.obj";
private PlayLocation() {
filename = AppConstants.getMediaSdFolder()+"/invalidFilename";
pos = 0;
}
public String getFilename() {
return filename;
}
public void setFilename(String filename) {
this.filename = filename;
}
public int getPos() {
return pos;
}
public void setPos(int pos) {
this.pos = pos;
}
public static synchronized PlayLocation getInstance() {
if (instance == null)
instance = new PlayLocation();
return instance;
}
public synchronized static void saveLocation() {
ObjectOutputStream out = null;
FileOutputStream fos = null;
PlayLocation locationObj = PlayLocation.getInstance();
try {
fos = new FileOutputStream(FILE_PLAY_LOCATION);
out = new ObjectOutputStream(fos);
out.writeObject(locationObj);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (out != null)
out.close();
if (fos != null)
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
public synchronized static PlayLocation restoreLocation() {
ObjectInputStream ois = null;
FileInputStream fis = null;
PlayLocation obj = null;
File f = null;
try {
f = new File(FILE_PLAY_LOCATION);
if (!f.exists())
return null;
fis = new FileInputStream(f);
ois = new ObjectInputStream(fis);
obj = (PlayLocation) ois.readObject();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (StreamCorruptedException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} finally {
try {
if (ois != null)
ois.close();
if (fis != null)
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
if (f != null && f.exists())
f.delete();
}
if (obj != null)
instance = obj;
return obj;
}
// public static void deletePlayLocationFile() {
// File f = new File(FILE_PLAY_LOCATION);
// if (f.exists())
// f.delete();
// }
}