net.finmath.smartcontract.product.xml.FxOption 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.BigDecimal;
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;
/**
* Describes an FX option with optional asian and barrier features.
*
*
* Java class for FxOption complex type.
*
*
The following schema fragment specifies the expected content contained within this class.
*
*
* <complexType name="FxOption">
* <complexContent>
* <extension base="{http://www.fpml.org/FpML-5/confirmation}Option">
* <sequence>
* <element name="effectiveDate" type="{http://www.fpml.org/FpML-5/confirmation}AdjustableOrRelativeDate" minOccurs="0"/>
* <element name="tenorPeriod" type="{http://www.fpml.org/FpML-5/confirmation}Period" minOccurs="0"/>
* <sequence>
* <choice>
* <element name="americanExercise" type="{http://www.fpml.org/FpML-5/confirmation}FxAmericanExercise"/>
* <element name="europeanExercise" type="{http://www.fpml.org/FpML-5/confirmation}FxEuropeanExercise"/>
* </choice>
* <element name="exerciseProcedure" type="{http://www.fpml.org/FpML-5/confirmation}ExerciseProcedure" minOccurs="0"/>
* </sequence>
* <sequence>
* <element name="putCurrencyAmount" type="{http://www.fpml.org/FpML-5/confirmation}NonNegativeMoney"/>
* <element name="callCurrencyAmount" type="{http://www.fpml.org/FpML-5/confirmation}NonNegativeMoney"/>
* </sequence>
* <element name="soldAs" type="{http://www.fpml.org/FpML-5/confirmation}PutCallEnum" minOccurs="0"/>
* <sequence>
* <element name="strike" type="{http://www.fpml.org/FpML-5/confirmation}FxStrikePrice"/>
* <element name="spotRate" type="{http://www.fpml.org/FpML-5/confirmation}PositiveDecimal" minOccurs="0"/>
* </sequence>
* <element name="features" type="{http://www.fpml.org/FpML-5/confirmation}FxOptionFeatures" minOccurs="0"/>
* <element name="premium" type="{http://www.fpml.org/FpML-5/confirmation}FxOptionPremium" minOccurs="0"/>
* <element name="cashSettlement" type="{http://www.fpml.org/FpML-5/confirmation}FxCashSettlement" minOccurs="0"/>
* </sequence>
* </extension>
* </complexContent>
* </complexType>
*
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "FxOption", propOrder = {
"effectiveDate",
"tenorPeriod",
"americanExercise",
"europeanExercise",
"exerciseProcedure",
"putCurrencyAmount",
"callCurrencyAmount",
"soldAs",
"strike",
"spotRate",
"features",
"premium",
"cashSettlement"
})
public class FxOption
extends Option
{
protected AdjustableOrRelativeDate effectiveDate;
protected Period tenorPeriod;
protected FxAmericanExercise americanExercise;
protected FxEuropeanExercise europeanExercise;
protected ExerciseProcedure exerciseProcedure;
@XmlElement(required = true)
protected NonNegativeMoney putCurrencyAmount;
@XmlElement(required = true)
protected NonNegativeMoney callCurrencyAmount;
@XmlSchemaType(name = "token")
protected PutCallEnum soldAs;
@XmlElement(required = true)
protected FxStrikePrice strike;
protected BigDecimal spotRate;
protected FxOptionFeatures features;
protected FxOptionPremium premium;
protected FxCashSettlement cashSettlement;
/**
* Gets the value of the effectiveDate property.
*
* @return
* possible object is
* {@link AdjustableOrRelativeDate }
*
*/
public AdjustableOrRelativeDate getEffectiveDate() {
return effectiveDate;
}
/**
* Sets the value of the effectiveDate property.
*
* @param value
* allowed object is
* {@link AdjustableOrRelativeDate }
*
*/
public void setEffectiveDate(AdjustableOrRelativeDate value) {
this.effectiveDate = value;
}
/**
* Gets the value of the tenorPeriod property.
*
* @return
* possible object is
* {@link Period }
*
*/
public Period getTenorPeriod() {
return tenorPeriod;
}
/**
* Sets the value of the tenorPeriod property.
*
* @param value
* allowed object is
* {@link Period }
*
*/
public void setTenorPeriod(Period value) {
this.tenorPeriod = value;
}
/**
* Gets the value of the americanExercise property.
*
* @return
* possible object is
* {@link FxAmericanExercise }
*
*/
public FxAmericanExercise getAmericanExercise() {
return americanExercise;
}
/**
* Sets the value of the americanExercise property.
*
* @param value
* allowed object is
* {@link FxAmericanExercise }
*
*/
public void setAmericanExercise(FxAmericanExercise value) {
this.americanExercise = value;
}
/**
* Gets the value of the europeanExercise property.
*
* @return
* possible object is
* {@link FxEuropeanExercise }
*
*/
public FxEuropeanExercise getEuropeanExercise() {
return europeanExercise;
}
/**
* Sets the value of the europeanExercise property.
*
* @param value
* allowed object is
* {@link FxEuropeanExercise }
*
*/
public void setEuropeanExercise(FxEuropeanExercise value) {
this.europeanExercise = 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 putCurrencyAmount property.
*
* @return
* possible object is
* {@link NonNegativeMoney }
*
*/
public NonNegativeMoney getPutCurrencyAmount() {
return putCurrencyAmount;
}
/**
* Sets the value of the putCurrencyAmount property.
*
* @param value
* allowed object is
* {@link NonNegativeMoney }
*
*/
public void setPutCurrencyAmount(NonNegativeMoney value) {
this.putCurrencyAmount = value;
}
/**
* Gets the value of the callCurrencyAmount property.
*
* @return
* possible object is
* {@link NonNegativeMoney }
*
*/
public NonNegativeMoney getCallCurrencyAmount() {
return callCurrencyAmount;
}
/**
* Sets the value of the callCurrencyAmount property.
*
* @param value
* allowed object is
* {@link NonNegativeMoney }
*
*/
public void setCallCurrencyAmount(NonNegativeMoney value) {
this.callCurrencyAmount = value;
}
/**
* Gets the value of the soldAs property.
*
* @return
* possible object is
* {@link PutCallEnum }
*
*/
public PutCallEnum getSoldAs() {
return soldAs;
}
/**
* Sets the value of the soldAs property.
*
* @param value
* allowed object is
* {@link PutCallEnum }
*
*/
public void setSoldAs(PutCallEnum value) {
this.soldAs = value;
}
/**
* Gets the value of the strike property.
*
* @return
* possible object is
* {@link FxStrikePrice }
*
*/
public FxStrikePrice getStrike() {
return strike;
}
/**
* Sets the value of the strike property.
*
* @param value
* allowed object is
* {@link FxStrikePrice }
*
*/
public void setStrike(FxStrikePrice value) {
this.strike = 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 features property.
*
* @return
* possible object is
* {@link FxOptionFeatures }
*
*/
public FxOptionFeatures getFeatures() {
return features;
}
/**
* Sets the value of the features property.
*
* @param value
* allowed object is
* {@link FxOptionFeatures }
*
*/
public void setFeatures(FxOptionFeatures value) {
this.features = value;
}
/**
* Gets the value of the premium property.
*
* @return
* possible object is
* {@link FxOptionPremium }
*
*/
public FxOptionPremium getPremium() {
return premium;
}
/**
* Sets the value of the premium property.
*
* @param value
* allowed object is
* {@link FxOptionPremium }
*
*/
public void setPremium(FxOptionPremium value) {
this.premium = value;
}
/**
* Gets the value of the cashSettlement property.
*
* @return
* possible object is
* {@link FxCashSettlement }
*
*/
public FxCashSettlement getCashSettlement() {
return cashSettlement;
}
/**
* Sets the value of the cashSettlement property.
*
* @param value
* allowed object is
* {@link FxCashSettlement }
*
*/
public void setCashSettlement(FxCashSettlement value) {
this.cashSettlement = value;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy