package com.openfarmanager.android.filesystem;
import com.openfarmanager.android.model.Bookmark;
import java.io.File;
import java.util.Arrays;
import java.util.List;
/**
* Represents file system file.
*
* @author Vlad Namashko
*/
public class FileSystemFile extends File implements FileProxy<File> {
private boolean mIsBookmark;
private boolean mIsVirtualDirectory;
private Bookmark mBookmark;
public FileSystemFile(String path) {
super(path);
}
public FileSystemFile(File dir, String name) {
super(dir, name);
}
public FileSystemFile(File dir, String name, Bookmark bookmark) {
super(dir, name);
mBookmark = bookmark;
mIsBookmark = true;
}
public FileSystemFile(File dir, String name, boolean isVirtualDirectory) {
super(dir, name);
mIsVirtualDirectory = isVirtualDirectory;
}
@Override
public String getId() {
return "";
}
@Override
public String getName() {
return super.getName();
}
@Override
public boolean isDirectory() {
return mIsVirtualDirectory || super.isDirectory();
}
@Override
public long getSize() {
return length();
}
@Override
public long lastModifiedDate() {
return lastModified();
}
@Override
public List<File> getChildren() {
return Arrays.asList(listFiles());
}
@Override
public String getFullPath() {
return getAbsolutePath();
}
@Override
public String getFullPathRaw() {
return getAbsolutePath();
}
@Override
public String getParentPath() {
return getParent();
}
@Override
public boolean isUpNavigator() {
return getName().equals("..");
}
@Override
public boolean isRoot() {
return getName().equals(".");
}
@Override
public boolean isVirtualDirectory() {
return mIsVirtualDirectory;
}
@Override
public Bookmark getBookmark() {
return mBookmark;
}
@Override
public String getMimeType() {
return null;
}
@Override
public boolean isBookmark() {
return mIsBookmark;
}
public void setIsBookmark() {
mIsBookmark = true;
}
}