package net.puppygames.applet;
import java.io.File;
/**
* {@link RoamingFile} is a cover for Files that might be either implemented using the Steam cloud, or in the local filesystem.
*/
public class RoamingFile {
private final String path;
public RoamingFile(String path) {
this.path = path;
}
public boolean exists() {
return new File(path).exists();
}
public boolean delete() {
return new File(path).delete();
}
/**
* @return the relative path prefixed with the directory prefix
*/
public String getPath() {
return path;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((path == null) ? 0 : path.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (obj == null) {
return false;
}
if (getClass() != obj.getClass()) {
return false;
}
RoamingFile other = (RoamingFile) obj;
if (path == null) {
if (other.path != null) {
return false;
}
} else if (!path.equals(other.path)) {
return false;
}
return true;
}
@Override
public String toString() {
StringBuilder builder = new StringBuilder();
builder.append("RoamingFile [");
if (path != null) {
builder.append("path=");
builder.append(path);
}
builder.append("]");
return builder.toString();
}
}