package jeql.std.function; import java.io.File; import jeql.api.function.FunctionClass; public class FileFunction implements FunctionClass { private static final String EXT_SEP = "."; public static String name(String path) { return (new File(path)).getName(); } public static String pathNoExt(String path) { int extIndex = path.lastIndexOf(EXT_SEP.charAt(0)); if (extIndex < 0) return path; return path.substring(0, extIndex); } public static String nameNoExt(String path) { String name = name(path); int extIndex = name.indexOf(EXT_SEP.charAt(0)); if (extIndex < 0) return name; return name.substring(0, extIndex); } public static String dir(String path) { String parent = (new File(path)).getParent(); return parent == null ? "" : parent; } public static String ext(String path) { String name = name(path); int extIndex = name.lastIndexOf(EXT_SEP.charAt(0)); if (extIndex < 0) return ""; return name.substring(extIndex + 1, name.length()); } public static String parent(String path) { return (new File(path)).getParent(); } }