/*
* Copyright (C) 2006-2016 DLR, Germany
*
* All rights reserved
*
* http://www.rcenvironment.de/
*/
package de.rcenvironment.core.utils.executor.fileinfo;
import java.io.Serializable;
import java.util.Date;
/**
* Encapsulates information about a file.
* @author Christian Weiss
*/
public class FileInfo implements Serializable {
private static final long serialVersionUID = 6891766153373941656L;
private static final char SEPARATOR = '/';
private final boolean isFile;
private final String relativePath;
private final Date modificationDate;
private final long size;
public FileInfo(final boolean isFile, final String relativePath, final Date modificationDate, final long size) {
this.isFile = isFile;
this.relativePath = relativePath;
this.modificationDate = modificationDate;
this.size = size;
}
public boolean isFile() {
return isFile;
}
public boolean isDirectory() {
return !isFile();
}
public String getAbsolutePath() {
return relativePath;
}
public Date getModificationDate() {
return modificationDate;
}
public long getSize() {
return size;
}
public String getName() {
return relativePath.substring(relativePath.lastIndexOf(SEPARATOR) + 1);
}
}