package fr.openwide.core.jpa.more.business.file.model;
import java.io.File;
import java.util.Date;
import fr.openwide.core.commons.util.CloneUtils;
import fr.openwide.core.jpa.more.util.image.model.ImageInformation;
public class FileInformation {
private String name;
private String extension;
private long size;
private Date lastModifiedDate;
private boolean isImage = false;
private boolean isImageSizeDetected = false;
private Integer imageWidth;
private Integer imageHeight;
private boolean isImageThumbnailAvailable = false;
public FileInformation() {
}
public FileInformation(File file, String extension) {
if (file != null && file.canRead()) {
setName(file.getName());
setExtension(extension);
setSize(file.length());
setLastModifiedDate(new Date(file.lastModified()));
}
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getExtension() {
return extension;
}
public void setExtension(String extension) {
this.extension = extension;
}
public long getSize() {
return size;
}
public void setSize(long size) {
this.size = size;
}
public Date getLastModifiedDate() {
return CloneUtils.clone(lastModifiedDate);
}
public void setLastModifiedDate(Date lastModifiedDate) {
this.lastModifiedDate = CloneUtils.clone(lastModifiedDate);
}
public boolean isImage() {
return isImage;
}
public void setImage(boolean isImage) {
this.isImage = isImage;
}
public boolean isImageSizeDetected() {
return isImageSizeDetected;
}
public void setImageSizeDetected(boolean isSizeDetected) {
this.isImageSizeDetected = isSizeDetected;
}
public Integer getImageWidth() {
return imageWidth;
}
public void setImageWidth(Integer width) {
this.imageWidth = width;
}
public Integer getImageHeight() {
return imageHeight;
}
public void setImageHeight(Integer height) {
this.imageHeight = height;
}
public boolean isImageThumbnailAvailable() {
return isImageThumbnailAvailable;
}
public void setImageThumbnailAvailable(boolean isImageThumbnailAvailable) {
this.isImageThumbnailAvailable = isImageThumbnailAvailable;
}
public void addImageInformation(ImageInformation imageInformation) {
this.isImage = true;
this.isImageSizeDetected = imageInformation.isSizeDetected();
this.imageWidth = imageInformation.getWidth();
this.imageHeight = imageInformation.getHeight();
this.isImageThumbnailAvailable = imageInformation.isThumbnailAvailable();
}
}