package com.openfarmanager.android.filesystem; import com.jcraft.jsch.ChannelSftp; import com.openfarmanager.android.model.Bookmark; import com.openfarmanager.android.utils.Extensions; import com.openfarmanager.android.utils.FileUtilsExt; import java.util.ArrayList; import java.util.List; /** * Represents SFTP file. * * @author Vlad Namashko */ public class SftpFile implements FileProxy { private String mFileName; private boolean mIsDir; private long mSize; private long mModDate; private String mFullPath; private String mParentPath; public SftpFile(String currentPath, ChannelSftp.LsEntry entry) { mFileName = entry.getFilename(); mIsDir = entry.getAttrs().isDir(); mSize = entry.getAttrs().getSize(); mModDate = entry.getAttrs().getATime() * 1000L; mFullPath = currentPath + (currentPath.endsWith("/") ? "" : "/") + mFileName; // if path ends with file separator - remove it mParentPath = FileUtilsExt.removeLastSeparator(currentPath); } public SftpFile(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 mFullPath; } @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; } }