/******************************************************************************* * 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 getContentType(IFile file) { InputStream inputStream = null; try { inputStream = file.getContents(); } catch (CoreException ex) { JptCorePlugin.log(ex); return null; } IContentType contentType = null; try { contentType = Platform.getContentTypeManager().findContentTypeFor(inputStream, file.getName()); } catch (IOException ex) { JptCorePlugin.log(ex); } finally { try { inputStream.close(); } catch (IOException ex) { JptCorePlugin.log(ex); } } return contentType; } private PlatformUtilities() { super(); throw new UnsupportedOperationException(); } }