package org.objectstyle.wolips.baseforplugins.util; import java.io.File; import org.eclipse.core.resources.IResource; /** * Utilities for working with IResource and its implementations. * * @author mschrag */ public class ResourceUtilities { /** * Returns the name of the given resource with its extension removed. * * @param resource the resource * @return the name of the resource without the extension */ public static String getFileNameWithoutExtension(IResource resource) { String fileName = null; if (resource != null) { fileName = ResourceUtilities.getFileNameWithoutExtension(resource.getName()); } return fileName; } /** * Returns the name of the given file with its extension removed. * * @param file the file * @return the name of the file without the extension */ public static String getFileNameWithoutExtension(File file) { String fileName = null; if (file != null) { fileName = ResourceUtilities.getFileNameWithoutExtension(file.getName()); } return fileName; } /** * Returns the name of the given file with its extension removed. * * @param fileName the name of the file * @return the name of the resource without the extension */ public static String getFileNameWithoutExtension(String fileName) { String fileNameWithoutExtension = fileName; if (fileNameWithoutExtension != null) { int lastDotIndex = fileNameWithoutExtension.lastIndexOf('.'); if (lastDotIndex != -1) { fileNameWithoutExtension = fileNameWithoutExtension.substring(0, lastDotIndex); } } return fileNameWithoutExtension; } /** * Returns the language name for the given component file * or null if it's not in an lproj folder. * * @param file the file to lookup the language for * @return the language name (or null) */ public static String getLocalizationName(IResource file) { String language = null; if (file != null && file.exists()) { boolean done = false; IResource resource = file; do { resource = resource.getParent(); if (resource == null) { done = true; } else { String name = resource.getName(); if (name.endsWith(".lproj")) { language = name.substring(0, name.length()-".lproj".length()); done = true; } } } while (!done); } return language; } }