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

net.finmath.smartcontract.product.xml.FxAccrualOption Maven / Gradle / Ivy

There is a newer version: 1.0.6
Show newest version
//
// 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.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import jakarta.xml.bind.annotation.XmlAccessType;
import jakarta.xml.bind.annotation.XmlAccessorType;
import jakarta.xml.bind.annotation.XmlElement;
import jakarta.xml.bind.annotation.XmlType;


/**
 * An FX Accrual Option product The product defines a list of fixing (or
 *                 observation) dates. There are m total fixings. At the expiry date of the product, the buyer of the
 *                 option has the right to an FX settlement with n/m * Notional. Payout can be cash or physical.
 *             
 * 
 * 

Java class for FxAccrualOption complex type. * *

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

 * <complexType name="FxAccrualOption">
 *   <complexContent>
 *     <extension base="{http://www.fpml.org/FpML-5/confirmation}Option">
 *       <sequence>
 *         <group ref="{http://www.fpml.org/FpML-5/confirmation}PutCallCurrency.model"/>
 *         <element name="notionalAmount" type="{http://www.fpml.org/FpML-5/confirmation}NonNegativeAmountSchedule"/>
 *         <element name="accrual" type="{http://www.fpml.org/FpML-5/confirmation}FxAccrual"/>
 *         <group ref="{http://www.fpml.org/FpML-5/confirmation}FxExpiryDateOrSchedule.model"/>
 *         <group ref="{http://www.fpml.org/FpML-5/confirmation}FxSettlementDateOrSchedule.model"/>
 *         <element name="exerciseProcedure" type="{http://www.fpml.org/FpML-5/confirmation}ExerciseProcedure" minOccurs="0"/>
 *         <element name="spotRate" type="{http://www.fpml.org/FpML-5/confirmation}PositiveDecimal" minOccurs="0"/>
 *         <choice>
 *           <sequence>
 *             <element name="strike" type="{http://www.fpml.org/FpML-5/confirmation}FxOptionStrikePrice"/>
 *             <element name="counterCurrencyAmount" type="{http://www.fpml.org/FpML-5/confirmation}NonNegativeAmountSchedule" minOccurs="0"/>
 *           </sequence>
 *           <element name="averageStrike" type="{http://www.fpml.org/FpML-5/confirmation}FxAverageStrike"/>
 *         </choice>
 *         <element name="averageRate" type="{http://www.fpml.org/FpML-5/confirmation}FxAverageRate" minOccurs="0"/>
 *         <element name="barrier" type="{http://www.fpml.org/FpML-5/confirmation}FxAccrualBarrier" maxOccurs="unbounded" minOccurs="0"/>
 *         <element name="premium" type="{http://www.fpml.org/FpML-5/confirmation}FxOptionPremium" maxOccurs="unbounded" minOccurs="0"/>
 *       </sequence>
 *     </extension>
 *   </complexContent>
 * </complexType>
 * 
* * */ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "FxAccrualOption", propOrder = { "putCurrency", "callCurrency", "notionalAmount", "accrual", "expiryDate", "expirySchedule", "settlementDate", "settlementSchedule", "exerciseProcedure", "spotRate", "strike", "counterCurrencyAmount", "averageStrike", "averageRate", "barrier", "premium" }) public class FxAccrualOption extends Option { @XmlElement(required = true) protected Currency putCurrency; @XmlElement(required = true) protected Currency callCurrency; @XmlElement(required = true) protected NonNegativeAmountSchedule notionalAmount; @XmlElement(required = true) protected FxAccrual accrual; protected FxExpiryDate expiryDate; protected FxExpirySchedule expirySchedule; protected FxAdjustedDateAndDateAdjustments settlementDate; protected FxSettlementSchedule settlementSchedule; protected ExerciseProcedure exerciseProcedure; protected BigDecimal spotRate; protected FxOptionStrikePrice strike; protected NonNegativeAmountSchedule counterCurrencyAmount; protected FxAverageStrike averageStrike; protected FxAverageRate averageRate; protected List barrier; protected List premium; /** * 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 NonNegativeAmountSchedule } * */ public NonNegativeAmountSchedule getNotionalAmount() { return notionalAmount; } /** * Sets the value of the notionalAmount property. * * @param value * allowed object is * {@link NonNegativeAmountSchedule } * */ public void setNotionalAmount(NonNegativeAmountSchedule value) { this.notionalAmount = value; } /** * Gets the value of the accrual property. * * @return * possible object is * {@link FxAccrual } * */ public FxAccrual getAccrual() { return accrual; } /** * Sets the value of the accrual property. * * @param value * allowed object is * {@link FxAccrual } * */ public void setAccrual(FxAccrual value) { this.accrual = value; } /** * Gets the value of the expiryDate property. * * @return * possible object is * {@link FxExpiryDate } * */ public FxExpiryDate getExpiryDate() { return expiryDate; } /** * Sets the value of the expiryDate property. * * @param value * allowed object is * {@link FxExpiryDate } * */ public void setExpiryDate(FxExpiryDate value) { this.expiryDate = value; } /** * Gets the value of the expirySchedule property. * * @return * possible object is * {@link FxExpirySchedule } * */ public FxExpirySchedule getExpirySchedule() { return expirySchedule; } /** * Sets the value of the expirySchedule property. * * @param value * allowed object is * {@link FxExpirySchedule } * */ public void setExpirySchedule(FxExpirySchedule value) { this.expirySchedule = value; } /** * Gets the value of the settlementDate property. * * @return * possible object is * {@link FxAdjustedDateAndDateAdjustments } * */ public FxAdjustedDateAndDateAdjustments getSettlementDate() { return settlementDate; } /** * Sets the value of the settlementDate property. * * @param value * allowed object is * {@link FxAdjustedDateAndDateAdjustments } * */ public void setSettlementDate(FxAdjustedDateAndDateAdjustments value) { this.settlementDate = value; } /** * Gets the value of the settlementSchedule property. * * @return * possible object is * {@link FxSettlementSchedule } * */ public FxSettlementSchedule getSettlementSchedule() { return settlementSchedule; } /** * Sets the value of the settlementSchedule property. * * @param value * allowed object is * {@link FxSettlementSchedule } * */ public void setSettlementSchedule(FxSettlementSchedule value) { this.settlementSchedule = value; } /** * Gets the value of the exerciseProcedure property. * * @return * possible object is * {@link ExerciseProcedure } * */ public ExerciseProcedure getExerciseProcedure() { return exerciseProcedure; } /** * Sets the value of the exerciseProcedure property. * * @param value * allowed object is * {@link ExerciseProcedure } * */ public void setExerciseProcedure(ExerciseProcedure value) { this.exerciseProcedure = value; } /** * Gets the value of the spotRate property. * * @return * possible object is * {@link BigDecimal } * */ public BigDecimal getSpotRate() { return spotRate; } /** * Sets the value of the spotRate property. * * @param value * allowed object is * {@link BigDecimal } * */ public void setSpotRate(BigDecimal value) { this.spotRate = value; } /** * Gets the value of the strike property. * * @return * possible object is * {@link FxOptionStrikePrice } * */ public FxOptionStrikePrice getStrike() { return strike; } /** * Sets the value of the strike property. * * @param value * allowed object is * {@link FxOptionStrikePrice } * */ public void setStrike(FxOptionStrikePrice value) { this.strike = value; } /** * Gets the value of the counterCurrencyAmount property. * * @return * possible object is * {@link NonNegativeAmountSchedule } * */ public NonNegativeAmountSchedule getCounterCurrencyAmount() { return counterCurrencyAmount; } /** * Sets the value of the counterCurrencyAmount property. * * @param value * allowed object is * {@link NonNegativeAmountSchedule } * */ public void setCounterCurrencyAmount(NonNegativeAmountSchedule value) { this.counterCurrencyAmount = value; } /** * Gets the value of the averageStrike property. * * @return * possible object is * {@link FxAverageStrike } * */ public FxAverageStrike getAverageStrike() { return averageStrike; } /** * Sets the value of the averageStrike property. * * @param value * allowed object is * {@link FxAverageStrike } * */ public void setAverageStrike(FxAverageStrike value) { this.averageStrike = value; } /** * Gets the value of the averageRate property. * * @return * possible object is * {@link FxAverageRate } * */ public FxAverageRate getAverageRate() { return averageRate; } /** * Sets the value of the averageRate property. * * @param value * allowed object is * {@link FxAverageRate } * */ public void setAverageRate(FxAverageRate value) { this.averageRate = value; } /** * Gets the value of the barrier 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 barrier property. * *

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

     *    getBarrier().add(newItem);
     * 
* * *

* Objects of the following type(s) are allowed in the list * {@link FxAccrualBarrier } * * */ public List getBarrier() { if (barrier == null) { barrier = new ArrayList(); } return this.barrier; } /** * Gets the value of the premium 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 premium property. * *

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

     *    getPremium().add(newItem);
     * 
* * *

* Objects of the following type(s) are allowed in the list * {@link FxOptionPremium } * * */ public List getPremium() { if (premium == null) { premium = new ArrayList(); } return this.premium; } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy