package org.jboss.seam.wiki.core.upload;
import org.jboss.seam.ScopeType;
import org.jboss.seam.annotations.AutoCreate;
import org.jboss.seam.annotations.Name;
import org.jboss.seam.annotations.Scope;
import org.jboss.seam.annotations.Unwrap;
import org.jboss.seam.wiki.core.upload.handler.WikiUploadHandler;
import org.jboss.seam.wiki.core.upload.handler.WikiUploadImageHandler;
import java.util.HashMap;
import java.util.Map;
/**
* Metadata map, from file mime type strings to file meta info such as icons, upload handler, etc.
* <p>
* This application-scoped map is often searched by key, which are mime type strings.
*
* @author Christian Bauer
*/
@Name("uploadTypes")
@Scope(ScopeType.APPLICATION)
@AutoCreate
public class UploadTypes {
public static final String GENERIC_UPLOAD_TYPE = "generic";
public static final String DEFAULT_UPLOAD_TYPE = "application/octet-stream";
private Map<String, UploadType> uploadTypes = new HashMap<String, UploadType>() {
{
put("image/jpg", new UploadType("icon.fileimg.gif", new WikiUploadImageHandler() ));
put("image/jpeg", new UploadType("icon.fileimg.gif", new WikiUploadImageHandler() ));
put("image/png", new UploadType("icon.fileimg.gif", new WikiUploadImageHandler() ));
put("image/gif", new UploadType("icon.fileimg.gif", new WikiUploadHandler() ));
put("text/plain", new UploadType("icon.filetxt.gif", new WikiUploadHandler() ));
put("application/pdf", new UploadType("icon.filepdf.gif", new WikiUploadHandler() ));
put(DEFAULT_UPLOAD_TYPE, new UploadType("icon.filegeneric.gif", new WikiUploadHandler() ));
put(GENERIC_UPLOAD_TYPE, new UploadType("icon.filegeneric.gif", new WikiUploadHandler() ));
}
};
@Unwrap
public Map<String, UploadType> getUploadTypes() {
return uploadTypes;
}
}