package org.jtwig.resource.reference.path;
import com.google.common.base.Function;
import com.google.common.base.Supplier;
public class PathTypeSupplier implements Supplier<PathType> {
public static final String OS_NAME = "os.name";
public static final String WIN = "win";
private static final PathTypeSupplier INSTANCE = new PathTypeSupplier(new Function<String, String>() {
@Override
public String apply(String input) {
return System.getProperty(input);
}
});
public static PathTypeSupplier pathTypeSupplier () {
return INSTANCE;
}
private final PathType type;
PathTypeSupplier(Function<String, String> systemProperties) {
String operatingSystem = systemProperties.apply(OS_NAME).toLowerCase();
if (operatingSystem.contains(WIN)) {
type = PathType.UNC;
} else {
type = PathType.POSIX;
}
}
@Override
public PathType get() {
return type;
}
}