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 }