1 2 package org.metricshub.winrm.service.shell; 3 4 import java.util.ArrayList; 5 import java.util.List; 6 import javax.xml.datatype.Duration; 7 import jakarta.xml.bind.annotation.XmlAccessType; 8 import jakarta.xml.bind.annotation.XmlAccessorType; 9 import jakarta.xml.bind.annotation.XmlAnyElement; 10 import jakarta.xml.bind.annotation.XmlElement; 11 import jakarta.xml.bind.annotation.XmlList; 12 import jakarta.xml.bind.annotation.XmlSchemaType; 13 import jakarta.xml.bind.annotation.XmlType; 14 import org.w3c.dom.Element; 15 16 17 /** 18 * <p>Java class for Shell complex type</p>. 19 * 20 * <p>The following schema fragment specifies the expected content contained within this class.</p> 21 * 22 * <pre>{@code 23 * <complexType name="Shell"> 24 * <complexContent> 25 * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> 26 * <sequence> 27 * <element name="ShellId" type="{http://www.w3.org/2001/XMLSchema}anyURI" minOccurs="0"/> 28 * <element name="Environment" type="{http://schemas.microsoft.com/wbem/wsman/1/windows/shell}EnvironmentVariableList" minOccurs="0"/> 29 * <element name="WorkingDirectory" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> 30 * <element name="Lifetime" type="{http://www.w3.org/2001/XMLSchema}duration" minOccurs="0"/> 31 * <element name="IdleTimeout" type="{http://www.w3.org/2001/XMLSchema}duration" minOccurs="0"/> 32 * <element name="InputStreams" minOccurs="0"> 33 * <simpleType> 34 * <list itemType="{http://www.w3.org/2001/XMLSchema}string" /> 35 * </simpleType> 36 * </element> 37 * <element name="OutputStreams" minOccurs="0"> 38 * <simpleType> 39 * <list itemType="{http://www.w3.org/2001/XMLSchema}string" /> 40 * </simpleType> 41 * </element> 42 * <any processContents='lax' namespace='##other' maxOccurs="unbounded" minOccurs="0"/> 43 * </sequence> 44 * </restriction> 45 * </complexContent> 46 * </complexType> 47 * }</pre> 48 * 49 * 50 */ 51 @XmlAccessorType(XmlAccessType.FIELD) 52 @XmlType(name = "Shell", propOrder = { 53 "shellId", 54 "environment", 55 "workingDirectory", 56 "lifetime", 57 "idleTimeout", 58 "inputStreams", 59 "outputStreams", 60 "any" 61 }) 62 public class Shell { 63 64 @XmlElement(name = "ShellId") 65 @XmlSchemaType(name = "anyURI") 66 protected String shellId; 67 @XmlElement(name = "Environment") 68 protected EnvironmentVariableList environment; 69 @XmlElement(name = "WorkingDirectory") 70 protected String workingDirectory; 71 @XmlElement(name = "Lifetime") 72 protected Duration lifetime; 73 @XmlElement(name = "IdleTimeout") 74 protected Duration idleTimeout; 75 @XmlList 76 @XmlElement(name = "InputStreams") 77 protected List<String> inputStreams; 78 @XmlList 79 @XmlElement(name = "OutputStreams") 80 protected List<String> outputStreams; 81 @XmlAnyElement(lax = true) 82 protected List<Object> any; 83 84 /** 85 * Gets the value of the shellId property. 86 * 87 * @return 88 * possible object is 89 * {@link String } 90 * 91 */ 92 public String getShellId() { 93 return shellId; 94 } 95 96 /** 97 * Sets the value of the shellId property. 98 * 99 * @param value 100 * allowed object is 101 * {@link String } 102 * 103 */ 104 public void setShellId(String value) { 105 this.shellId = value; 106 } 107 108 /** 109 * Gets the value of the environment property. 110 * 111 * @return 112 * possible object is 113 * {@link EnvironmentVariableList } 114 * 115 */ 116 public EnvironmentVariableList getEnvironment() { 117 return environment; 118 } 119 120 /** 121 * Sets the value of the environment property. 122 * 123 * @param value 124 * allowed object is 125 * {@link EnvironmentVariableList } 126 * 127 */ 128 public void setEnvironment(EnvironmentVariableList value) { 129 this.environment = value; 130 } 131 132 /** 133 * Gets the value of the workingDirectory property. 134 * 135 * @return 136 * possible object is 137 * {@link String } 138 * 139 */ 140 public String getWorkingDirectory() { 141 return workingDirectory; 142 } 143 144 /** 145 * Sets the value of the workingDirectory property. 146 * 147 * @param value 148 * allowed object is 149 * {@link String } 150 * 151 */ 152 public void setWorkingDirectory(String value) { 153 this.workingDirectory = value; 154 } 155 156 /** 157 * Gets the value of the lifetime property. 158 * 159 * @return 160 * possible object is 161 * {@link Duration } 162 * 163 */ 164 public Duration getLifetime() { 165 return lifetime; 166 } 167 168 /** 169 * Sets the value of the lifetime property. 170 * 171 * @param value 172 * allowed object is 173 * {@link Duration } 174 * 175 */ 176 public void setLifetime(Duration value) { 177 this.lifetime = value; 178 } 179 180 /** 181 * Gets the value of the idleTimeout property. 182 * 183 * @return 184 * possible object is 185 * {@link Duration } 186 * 187 */ 188 public Duration getIdleTimeout() { 189 return idleTimeout; 190 } 191 192 /** 193 * Sets the value of the idleTimeout property. 194 * 195 * @param value 196 * allowed object is 197 * {@link Duration } 198 * 199 */ 200 public void setIdleTimeout(Duration value) { 201 this.idleTimeout = value; 202 } 203 204 /** 205 * Gets the value of the inputStreams property. 206 * 207 * <p>This accessor method returns a reference to the live list, 208 * not a snapshot. Therefore any modification you make to the 209 * returned list will be present inside the JAXB object. 210 * This is why there is not a <CODE>set</CODE> method for the inputStreams property.</p> 211 * 212 * <p> 213 * For example, to add a new item, do as follows: 214 * </p> 215 * <pre> 216 * getInputStreams().add(newItem); 217 * </pre> 218 * 219 * 220 * <p> 221 * Objects of the following type(s) are allowed in the list 222 * {@link String } 223 * </p> 224 * 225 * 226 * @return 227 * The value of the inputStreams property. 228 */ 229 public List<String> getInputStreams() { 230 if (inputStreams == null) { 231 inputStreams = new ArrayList<>(); 232 } 233 return this.inputStreams; 234 } 235 236 /** 237 * Gets the value of the outputStreams property. 238 * 239 * <p>This accessor method returns a reference to the live list, 240 * not a snapshot. Therefore any modification you make to the 241 * returned list will be present inside the JAXB object. 242 * This is why there is not a <CODE>set</CODE> method for the outputStreams property.</p> 243 * 244 * <p> 245 * For example, to add a new item, do as follows: 246 * </p> 247 * <pre> 248 * getOutputStreams().add(newItem); 249 * </pre> 250 * 251 * 252 * <p> 253 * Objects of the following type(s) are allowed in the list 254 * {@link String } 255 * </p> 256 * 257 * 258 * @return 259 * The value of the outputStreams property. 260 */ 261 public List<String> getOutputStreams() { 262 if (outputStreams == null) { 263 outputStreams = new ArrayList<>(); 264 } 265 return this.outputStreams; 266 } 267 268 /** 269 * Gets the value of the any property. 270 * 271 * <p>This accessor method returns a reference to the live list, 272 * not a snapshot. Therefore any modification you make to the 273 * returned list will be present inside the JAXB object. 274 * This is why there is not a <CODE>set</CODE> method for the any property.</p> 275 * 276 * <p> 277 * For example, to add a new item, do as follows: 278 * </p> 279 * <pre> 280 * getAny().add(newItem); 281 * </pre> 282 * 283 * 284 * <p> 285 * Objects of the following type(s) are allowed in the list 286 * {@link Object } 287 * {@link Element } 288 * </p> 289 * 290 * 291 * @return 292 * The value of the any property. 293 */ 294 public List<Object> getAny() { 295 if (any == null) { 296 any = new ArrayList<>(); 297 } 298 return this.any; 299 } 300 301 }