package com.openfarmanager.android.filesystem;
import com.openfarmanager.android.model.Bookmark;
import com.openfarmanager.android.utils.Extensions;
import com.openfarmanager.android.utils.FileUtilsExt;
import org.apache.commons.net.ftp.FTPFile;
import java.util.ArrayList;
import java.util.List;
/**
* Represents FTP file.
*
* @author Vlad Namashko
*/
public class FtpFile implements FileProxy {
private String mFileName;
private boolean mIsDir;
private long mSize;
private long mModDate;
private String mFullPath;
private String mParentPath;
public FtpFile(String currentPath, FTPFile source) {
mFileName = source.getName();
mIsDir = source.isDirectory();
mSize = source.getSize();
mModDate = source.getTimestamp().getTime().getTime();
mFullPath = currentPath + (currentPath.endsWith("/") ? "" : "/") + source.getName();
mParentPath = FileUtilsExt.removeLastSeparator(FileUtilsExt.getParentPath(mFullPath));
}
public FtpFile(String path) {
path = FileUtilsExt.removeLastSeparator(path);
mFileName = FileUtilsExt.getFileName(path);
mIsDir = true;
mSize = 0;
mModDate = System.currentTimeMillis();
mFullPath = path;
mParentPath = FileUtilsExt.getParentPath(path);
}
@Override
public String getId() {
return getFullPath();
}
@Override
public String getName() {
return mFileName;
}
@Override
public boolean isDirectory() {
return mIsDir;
}
@Override
public long getSize() {
return mSize;
}
@Override
public long lastModifiedDate() {
return mModDate;
}
@Override
public List getChildren() {
return new ArrayList();
}
@Override
public String getFullPath() {
return mFullPath;
}
@Override
public String getFullPathRaw() {
return mFullPath;
}
@Override
public String getParentPath() {
return mParentPath;
}
@Override
public boolean isUpNavigator() {
return false;
}
@Override
public boolean isRoot() {
return getName().equals("..") && Extensions.isNullOrEmpty(mParentPath);
}
@Override
public boolean isVirtualDirectory() {
return false;
}
@Override
public boolean isBookmark() {
return false;
}
@Override
public Bookmark getBookmark() {
return null;
}
@Override
public String getMimeType() {
return null;
}
}