/******************************************************************************* * Copyright (c) 2001, 2007 Oracle Corporation and others. * 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 Corporation - initial API and implementation *******************************************************************************/ package org.eclipse.jst.jsf.common.internal; import org.eclipse.core.resources.IFile; import org.eclipse.core.runtime.Platform; import org.eclipse.core.runtime.content.IContentType; import org.eclipse.core.runtime.content.IContentTypeManager; /** * Utility JSP methods * @author cbateman * */ public final class JSPUtil { private final static String CTYPE_JSPSOURCE = "org.eclipse.jst.jsp.core.jspsource"; //$NON-NLS-1$ private final static String CTYPE_JSPFRAGMENTSOURCE = "org.eclipse.jst.jsp.core.jspfragmentsource"; //$NON-NLS-1$ /** * @param contentType * @return true if contentType is one of the content types registered * for JSP files */ public static boolean isJSPContentType(final String contentType) { return CTYPE_JSPSOURCE.equals(contentType) || CTYPE_JSPFRAGMENTSOURCE.equals(contentType); } /** * @param file * @return true if file is associated with a JSP or JSP fragment content type */ public static boolean isJSPContentType(final IFile file) { final boolean isJSPSource = isJSPSource(file); if (isJSPSource) { return true; } final boolean isJSPFragment = isJSPFragment(file); if (isJSPFragment) { return true; } return false; } private JSPUtil() { // no instantiation } /** * @param file * @return true if file is associated with the JSP source content type * (returns if JSP fragment) */ public static boolean isJSPSource(IFile file) { return isAssociatedWithContentType(file, CTYPE_JSPSOURCE); } /** * @param file * @return true if the file is associated with the JSP fragment content type */ public static boolean isJSPFragment(IFile file) { return isAssociatedWithContentType(file, CTYPE_JSPFRAGMENTSOURCE); } private static boolean isAssociatedWithContentType(final IFile file, final String contentType) { final IContentTypeManager typeManager = Platform.getContentTypeManager(); IContentType jspContentType = typeManager.getContentType(contentType); if (jspContentType != null && jspContentType.isAssociatedWith(file.getName())) { return true; } return false; } }