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

net.finmath.smartcontract.product.xml.FxFlexibleForward 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 javax.xml.datatype.XMLGregorianCalendar;
import jakarta.xml.bind.annotation.XmlAccessType;
import jakarta.xml.bind.annotation.XmlAccessorType;
import jakarta.xml.bind.annotation.XmlElement;
import jakarta.xml.bind.annotation.XmlSchemaType;
import jakarta.xml.bind.annotation.XmlType;


/**
 * Product model for a flexible-term fx forward (also known as callable
 *                 forward, window forward). This is a term forward transaction over a specific period, allowing the client
 *                 full flexibility on the timing of the transactional flow(s). The product allows for (full or partial)
 *                 execution at a predetermined forward rate, at any time between the start date and the expiry date.
 *                 Although, the product is an outright, it has some option-like characteristics, leading to the use of
 *                 option components in the model: (i) the BuyerSeller model expresses the roles of the parties in the
 *                 overall transaction - the client "buys" the product (ii) the PutCallCurrency model expresses the buyer's
 *                 perspective on the exchanged currencies i.e. the client may buy (call) or sell (put) the notional
 *                 currency for the alternative currency.
 *             
 * 
 * 

Java class for FxFlexibleForward complex type. * *

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

 * <complexType name="FxFlexibleForward">
 *   <complexContent>
 *     <extension base="{http://www.fpml.org/FpML-5/confirmation}Product">
 *       <sequence>
 *         <group ref="{http://www.fpml.org/FpML-5/confirmation}BuyerSeller.model"/>
 *         <group ref="{http://www.fpml.org/FpML-5/confirmation}PutCallCurrency.model"/>
 *         <sequence>
 *           <element name="notionalAmount" type="{http://www.fpml.org/FpML-5/confirmation}PositiveMoney"/>
 *           <element name="minimumExecutionAmount" type="{http://www.fpml.org/FpML-5/confirmation}PositiveMoney" minOccurs="0"/>
 *           <element name="settlementAmount" type="{http://www.fpml.org/FpML-5/confirmation}NonNegativeMoney" minOccurs="0"/>
 *         </sequence>
 *         <element name="executionPeriodDates" type="{http://www.fpml.org/FpML-5/confirmation}FxFlexibleForwardExecutionPeriod"/>
 *         <sequence minOccurs="0">
 *           <element name="earliestExecutionTime" type="{http://www.fpml.org/FpML-5/confirmation}BusinessCenterTime"/>
 *           <element name="latestExecutionTime" type="{http://www.fpml.org/FpML-5/confirmation}BusinessCenterTime"/>
 *         </sequence>
 *         <element name="settlementDateOffset" type="{http://www.fpml.org/FpML-5/confirmation}RelativeDateOffset" minOccurs="0"/>
 *         <element name="finalSettlementDate" type="{http://www.w3.org/2001/XMLSchema}date" minOccurs="0"/>
 *         <element name="forwardRate" type="{http://www.fpml.org/FpML-5/confirmation}FxFlexibleForwardRate"/>
 *         <element name="additionalPayment" type="{http://www.fpml.org/FpML-5/confirmation}Payment" minOccurs="0"/>
 *       </sequence>
 *     </extension>
 *   </complexContent>
 * </complexType>
 * 
* * */ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "FxFlexibleForward", propOrder = { "buyerPartyReference", "buyerAccountReference", "sellerPartyReference", "sellerAccountReference", "putCurrency", "callCurrency", "notionalAmount", "minimumExecutionAmount", "settlementAmount", "executionPeriodDates", "earliestExecutionTime", "latestExecutionTime", "settlementDateOffset", "finalSettlementDate", "forwardRate", "additionalPayment" }) public class FxFlexibleForward extends Product { @XmlElement(required = true) protected PartyReference buyerPartyReference; protected AccountReference buyerAccountReference; @XmlElement(required = true) protected PartyReference sellerPartyReference; protected AccountReference sellerAccountReference; @XmlElement(required = true) protected Currency putCurrency; @XmlElement(required = true) protected Currency callCurrency; @XmlElement(required = true) protected PositiveMoney notionalAmount; protected PositiveMoney minimumExecutionAmount; protected NonNegativeMoney settlementAmount; @XmlElement(required = true) protected FxFlexibleForwardExecutionPeriod executionPeriodDates; protected BusinessCenterTime earliestExecutionTime; protected BusinessCenterTime latestExecutionTime; protected RelativeDateOffset settlementDateOffset; @XmlSchemaType(name = "date") protected XMLGregorianCalendar finalSettlementDate; @XmlElement(required = true) protected FxFlexibleForwardRate forwardRate; protected Payment additionalPayment; /** * Gets the value of the buyerPartyReference property. * * @return * possible object is * {@link PartyReference } * */ public PartyReference getBuyerPartyReference() { return buyerPartyReference; } /** * Sets the value of the buyerPartyReference property. * * @param value * allowed object is * {@link PartyReference } * */ public void setBuyerPartyReference(PartyReference value) { this.buyerPartyReference = value; } /** * Gets the value of the buyerAccountReference property. * * @return * possible object is * {@link AccountReference } * */ public AccountReference getBuyerAccountReference() { return buyerAccountReference; } /** * Sets the value of the buyerAccountReference property. * * @param value * allowed object is * {@link AccountReference } * */ public void setBuyerAccountReference(AccountReference value) { this.buyerAccountReference = value; } /** * Gets the value of the sellerPartyReference property. * * @return * possible object is * {@link PartyReference } * */ public PartyReference getSellerPartyReference() { return sellerPartyReference; } /** * Sets the value of the sellerPartyReference property. * * @param value * allowed object is * {@link PartyReference } * */ public void setSellerPartyReference(PartyReference value) { this.sellerPartyReference = value; } /** * Gets the value of the sellerAccountReference property. * * @return * possible object is * {@link AccountReference } * */ public AccountReference getSellerAccountReference() { return sellerAccountReference; } /** * Sets the value of the sellerAccountReference property. * * @param value * allowed object is * {@link AccountReference } * */ public void setSellerAccountReference(AccountReference value) { this.sellerAccountReference = value; } /** * Gets the value of the putCurrency property. * * @return * possible object is * {@link Currency } * */ public Currency getPutCurrency() { return putCurrency; } /** * Sets the value of the putCurrency property. * * @param value * allowed object is * {@link Currency } * */ public void setPutCurrency(Currency value) { this.putCurrency = value; } /** * Gets the value of the callCurrency property. * * @return * possible object is * {@link Currency } * */ public Currency getCallCurrency() { return callCurrency; } /** * Sets the value of the callCurrency property. * * @param value * allowed object is * {@link Currency } * */ public void setCallCurrency(Currency value) { this.callCurrency = value; } /** * Gets the value of the notionalAmount property. * * @return * possible object is * {@link PositiveMoney } * */ public PositiveMoney getNotionalAmount() { return notionalAmount; } /** * Sets the value of the notionalAmount property. * * @param value * allowed object is * {@link PositiveMoney } * */ public void setNotionalAmount(PositiveMoney value) { this.notionalAmount = value; } /** * Gets the value of the minimumExecutionAmount property. * * @return * possible object is * {@link PositiveMoney } * */ public PositiveMoney getMinimumExecutionAmount() { return minimumExecutionAmount; } /** * Sets the value of the minimumExecutionAmount property. * * @param value * allowed object is * {@link PositiveMoney } * */ public void setMinimumExecutionAmount(PositiveMoney value) { this.minimumExecutionAmount = value; } /** * Gets the value of the settlementAmount property. * * @return * possible object is * {@link NonNegativeMoney } * */ public NonNegativeMoney getSettlementAmount() { return settlementAmount; } /** * Sets the value of the settlementAmount property. * * @param value * allowed object is * {@link NonNegativeMoney } * */ public void setSettlementAmount(NonNegativeMoney value) { this.settlementAmount = value; } /** * Gets the value of the executionPeriodDates property. * * @return * possible object is * {@link FxFlexibleForwardExecutionPeriod } * */ public FxFlexibleForwardExecutionPeriod getExecutionPeriodDates() { return executionPeriodDates; } /** * Sets the value of the executionPeriodDates property. * * @param value * allowed object is * {@link FxFlexibleForwardExecutionPeriod } * */ public void setExecutionPeriodDates(FxFlexibleForwardExecutionPeriod value) { this.executionPeriodDates = value; } /** * Gets the value of the earliestExecutionTime property. * * @return * possible object is * {@link BusinessCenterTime } * */ public BusinessCenterTime getEarliestExecutionTime() { return earliestExecutionTime; } /** * Sets the value of the earliestExecutionTime property. * * @param value * allowed object is * {@link BusinessCenterTime } * */ public void setEarliestExecutionTime(BusinessCenterTime value) { this.earliestExecutionTime = value; } /** * Gets the value of the latestExecutionTime property. * * @return * possible object is * {@link BusinessCenterTime } * */ public BusinessCenterTime getLatestExecutionTime() { return latestExecutionTime; } /** * Sets the value of the latestExecutionTime property. * * @param value * allowed object is * {@link BusinessCenterTime } * */ public void setLatestExecutionTime(BusinessCenterTime value) { this.latestExecutionTime = value; } /** * Gets the value of the settlementDateOffset property. * * @return * possible object is * {@link RelativeDateOffset } * */ public RelativeDateOffset getSettlementDateOffset() { return settlementDateOffset; } /** * Sets the value of the settlementDateOffset property. * * @param value * allowed object is * {@link RelativeDateOffset } * */ public void setSettlementDateOffset(RelativeDateOffset value) { this.settlementDateOffset = value; } /** * Gets the value of the finalSettlementDate property. * * @return * possible object is * {@link XMLGregorianCalendar } * */ public XMLGregorianCalendar getFinalSettlementDate() { return finalSettlementDate; } /** * Sets the value of the finalSettlementDate property. * * @param value * allowed object is * {@link XMLGregorianCalendar } * */ public void setFinalSettlementDate(XMLGregorianCalendar value) { this.finalSettlementDate = value; } /** * Gets the value of the forwardRate property. * * @return * possible object is * {@link FxFlexibleForwardRate } * */ public FxFlexibleForwardRate getForwardRate() { return forwardRate; } /** * Sets the value of the forwardRate property. * * @param value * allowed object is * {@link FxFlexibleForwardRate } * */ public void setForwardRate(FxFlexibleForwardRate value) { this.forwardRate = value; } /** * Gets the value of the additionalPayment property. * * @return * possible object is * {@link Payment } * */ public Payment getAdditionalPayment() { return additionalPayment; } /** * Sets the value of the additionalPayment property. * * @param value * allowed object is * {@link Payment } * */ public void setAdditionalPayment(Payment value) { this.additionalPayment = value; } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy