package net.sf.commons.ssh.session; import net.sf.commons.ssh.options.Configurable; import net.sf.commons.ssh.options.Properties; import net.sf.commons.ssh.options.PropertyType; /** * @author veentoo * @date 4/28/2016 */ public class SubsystemSessionPropertiesBuilder extends ShellSessionPropertiesBuilder { private static volatile SubsystemSessionPropertiesBuilder instance = null; @PropertyType(value = String.class, required = true) public static final String KEY_SUBSYSTEM_NAME ="net.sf.commons.ssh.options.SubsystemSessionPropertiesBuilder.subsystemName"; public static SubsystemSessionPropertiesBuilder getInstance() { if (instance == null) { synchronized (SubsystemSessionPropertiesBuilder.class) { if (instance == null) { instance = new SubsystemSessionPropertiesBuilder(); } } } return instance; } public String getSubsystemName(Properties opt) { return (String) getProperty(opt, KEY_SUBSYSTEM_NAME); } public void setSubsystemName(Configurable options, String subsystemName) { options.setProperty(KEY_SUBSYSTEM_NAME, subsystemName); } }