jnr.posix.util.DefaultPOSIXHandler Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of cassandra-driver Show documentation
Show all versions of cassandra-driver Show documentation
Shaded version of DataStax Java Driver for Apache Cassandra
package jnr.posix.util;
import jnr.constants.platform.Errno;
import jnr.posix.POSIXHandler;
import java.io.File;
import java.io.InputStream;
import java.io.PrintStream;
import java.util.Arrays;
import java.util.IllegalFormatException;
import java.util.Map;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
* A POSIXHandler with reasonable default behavior.
*/
public class DefaultPOSIXHandler implements POSIXHandler {
public void error(Errno error, String extraData) {
throw new RuntimeException("native error " + error.description() + " " + extraData);
}
public void error(Errno error, String methodName, String extraData) {
throw new RuntimeException("native error calling " + methodName + ": " + error.description() + " " + extraData);
}
public void unimplementedError(String methodName) {
throw new IllegalStateException(methodName + " is not implemented in jnr-posix");
}
public void warn(WARNING_ID id, String message, Object... data) {
String msg;
try {
msg = String.format(message, data);
}
catch (IllegalFormatException e) {
msg = message + " " + Arrays.toString(data);
}
Logger.getLogger("jnr-posix").log(Level.WARNING, msg);
}
public boolean isVerbose() {
return false;
}
public File getCurrentWorkingDirectory() {
return new File(".");
}
public String[] getEnv() {
String[] envp = new String[System.getenv().size()];
int i = 0;
for (Map.Entry pair : System.getenv().entrySet()) {
envp[i++] = new StringBuilder(pair.getKey()).append("=").append(pair.getValue()).toString();
}
return envp;
}
public InputStream getInputStream() {
return System.in;
}
public PrintStream getOutputStream() {
return System.out;
}
public int getPID() {
return 0;
}
public PrintStream getErrorStream() {
return System.err;
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy