All Downloads are FREE. Search and download functionalities are using the official Maven repository.

net.anotheria.asg.util.filestorage.TemporaryFileHolder Maven / Gradle / Ivy

There is a newer version: 4.3.2
Show newest version
package net.anotheria.asg.util.filestorage;

import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;

/**
 * This class is used to temporary hold the file data between an upload
 * an save.
 */
public class TemporaryFileHolder implements Serializable{
	
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private static Map extensionMapping;
	
	static{
		extensionMapping = new HashMap();
		extensionMapping.put("pdf","application/pdf");
		extensionMapping.put("jpe","image/jpeg");
		extensionMapping.put("jpeg","image/jpeg");
		extensionMapping.put("jpg","image/jpeg");
		extensionMapping.put("png","image/png");
		extensionMapping.put("js","text/javascript");
		extensionMapping.put("exe","application/octet-stream");
		extensionMapping.put("gif","image/gif");
		extensionMapping.put("gz","application/x-gzip");
		extensionMapping.put("zip","application/zip");
		
		extensionMapping.put("doc","application/msword");
		extensionMapping.put("dot","application/msword");

		extensionMapping.put("pot","application/vnd.ms-powerpoint");
		extensionMapping.put("ppt","application/vnd.ms-powerpoint");
		extensionMapping.put("pps","application/vnd.ms-powerpoint");
	}

	/**
	 * The data.
	 */
	private byte[] data;
	/**
	 * The file mimetype.
	 */
	private String mimeType;
	/**
	 * The name of the file.
	 */
	private String fileName;
	
	/**
	 * last modified if available
	 */
	private long lastModified;
	
	/**
	 * Returns the data.
	 * @return byte[]
	 */
	public byte[] getData() {
		return data;
	}
	
	/**
	 * Returns the size of this file in bytes.
	 * @return
	 */
	public int getSize(){
		return data.length;
	}

	/**
	 * Returns the fileName.
	 * @return String
	 */
	public String getFileName() {
		return fileName;
	}

	/**
	 * Returns the mimeType.
	 * @return String
	 */
	public String getMimeType() {
		if (mimeType==null)
			mimeType = guessMimeType();
		return mimeType;
	}

	/**
	 * Sets the data.
	 * @param data The data to set
	 */
	public void setData(byte[] data) {
		this.data = data;
	}

	/**
	 * Sets the fileName.
	 * @param fileName The fileName to set
	 */
	public void setFileName(String fileName) {
		this.fileName = fileName;
	}

	/**
	 * Sets the mimeType.
	 * @param mimeType The mimeType to set
	 */
	public void setMimeType(String mimeType) {
		this.mimeType = mimeType;
	}
	
	private String guessMimeType(){
		if (fileName==null)
			return null;
		try{
			String extension = fileName.substring(fileName.lastIndexOf('.')+1);
			//System.out.println(extension); 	
			if (extension!=null)
				return extensionMapping.get(extension);
		}catch(Exception e){
			//ignored;
		}
		
		return null;
	}
	
	public static void main(String a[]){
		TemporaryFileHolder f = new TemporaryFileHolder();
		f.setFileName("bla.jpg");
		System.out.println(f.getMimeType());
		System.out.println(f.getMimeType());
	}

	public long getLastModified() {
		return lastModified;
	}

	public void setLastModified(long lastModified) {
		this.lastModified = lastModified;
	}
	
	

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy