jnr.posix.LazyPOSIX 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
The newest version!
package jnr.posix;
import jnr.constants.platform.Fcntl;
import jnr.constants.platform.Sysconf;
import jnr.ffi.Pointer;
import jnr.posix.util.ProcessMaker;
import java.io.FileDescriptor;
import java.io.IOException;
import java.nio.ByteBuffer;
import java.util.Collection;
import jnr.constants.platform.Signal;
final class LazyPOSIX implements POSIX {
private final POSIXHandler handler;
private final boolean useNativePosix;
// NOTE: because all implementations of POSIX that are loaded via loadPOSIX()
// are immutable, there is no need for 'posix' to be a volatile field.
// See http://www.cs.umd.edu/~pugh/java/memoryModel/DoubleCheckedLocking.html
// (but since volatile reads on x86 and x86_64 are cheap, do it anyway)
private volatile POSIX posix;
LazyPOSIX(POSIXHandler handler, boolean useNativePosix) {
this.handler = handler;
this.useNativePosix = useNativePosix;
}
private final POSIX posix() {
return posix != null ? posix : loadPOSIX();
}
private final synchronized POSIX loadPOSIX() {
return posix != null
? posix
: (posix = POSIXFactory.loadPOSIX(handler, useNativePosix));
}
public ProcessMaker newProcessMaker(String... command) {
return posix().newProcessMaker(command);
}
public ProcessMaker newProcessMaker() {
return posix().newProcessMaker();
}
public FileStat allocateStat() {
return posix().allocateStat();
}
public MsgHdr allocateMsgHdr() {
return posix().allocateMsgHdr();
}
public int chdir(String path) {
return posix().chdir(path);
}
public int chmod(String filename, int mode) {
return posix().chmod(filename, mode);
}
public int fchmod(int fd, int mode) {
return posix().fchmod(fd, mode);
}
public int chown(String filename, int user, int group) {
return posix().chown(filename, user, group);
}
public CharSequence crypt(CharSequence key, CharSequence salt) {
return posix().crypt(key, salt);
}
public byte[] crypt(byte[] key, byte[] salt) {
return posix().crypt(key, salt);
}
public int fchown(int fd, int user, int group) {
return posix().fchown(fd, user, group);
}
public int endgrent() {
return posix().endgrent();
}
public int endpwent() {
return posix().endpwent();
}
public int errno() {
return posix().errno();
}
public void errno(int value) {
posix().errno(value);
}
public int exec(String path, String... args) {
return posix().exec(path, args);
}
public int exec(String path, String[] args, String[] envp) {
return posix().exec(path, args, envp);
}
public int execv(String path, String[] argv) {
return posix().execv(path, argv);
}
public int execve(String path, String[] argv, String[] envp) {
return posix().execve(path, argv, envp);
}
public int fork() {
return posix().fork();
}
public FileStat fstat(int fd) {
return posix().fstat(fd);
}
public int fstat(int fd, FileStat stat) {
return posix().fstat(fd, stat);
}
public FileStat fstat(FileDescriptor descriptor) {
return posix().fstat(descriptor);
}
public int fstat(FileDescriptor descriptor, FileStat stat) {
return posix().fstat(descriptor, stat);
}
public int getegid() {
return posix().getegid();
}
public int geteuid() {
return posix().geteuid();
}
public int getgid() {
return posix().getgid();
}
public int getdtablesize() {
return posix().getdtablesize();
}
public Group getgrent() {
return posix().getgrent();
}
public Group getgrgid(int which) {
return posix().getgrgid(which);
}
public Group getgrnam(String which) {
return posix().getgrnam(which);
}
public String getlogin() {
return posix().getlogin();
}
public int getpgid() {
return posix().getpgid();
}
public int getpgid(int pid) {
return posix().getpgid(pid);
}
public int getpgrp() {
return posix().getpgrp();
}
public int getpid() {
return posix().getpid();
}
public int getppid() {
return posix().getppid();
}
public int getpriority(int which, int who) {
return posix().getpriority(which, who);
}
public Passwd getpwent() {
return posix().getpwent();
}
public Passwd getpwnam(String which) {
return posix().getpwnam(which);
}
public Passwd getpwuid(int which) {
return posix().getpwuid(which);
}
public int getuid() {
return posix().getuid();
}
public int getrlimit(int resource, RLimit rlim) {
return posix().getrlimit(resource, rlim);
}
public int getrlimit(int resource, Pointer rlim) {
return posix().getrlimit(resource, rlim);
}
public RLimit getrlimit(int resource) {
return posix().getrlimit(resource);
}
public int setrlimit(int resource, RLimit rlim) {
return posix().setrlimit(resource, rlim);
}
public int setrlimit(int resource, Pointer rlim) {
return posix().setrlimit(resource, rlim);
}
public int setrlimit(int resource, long rlimCur, long rlimMax) {
return posix().setrlimit(resource, rlimCur, rlimMax);
}
public boolean isatty(FileDescriptor descriptor) {
return posix().isatty(descriptor);
}
public int isatty(int descriptor) {
return posix().isatty(descriptor);
}
public int kill(int pid, int signal) {
return kill((long) pid, signal);
}
public int kill(long pid, int signal) {
return posix().kill(pid, signal);
}
public SignalHandler signal(Signal sig, SignalHandler handler) {
return posix().signal(sig, handler);
}
public int lchmod(String filename, int mode) {
return posix().lchmod(filename, mode);
}
public int lchown(String filename, int user, int group) {
return posix().lchown(filename, user, group);
}
public int link(String oldpath, String newpath) {
return posix().link(oldpath, newpath);
}
public FileStat lstat(String path) {
return posix().lstat(path);
}
public int lstat(String path, FileStat stat) {
return posix().lstat(path, stat);
}
public int mkdir(String path, int mode) {
return posix().mkdir(path, mode);
}
public String readlink(String path) throws IOException {
return posix().readlink(path);
}
public int readlink(CharSequence path, byte[] buf, int bufsize) {
return posix().readlink(path, buf, bufsize);
}
public int readlink(CharSequence path, ByteBuffer buf, int bufsize) {
return posix().readlink(path, buf, bufsize);
}
public int readlink(CharSequence path, Pointer bufPtr, int bufsize) {
return posix().readlink(path, bufPtr, bufsize);
}
public int rmdir(String path) {
return posix().rmdir(path);
}
public int setegid(int egid) {
return posix().setegid(egid);
}
public int seteuid(int euid) {
return posix().seteuid(euid);
}
public int setgid(int gid) {
return posix().setgid(gid);
}
public int setgrent() {
return posix().setgrent();
}
public int setpgid(int pid, int pgid) {
return posix().setpgid(pid, pgid);
}
public int setpgrp(int pid, int pgrp) {
return posix().setpgrp(pid, pgrp);
}
public int setpriority(int which, int who, int prio) {
return posix().setpriority(which, who, prio);
}
public int setpwent() {
return posix().setpwent();
}
public int setsid() {
return posix().setsid();
}
public int setuid(int uid) {
return posix().setuid(uid);
}
public FileStat stat(String path) {
return posix().stat(path);
}
public int stat(String path, FileStat stat) {
return posix().stat(path, stat);
}
public int symlink(String oldpath, String newpath) {
return posix().symlink(oldpath, newpath);
}
public int umask(int mask) {
return posix().umask(mask);
}
public int utimes(String path, long[] atimeval, long[] mtimeval) {
return posix().utimes(path, atimeval, mtimeval);
}
public int utimes(String path, Pointer times) {
return posix().utimes(path, times);
}
public int futimes(int fd, long[] atimeval, long[] mtimeval) {
return posix().futimes(fd, atimeval, mtimeval);
}
public int lutimes(String path, long[] atimeval, long[] mtimeval) {
return posix().lutimes(path, atimeval, mtimeval);
}
public int utimensat(int dirfd, String path, long[] atimespec, long[] mtimespec, int flag) {
return posix().utimensat(dirfd, path, atimespec, mtimespec, flag);
}
public int utimensat(int dirfd, String path, Pointer times, int flag) {
return posix().utimensat(dirfd, path, times, flag);
}
public int futimens(int fd, long[] atimespec, long[] mtimespec) {
return posix().futimens(fd, atimespec, mtimespec);
}
public int futimens(int fd, Pointer times) {
return posix().futimens(fd, times);
}
public int wait(int[] status) {
return posix().wait(status);
}
public int waitpid(int pid, int[] status, int flags) {
return waitpid((long) pid, status, flags);
}
public int waitpid(long pid, int[] status, int flags) {
return posix().waitpid(pid, status, flags);
}
public boolean isNative() {
return posix().isNative();
}
public LibC libc() {
return posix().libc();
}
public Pointer environ() {
return posix().environ();
}
public String getenv(String envName) {
return posix().getenv(envName);
}
public int setenv(String envName, String envValue, int overwrite) {
return posix().setenv(envName, envValue, overwrite);
}
public int unsetenv(String envName) {
return posix().unsetenv(envName);
}
public long posix_spawnp(String path, Collection extends SpawnFileAction> fileActions, Collection extends CharSequence> argv, Collection extends CharSequence> envp) {
return posix().posix_spawnp(path, fileActions, argv, envp);
}
public long posix_spawnp(String path, Collection extends SpawnFileAction> fileActions,
Collection extends SpawnAttribute> spawnAttributes,
Collection extends CharSequence> argv, Collection extends CharSequence> envp) {
return posix().posix_spawnp(path, fileActions, spawnAttributes, argv, envp);
}
public long sysconf(Sysconf name) {
return posix().sysconf(name);
}
public Times times() {
return posix().times();
}
public int flock(int fd, int mode) {
return posix().flock(fd, mode);
}
public int dup(int fd) {
return posix().dup(fd);
}
public int dup2(int oldFd, int newFd) {
return posix().dup2(oldFd, newFd);
}
public int fcntlInt(int fd, Fcntl fcntlConst, int arg) {
return posix().fcntlInt(fd, fcntlConst, arg);
}
public int fcntl(int fd, Fcntl fcntlConst) {
return posix().fcntl(fd, fcntlConst);
}
public int fcntl(int fd, Fcntl fcntlConst, int... arg) {
return posix().fcntl(fd, fcntlConst);
}
public int access(CharSequence path, int amode) {
return posix().access(path, amode);
}
public int close(int fd) {
return posix().close(fd);
}
public int unlink(CharSequence path) {
return posix().unlink(path);
}
public int open(CharSequence path, int flags, int perm) {
return posix().open(path, flags, perm);
}
public long read(int fd, byte[] buf, long n) {
return posix().read(fd, buf, n);
}
public long write(int fd, byte[] buf, long n) {
return posix().write(fd, buf, n);
}
public long read(int fd, ByteBuffer buf, long n) {
return posix().read(fd, buf, n);
}
public long write(int fd, ByteBuffer buf, long n) {
return posix().write(fd, buf, n);
}
public long pread(int fd, byte[] buf, long n, long offset) {
return posix().pread(fd, buf, n, offset);
}
public long pwrite(int fd, byte[] buf, long n, long offset) {
return posix().pwrite(fd, buf, n, offset);
}
public long pread(int fd, ByteBuffer buf, long n, long offset) {
return posix().pread(fd, buf, n, offset);
}
public long pwrite(int fd, ByteBuffer buf, long n, long offset) {
return posix().pwrite(fd, buf, n, offset);
}
public int read(int fd, byte[] buf, int n)
{
return posix().read(fd, buf, n);
}
public int write(int fd, byte[] buf, int n) {
return posix().write(fd, buf, n);
}
public int read(int fd, ByteBuffer buf, int n) {
return posix().read(fd, buf, n);
}
public int write(int fd, ByteBuffer buf, int n) {
return posix().write(fd, buf, n);
}
public int pread(int fd, byte[] buf, int n, int offset) {
return posix().pread(fd, buf, n, offset);
}
public int pwrite(int fd, byte[] buf, int n, int offset) {
return posix().pwrite(fd, buf, n, offset);
}
public int pread(int fd, ByteBuffer buf, int n, int offset) {
return posix().pread(fd, buf, n, offset);
}
public int pwrite(int fd, ByteBuffer buf, int n, int offset) {
return posix().pwrite(fd, buf, n, offset);
}
public int lseek(int fd, long offset, int whence) {
return posix().lseek(fd, offset, whence);
}
public long lseekLong(int fd, long offset, int whence) {
return posix().lseekLong(fd, offset, whence);
}
public int pipe(int[] fds) {
return posix().pipe(fds);
}
public int socketpair(int domain, int type, int protocol, int[] fds) {
return posix().socketpair(domain, type, protocol, fds);
}
public int sendmsg(int socket, MsgHdr message, int flags) {
return posix().sendmsg(socket, message, flags);
}
public int recvmsg(int socket, MsgHdr message, int flags) {
return posix().recvmsg(socket, message, flags);
}
public int truncate(CharSequence path, long length) {
return posix().truncate(path, length);
}
public int ftruncate(int fd, long offset) {
return posix().ftruncate(fd, offset);
}
public int rename(CharSequence oldName, CharSequence newName) {
return posix().rename(oldName, newName);
}
public String getcwd() {
return posix().getcwd();
}
public int fsync(int fd) {
return posix().fsync(fd);
}
public int fdatasync(int fd) {
return posix().fdatasync(fd);
}
public int mkfifo(String path, int mode) {
return posix().mkfifo(path, mode);
}
public int daemon(int nochdir, int noclose) {
return posix().daemon(nochdir, noclose);
}
public long[] getgroups() {
return posix().getgroups();
}
public int getgroups(int size, int[] groups) {
return posix().getgroups(size, groups);
}
public String nl_langinfo(int item) {
return posix().nl_langinfo(item);
}
public String setlocale(int category, String locale) {
return posix().setlocale(category, locale);
}
@Override
public String strerror(int code) {
return posix().strerror(code);
}
@Override
public Timeval allocateTimeval() { return posix().allocateTimeval(); }
@Override
public int gettimeofday(Timeval tv) { return posix().gettimeofday(tv); }
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy