net.finmath.smartcontract.product.xml.CommodityFx Maven / Gradle / Ivy
//
// This file was generated by the Eclipse Implementation of JAXB, v3.0.0
// See https://eclipse-ee4j.github.io/jaxb-ri
// Any modifications to this file will be lost upon recompilation of the source schema.
// Generated on: 2024.12.05 at 10:53:57 AM CET
//
package net.finmath.smartcontract.product.xml;
import java.math.BigInteger;
import java.util.ArrayList;
import java.util.List;
import jakarta.xml.bind.JAXBElement;
import jakarta.xml.bind.annotation.XmlAccessType;
import jakarta.xml.bind.annotation.XmlAccessorType;
import jakarta.xml.bind.annotation.XmlElementRef;
import jakarta.xml.bind.annotation.XmlElementRefs;
import jakarta.xml.bind.annotation.XmlType;
/**
* A type defining the FX observations to be used to convert the observed
* Commodity Reference Price to the Settlement Currency. The rate source must be specified. Additionally, a
* time for the spot price to be observed on that source may be specified, or else an averaging schedule
* for trades priced using an average FX rate.
*
*
* Java class for CommodityFx complex type.
*
*
The following schema fragment specifies the expected content contained within this class.
*
*
* <complexType name="CommodityFx">
* <complexContent>
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* <sequence>
* <element name="primaryRateSource" type="{http://www.fpml.org/FpML-5/confirmation}InformationSource"/>
* <element name="secondaryRateSource" type="{http://www.fpml.org/FpML-5/confirmation}InformationSource" minOccurs="0"/>
* <element name="fxType" type="{http://www.fpml.org/FpML-5/confirmation}CommodityFxType" minOccurs="0"/>
* <element name="averagingMethod" type="{http://www.fpml.org/FpML-5/confirmation}AveragingMethodEnum" minOccurs="0"/>
* <choice minOccurs="0">
* <element name="fixingTime" type="{http://www.fpml.org/FpML-5/confirmation}BusinessCenterTime"/>
* <sequence>
* <choice>
* <element name="fxObservationDates" type="{http://www.fpml.org/FpML-5/confirmation}AdjustableDates" maxOccurs="unbounded"/>
* <sequence>
* <sequence minOccurs="0">
* <group ref="{http://www.fpml.org/FpML-5/confirmation}Days.model"/>
* <group ref="{http://www.fpml.org/FpML-5/confirmation}LagOrReference.model" minOccurs="0"/>
* </sequence>
* <group ref="{http://www.fpml.org/FpML-5/confirmation}CommodityCalculationPeriodsPointer.model"/>
* </sequence>
* </choice>
* <element name="fixingTime" type="{http://www.fpml.org/FpML-5/confirmation}BusinessCenterTime" minOccurs="0"/>
* </sequence>
* </choice>
* </sequence>
* </restriction>
* </complexContent>
* </complexType>
*
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "CommodityFx", propOrder = {
"content"
})
public class CommodityFx {
@XmlElementRefs({
@XmlElementRef(name = "primaryRateSource", namespace = "http://www.fpml.org/FpML-5/confirmation", type = JAXBElement.class, required = false),
@XmlElementRef(name = "secondaryRateSource", namespace = "http://www.fpml.org/FpML-5/confirmation", type = JAXBElement.class, required = false),
@XmlElementRef(name = "fxType", namespace = "http://www.fpml.org/FpML-5/confirmation", type = JAXBElement.class, required = false),
@XmlElementRef(name = "averagingMethod", namespace = "http://www.fpml.org/FpML-5/confirmation", type = JAXBElement.class, required = false),
@XmlElementRef(name = "fixingTime", namespace = "http://www.fpml.org/FpML-5/confirmation", type = JAXBElement.class, required = false),
@XmlElementRef(name = "fxObservationDates", namespace = "http://www.fpml.org/FpML-5/confirmation", type = JAXBElement.class, required = false),
@XmlElementRef(name = "dayType", namespace = "http://www.fpml.org/FpML-5/confirmation", type = JAXBElement.class, required = false),
@XmlElementRef(name = "dayDistribution", namespace = "http://www.fpml.org/FpML-5/confirmation", type = JAXBElement.class, required = false),
@XmlElementRef(name = "dayCount", namespace = "http://www.fpml.org/FpML-5/confirmation", type = JAXBElement.class, required = false),
@XmlElementRef(name = "dayOfWeek", namespace = "http://www.fpml.org/FpML-5/confirmation", type = JAXBElement.class, required = false),
@XmlElementRef(name = "dayNumber", namespace = "http://www.fpml.org/FpML-5/confirmation", type = JAXBElement.class, required = false),
@XmlElementRef(name = "businessDayConvention", namespace = "http://www.fpml.org/FpML-5/confirmation", type = JAXBElement.class, required = false),
@XmlElementRef(name = "lag", namespace = "http://www.fpml.org/FpML-5/confirmation", type = JAXBElement.class, required = false),
@XmlElementRef(name = "lagReference", namespace = "http://www.fpml.org/FpML-5/confirmation", type = JAXBElement.class, required = false),
@XmlElementRef(name = "calculationPeriodsReference", namespace = "http://www.fpml.org/FpML-5/confirmation", type = JAXBElement.class, required = false),
@XmlElementRef(name = "calculationPeriodsScheduleReference", namespace = "http://www.fpml.org/FpML-5/confirmation", type = JAXBElement.class, required = false),
@XmlElementRef(name = "calculationPeriodsDatesReference", namespace = "http://www.fpml.org/FpML-5/confirmation", type = JAXBElement.class, required = false)
})
protected List> content;
/**
* Gets the rest of the content model.
*
*
* You are getting this "catch-all" property because of the following reason:
* The field name "FixingTime" is used by two different parts of a schema. See:
* line 1348 of file:/Users/fries/git-sdc/finmath-smart-derivative-contract/target/checkout/src/main/resources/schemas/fpml-schemas/fpml-com-5-9.xsd
* line 1310 of file:/Users/fries/git-sdc/finmath-smart-derivative-contract/target/checkout/src/main/resources/schemas/fpml-schemas/fpml-com-5-9.xsd
*
* To get rid of this property, apply a property customization to one
* of both of the following declarations to change their names:
* Gets the value of the content 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 Jakarta XML Binding object.
* This is why there is not a set
method for the content property.
*
*
* For example, to add a new item, do as follows:
*
* getContent().add(newItem);
*
*
*
*
* Objects of the following type(s) are allowed in the list
* {@link JAXBElement }{@code <}{@link InformationSource }{@code >}
* {@link JAXBElement }{@code <}{@link InformationSource }{@code >}
* {@link JAXBElement }{@code <}{@link CommodityFxType }{@code >}
* {@link JAXBElement }{@code <}{@link AveragingMethodEnum }{@code >}
* {@link JAXBElement }{@code <}{@link BusinessCenterTime }{@code >}
* {@link JAXBElement }{@code <}{@link AdjustableDates }{@code >}
* {@link JAXBElement }{@code <}{@link String }{@code >}
* {@link JAXBElement }{@code <}{@link CommodityFrequencyType }{@code >}
* {@link JAXBElement }{@code <}{@link BigInteger }{@code >}
* {@link JAXBElement }{@code <}{@link DayOfWeekEnum }{@code >}
* {@link JAXBElement }{@code <}{@link BigInteger }{@code >}
* {@link JAXBElement }{@code <}{@link BusinessDayConventionEnum }{@code >}
* {@link JAXBElement }{@code <}{@link Lag }{@code >}
* {@link JAXBElement }{@code <}{@link LagReference }{@code >}
* {@link JAXBElement }{@code <}{@link CalculationPeriodsReference }{@code >}
* {@link JAXBElement }{@code <}{@link CalculationPeriodsScheduleReference }{@code >}
* {@link JAXBElement }{@code <}{@link CalculationPeriodsDatesReference }{@code >}
*
*
*/
public List> getContent() {
if (content == null) {
content = new ArrayList>();
}
return this.content;
}
}