| /******************************************************************************* |
| * Copyright (c) 2008 Oracle. |
| * 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: |
| * Oracle - initial API and implementation |
| *******************************************************************************/ |
| package org.eclipse.jpt.core.utility; |
| |
| import java.io.IOException; |
| import java.io.InputStream; |
| import org.eclipse.core.resources.IFile; |
| import org.eclipse.core.runtime.CoreException; |
| import org.eclipse.core.runtime.Platform; |
| import org.eclipse.core.runtime.content.IContentType; |
| import org.eclipse.jpt.core.JptCorePlugin; |
| |
| /** |
| * A collection of utilities for dealing with eclipse platform API |
| */ |
| public class PlatformUtilities |
| { |
| /** |
| * Retrieves the content type for the IFile referenced. |
| * (Makes sure to close the input stream) |
| */ |
| public static IContentType contentType(IFile file) { |
| InputStream inputStream = null; |
| try { |
| inputStream = file.getContents(); |
| return Platform.getContentTypeManager().findContentTypeFor(inputStream, file.getName()); |
| } |
| catch (IOException ex) { |
| JptCorePlugin.log(ex); |
| } |
| catch (CoreException ex) { |
| JptCorePlugin.log(ex); |
| } |
| finally { |
| try { |
| if (inputStream != null) { |
| inputStream.close(); |
| } |
| } catch (IOException ex) { |
| JptCorePlugin.log(ex); |
| } |
| } |
| return null; |
| } |
| } |