blob: 27e0093fb04b3503e16ba9ae92dc88145fbfb3a8 [file] [log] [blame]
package org.jetbrains.plugins.javaFX.fxml;
import com.intellij.openapi.fileTypes.FileType;
import com.intellij.openapi.fileTypes.FileTypeConsumer;
import com.intellij.openapi.fileTypes.FileTypeFactory;
import com.intellij.openapi.fileTypes.FileTypeManager;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.psi.PsiFile;
import org.jetbrains.annotations.NotNull;
/**
* User: anna
* Date: 1/8/13
*/
public class JavaFxFileTypeFactory extends FileTypeFactory {
public static final String FXML_EXTENSION = "fxml";
public static boolean isFxml(@NotNull PsiFile file) {
final VirtualFile virtualFile = file.getViewProvider().getVirtualFile();
return isFxml(virtualFile);
}
public static boolean isFxml(@NotNull VirtualFile virtualFile) {
if (FXML_EXTENSION.equals(virtualFile.getExtension())) {
final FileType fileType = virtualFile.getFileType();
if (fileType == FileTypeManager.getInstance().getFileTypeByExtension(FXML_EXTENSION) && !fileType.isBinary()) return true;
}
return false;
}
@Override
public void createFileTypes(@NotNull FileTypeConsumer consumer) {
final FileType fileType = consumer.getStandardFileTypeByName("XML");
assert fileType != null;
consumer.consume(fileType, FXML_EXTENSION);
}
}