package org.musicmount.io.server.smb;
import java.nio.file.attribute.FileTime;
import jcifs.smb.SmbException;
import jcifs.smb.SmbFile;
import org.musicmount.io.server.ServerFileAttributes;
public class SMBFileAttributes implements ServerFileAttributes {
private final SmbFile file;
public SMBFileAttributes(SmbFile file) {
this.file = file;
}
@Override
public FileTime lastModifiedTime() {
return FileTime.fromMillis(file.getLastModified());
}
@Override
public FileTime lastAccessTime() {
return null;
}
@Override
public FileTime creationTime() {
return null;
}
@Override
public boolean isRegularFile() {
try {
return file.isFile();
} catch (SmbException e) {
return false;
}
}
@Override
public boolean isDirectory() {
try {
return file.isDirectory();
} catch (SmbException e) {
return false;
}
}
@Override
public boolean isSymbolicLink() {
return false;
}
@Override
public boolean isOther() {
return false;
}
@Override
public long size() {
try {
return file.length();
} catch (SmbException e) {
return -1L;
}
}
@Override
public Object fileKey() {
return null;
}
@Override
public String getPath() {
return file.getURL().getPath();
}
}