package org.rzo.yajsw.os.posix.solaris; import org.apache.commons.configuration.Configuration; import org.rzo.yajsw.os.ErrorHandler; import org.rzo.yajsw.os.FileManager; import org.rzo.yajsw.os.JavaHome; import org.rzo.yajsw.os.Keyboard; import org.rzo.yajsw.os.ProcessManager; import org.rzo.yajsw.os.ServiceManager; import org.rzo.yajsw.os.SystemInformation; import org.rzo.yajsw.os.posix.OperatingSystemPosix; public class OperatingSystemSolaris extends OperatingSystemPosix { private static ProcessManager _processManagerInstance; private static ServiceManager _serviceManagerInstance; private static SystemInformation _systemInformation = new SolarisSystemInformation(); private static FileManager _fileManagerInstance; @Override public ErrorHandler errorHandlerInstance() { return new SolarisErrorHandler(); } @Override public JavaHome getJavaHome(Configuration config) { return new SolarisJavaHome(config); } @Override public Keyboard keyboardInstance() { return null; } @Override public ProcessManager processManagerInstance() { if (_processManagerInstance == null) _processManagerInstance = new SolarisProcessManager(); return _processManagerInstance; } @Override public ServiceManager serviceManagerInstance() { if (_serviceManagerInstance == null) _serviceManagerInstance = new SolarisServiceManager(); return _serviceManagerInstance; } @Override public SystemInformation systemInformation() { return _systemInformation; } @Override public FileManager fileManagerInstance() { if (_fileManagerInstance == null) _fileManagerInstance = new SolarisFileManager(); return _fileManagerInstance; } }