34 lines
1017 B
Java
34 lines
1017 B
Java
package org.openautonomousconnection.luascript.fx;
|
|
|
|
import java.util.Locale;
|
|
|
|
/**
|
|
* Shared extension helper for media sources.
|
|
*/
|
|
public final class MediaExtensions {
|
|
|
|
/**
|
|
* Extracts a lower-case extension without dot, or empty string if none.
|
|
*
|
|
* @param pathOrName path or file name
|
|
* @return extension without dot, lower-case, or empty string
|
|
*/
|
|
public static String extensionOf(String pathOrName) {
|
|
if (pathOrName == null) return "";
|
|
String s = pathOrName.trim();
|
|
if (s.isEmpty()) return "";
|
|
|
|
int q = s.indexOf('?');
|
|
if (q >= 0) s = s.substring(0, q);
|
|
int h = s.indexOf('#');
|
|
if (h >= 0) s = s.substring(0, h);
|
|
|
|
int slash = Math.max(s.lastIndexOf('/'), s.lastIndexOf('\\'));
|
|
String name = (slash >= 0) ? s.substring(slash + 1) : s;
|
|
|
|
int dot = name.lastIndexOf('.');
|
|
if (dot < 0 || dot == name.length() - 1) return "";
|
|
|
|
return name.substring(dot + 1).toLowerCase(Locale.ROOT);
|
|
}
|
|
} |