All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.omg.space.xtce.MathOperationType Maven / Gradle / Ivy

Go to download

This project contains software to support the Object Management Group (OMG) Space Domain Task Force (SDTF) maintained XML Telemetry and Command Exchange (XTCE) specification.

There is a newer version: 1.1.6
Show newest version
//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.0 
// See https://javaee.github.io/jaxb-v2/ 
// Any modifications to this file will be lost upon recompilation of the source schema. 
// Generated on: 2019.03.16 at 05:52:46 PM MST 
//


package org.omg.space.xtce;

import java.util.ArrayList;
import java.util.List;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElements;
import javax.xml.bind.annotation.XmlSeeAlso;
import javax.xml.bind.annotation.XmlType;


/**
 * Postfix (aka Reverse Polish Notation (RPN)) notation is used to describe mathmatical equations. It uses a stack where operands (either fixed values or ParameterInstances) are pushed onto the stack from first to last in the XML. As the operators are specified, each pops off operands as it evaluates them, and pushes the result back onto the stack. In this case postfix is used to avoid having to specify parenthesis. To convert from infix to postfix, use Dijkstra's "shunting yard" algorithm.
 * 
 * 

Java class for MathOperationType complex type. * *

The following schema fragment specifies the expected content contained within this class. * *

 * <complexType name="MathOperationType">
 *   <complexContent>
 *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *       <choice maxOccurs="unbounded">
 *         <element name="ValueOperand" type="{http://www.w3.org/2001/XMLSchema}double"/>
 *         <element name="ThisParameterOperand" type="{http://www.w3.org/2001/XMLSchema}anyType"/>
 *         <element name="ParameterInstanceRefOperand" type="{http://www.omg.org/space/xtce}ParameterInstanceRefType"/>
 *         <element name="Operator" type="{http://www.omg.org/space/xtce}MathOperatorsType"/>
 *       </choice>
 *     </restriction>
 *   </complexContent>
 * </complexType>
 * 
* * */ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "MathOperationType", propOrder = { "valueOperandOrThisParameterOperandOrParameterInstanceRefOperand" }) @XmlSeeAlso({ org.omg.space.xtce.MetaCommandType.ParameterToSetList.ParameterToSet.Derivation.class, org.omg.space.xtce.CalibratorType.MathOperationCalibrator.class, org.omg.space.xtce.MathAlgorithmType.MathOperation.class }) public class MathOperationType { @XmlElements({ @XmlElement(name = "ValueOperand", type = Double.class), @XmlElement(name = "ThisParameterOperand"), @XmlElement(name = "ParameterInstanceRefOperand", type = ParameterInstanceRefType.class), @XmlElement(name = "Operator", type = String.class) }) protected List valueOperandOrThisParameterOperandOrParameterInstanceRefOperand; /** * Gets the value of the valueOperandOrThisParameterOperandOrParameterInstanceRefOperand property. * *

* 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 set method for the valueOperandOrThisParameterOperandOrParameterInstanceRefOperand property. * *

* For example, to add a new item, do as follows: *

     *    getValueOperandOrThisParameterOperandOrParameterInstanceRefOperand().add(newItem);
     * 
* * *

* Objects of the following type(s) are allowed in the list * {@link Double } * {@link Object } * {@link ParameterInstanceRefType } * {@link String } * * */ public List getValueOperandOrThisParameterOperandOrParameterInstanceRefOperand() { if (valueOperandOrThisParameterOperandOrParameterInstanceRefOperand == null) { valueOperandOrThisParameterOperandOrParameterInstanceRefOperand = new ArrayList(); } return this.valueOperandOrThisParameterOperandOrParameterInstanceRefOperand; } }