/*******************************************************************************
* Copyright 2017 Capital One Services, LLC and Bitwise, Inc.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* http://www.apache.org/licenses/LICENSE-2.0
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
******************************************************************************/
package hydrograph.engine.jaxb.commontypes;
import hydrograph.engine.jaxb.executiontracking.TypeExecutiontrackingOutSocket;
import hydrograph.engine.jaxb.filter.TypeFilterOutSocket;
import hydrograph.engine.jaxb.partitionbyexpression.TypePbeOutSocket;
import hydrograph.engine.jaxb.transform.TypeTransformOutSocket;
import javax.xml.bind.annotation.*;
import java.util.ArrayList;
import java.util.List;
/**
* <p>Java class for type-operations-out-socket complex type.
*
* <p>The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* <complexType name="type-operations-out-socket">
* <complexContent>
* <extension base="{hydrograph/engine/jaxb/commontypes}type-base-outSocket">
* <choice minOccurs="0">
* <element name="copyOfInsocket" type="{hydrograph/engine/jaxb/commontypes}type-outSocket-as-inSocket"/>
* <choice maxOccurs="unbounded">
* <element name="passThroughField" type="{hydrograph/engine/jaxb/commontypes}type-input-field"/>
* <element name="operationField" type="{hydrograph/engine/jaxb/commontypes}type-operation-field"/>
* <element name="expressionField" type="{hydrograph/engine/jaxb/commontypes}type-expression-field"/>
* <element name="mapField" type="{hydrograph/engine/jaxb/commontypes}type-map-field"/>
* </choice>
* </choice>
* <anyAttribute/>
* </extension>
* </complexContent>
* </complexType>
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "type-operations-out-socket", namespace = "hydrograph/engine/jaxb/commontypes", propOrder = {
"copyOfInsocket",
"passThroughFieldOrOperationFieldOrExpressionField"
})
@XmlSeeAlso({
TypeTransformOutSocket.class,
hydrograph.engine.jaxb.aggregate.TypeOutSocket.class,
hydrograph.engine.jaxb.groupcombine.TypeOutSocket.class,
hydrograph.engine.jaxb.join.TypeOutSocket.class,
TypeFilterOutSocket.class,
TypeExecutiontrackingOutSocket.class,
hydrograph.engine.jaxb.generatesequence.TypeOutSocket.class,
hydrograph.engine.jaxb.cumulate.TypeOutSocket.class,
hydrograph.engine.jaxb.lookup.TypeOutSocket.class,
hydrograph.engine.jaxb.normalize.TypeOutSocket.class,
hydrograph.engine.jaxb.subjob.TypeOutSocket.class,
TypePbeOutSocket.class
})
public class TypeOperationsOutSocket
extends TypeBaseOutSocket
{
protected TypeOutSocketAsInSocket copyOfInsocket;
@XmlElements({
@XmlElement(name = "passThroughField", type = TypeInputField.class),
@XmlElement(name = "operationField", type = TypeOperationField.class),
@XmlElement(name = "expressionField", type = TypeExpressionField.class),
@XmlElement(name = "mapField", type = TypeMapField.class)
})
protected List<Object> passThroughFieldOrOperationFieldOrExpressionField;
/**
* Gets the value of the copyOfInsocket property.
*
* @return
* possible object is
* {@link TypeOutSocketAsInSocket }
*
*/
public TypeOutSocketAsInSocket getCopyOfInsocket() {
return copyOfInsocket;
}
/**
* Sets the value of the copyOfInsocket property.
*
* @param value
* allowed object is
* {@link TypeOutSocketAsInSocket }
*
*/
public void setCopyOfInsocket(TypeOutSocketAsInSocket value) {
this.copyOfInsocket = value;
}
/**
* Gets the value of the passThroughFieldOrOperationFieldOrExpressionField property.
*
* <p>
* This accessor method returns a reference to the live list,
* not a snapshot. Therefore any modification you make to the
* returned list will be present inside the JAXB object.
* This is why there is not a <CODE>set</CODE> method for the passThroughFieldOrOperationFieldOrExpressionField property.
*
* <p>
* For example, to add a new item, do as follows:
* <pre>
* getPassThroughFieldOrOperationFieldOrExpressionField().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link TypeInputField }
* {@link TypeOperationField }
* {@link TypeExpressionField }
* {@link TypeMapField }
*
*
*/
public List<Object> getPassThroughFieldOrOperationFieldOrExpressionField() {
if (passThroughFieldOrOperationFieldOrExpressionField == null) {
passThroughFieldOrOperationFieldOrExpressionField = new ArrayList<Object>();
}
return this.passThroughFieldOrOperationFieldOrExpressionField;
}
}