/*******************************************************************************
* Copyright (c) 2012-2015 Codenvy, S.A.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Codenvy, S.A. - initial API and implementation
*******************************************************************************/
package org.eclipse.che.ide.core.inject;
import org.eclipse.che.ide.MimeType;
import org.eclipse.che.ide.Resources;
import org.eclipse.che.ide.api.extension.ExtensionGinModule;
import org.eclipse.che.ide.api.filetypes.FileType;
import com.google.gwt.inject.client.AbstractGinModule;
import com.google.inject.Provides;
import com.google.inject.Singleton;
import com.google.inject.name.Named;
/**
* @author Evgen Vidolob
*/
@ExtensionGinModule
public class FileTypeModule extends AbstractGinModule {
@Override
protected void configure() {
}
@Provides
@Singleton
@Named("XMLFileType")
protected FileType provideXMLFile(Resources resources) {
return new FileType("XML file", resources.xmlFile(), MimeType.TEXT_XML, "xml");
}
@Provides
@Singleton
@Named("TXTFileType")
protected FileType provideTXTFile(Resources resources) {
return new FileType("TXT File", resources.defaultFile(), MimeType.TEXT_PLAIN, "txt");
}
@Provides
@Singleton
@Named("JsonFileType")
protected FileType provideJsonFile(Resources resources) {
return new FileType("Json file", resources.jsonFile(), MimeType.APPLICATION_JSON, "json");
}
@Provides
@Singleton
@Named("MDFileType")
protected FileType provideMDFile(Resources resources) {
return new FileType("MD File", resources.mdFile(), MimeType.TEXT_MARKDOWN, "md");
}
@Provides
@Singleton
@Named("PNGFileType")
protected FileType providePNGFile(Resources resources) {
return new FileType("PNG Image", resources.defaultImage(), MimeType.IMAGE_PNG, "png");
}
@Provides
@Singleton
@Named("BMPFileType")
protected FileType provideBMPFile(Resources resources) {
return new FileType("Bitmap Image", resources.defaultImage(), MimeType.IMAGE_BMP, "bmp");
}
@Provides
@Singleton
@Named("GIFFileType")
protected FileType provideGIFFile(Resources resources) {
return new FileType("GIF Image", resources.defaultImage(), MimeType.IMAGE_GIF, "gif");
}
@Provides
@Singleton
@Named("ICOFileType")
protected FileType provideICOFile(Resources resources) {
return new FileType("ICO Image", resources.defaultImage(), MimeType.IMAGE_X_ICON, "ico");
}
@Provides
@Singleton
@Named("SVGFileType")
protected FileType provideSVGFile(Resources resources) {
return new FileType("SVG Image", resources.defaultImage(), MimeType.IMAGE_SVG_XML, "svg");
}
@Provides
@Singleton
@Named("JPEFileType")
protected FileType provideJPEFile(Resources resources) {
return new FileType("JPEG Image", resources.defaultImage(), MimeType.IMAGE_JPEG, "jpe");
}
@Provides
@Singleton
@Named("JPEGFileType")
protected FileType provideJPEGFile(Resources resources) {
return new FileType("JPEG Image", resources.defaultImage(), MimeType.IMAGE_JPEG, "jpeg");
}
@Provides
@Singleton
@Named("JPGFileType")
protected FileType provideJPGFile(Resources resources) {
return new FileType("JPEG Image", resources.defaultImage(), MimeType.IMAGE_JPEG, "jpg");
}
}