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

net.finmath.smartcontract.product.xml.Repo 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.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.XmlElements;
import jakarta.xml.bind.annotation.XmlSchemaType;
import jakarta.xml.bind.annotation.XmlType;


/**
 * A Repo, modeled as an FpML:Product. Note: this Repo model is a candidate
 *                 model for further industry input.
 *             
 * 
 * 

Java class for Repo complex type. * *

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

 * <complexType name="Repo">
 *   <complexContent>
 *     <extension base="{http://www.fpml.org/FpML-5/confirmation}Product">
 *       <sequence>
 *         <choice>
 *           <element name="fixedRateSchedule" type="{http://www.fpml.org/FpML-5/confirmation}Schedule"/>
 *           <element name="floatingRateCalculation" type="{http://www.fpml.org/FpML-5/confirmation}FloatingRateCalculation"/>
 *         </choice>
 *         <element name="dayCountFraction" type="{http://www.fpml.org/FpML-5/confirmation}DayCountFraction"/>
 *         <choice>
 *           <element name="duration" type="{http://www.fpml.org/FpML-5/confirmation}RepoDurationEnum"/>
 *           <sequence>
 *             <element name="callingParty" type="{http://www.fpml.org/FpML-5/confirmation}CallingPartyEnum"/>
 *             <element name="callDate" type="{http://www.fpml.org/FpML-5/confirmation}AdjustableOrRelativeDate" minOccurs="0"/>
 *             <choice minOccurs="0">
 *               <element name="noticePeriod" type="{http://www.fpml.org/FpML-5/confirmation}AdjustableOffset"/>
 *               <element name="partyNoticePeriod" type="{http://www.fpml.org/FpML-5/confirmation}PartyNoticePeriod" maxOccurs="2"/>
 *             </choice>
 *           </sequence>
 *         </choice>
 *         <element name="initialMargin" type="{http://www.fpml.org/FpML-5/confirmation}InitialMargin" minOccurs="0"/>
 *         <element name="nearLeg" type="{http://www.fpml.org/FpML-5/confirmation}RepoNearLeg"/>
 *         <element name="farLeg" type="{http://www.fpml.org/FpML-5/confirmation}RepoFarLeg" minOccurs="0"/>
 *         <choice>
 *           <group ref="{http://www.fpml.org/FpML-5/confirmation}BondEquity.model" maxOccurs="unbounded"/>
 *           <element name="triParty" type="{http://www.fpml.org/FpML-5/confirmation}TriParty"/>
 *         </choice>
 *       </sequence>
 *     </extension>
 *   </complexContent>
 * </complexType>
 * 
* * */ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "Repo", propOrder = { "fixedRateSchedule", "floatingRateCalculation", "dayCountFraction", "duration", "callingParty", "callDate", "noticePeriod", "partyNoticePeriod", "initialMargin", "nearLeg", "farLeg", "bondEquityModel", "triParty" }) public class Repo extends Product { protected Schedule fixedRateSchedule; protected FloatingRateCalculation floatingRateCalculation; @XmlElement(required = true) protected DayCountFraction dayCountFraction; @XmlSchemaType(name = "token") protected RepoDurationEnum duration; @XmlSchemaType(name = "token") protected CallingPartyEnum callingParty; protected AdjustableOrRelativeDate callDate; protected AdjustableOffset noticePeriod; protected List partyNoticePeriod; protected InitialMargin initialMargin; @XmlElement(required = true) protected RepoNearLeg nearLeg; protected RepoFarLeg farLeg; @XmlElements({ @XmlElement(name = "bond", type = Bond.class), @XmlElement(name = "convertibleBond", type = ConvertibleBond.class), @XmlElement(name = "equity", type = EquityAsset.class) }) protected List bondEquityModel; protected TriParty triParty; /** * Gets the value of the fixedRateSchedule property. * * @return * possible object is * {@link Schedule } * */ public Schedule getFixedRateSchedule() { return fixedRateSchedule; } /** * Sets the value of the fixedRateSchedule property. * * @param value * allowed object is * {@link Schedule } * */ public void setFixedRateSchedule(Schedule value) { this.fixedRateSchedule = value; } /** * Gets the value of the floatingRateCalculation property. * * @return * possible object is * {@link FloatingRateCalculation } * */ public FloatingRateCalculation getFloatingRateCalculation() { return floatingRateCalculation; } /** * Sets the value of the floatingRateCalculation property. * * @param value * allowed object is * {@link FloatingRateCalculation } * */ public void setFloatingRateCalculation(FloatingRateCalculation value) { this.floatingRateCalculation = value; } /** * Gets the value of the dayCountFraction property. * * @return * possible object is * {@link DayCountFraction } * */ public DayCountFraction getDayCountFraction() { return dayCountFraction; } /** * Sets the value of the dayCountFraction property. * * @param value * allowed object is * {@link DayCountFraction } * */ public void setDayCountFraction(DayCountFraction value) { this.dayCountFraction = value; } /** * Gets the value of the duration property. * * @return * possible object is * {@link RepoDurationEnum } * */ public RepoDurationEnum getDuration() { return duration; } /** * Sets the value of the duration property. * * @param value * allowed object is * {@link RepoDurationEnum } * */ public void setDuration(RepoDurationEnum value) { this.duration = value; } /** * Gets the value of the callingParty property. * * @return * possible object is * {@link CallingPartyEnum } * */ public CallingPartyEnum getCallingParty() { return callingParty; } /** * Sets the value of the callingParty property. * * @param value * allowed object is * {@link CallingPartyEnum } * */ public void setCallingParty(CallingPartyEnum value) { this.callingParty = value; } /** * Gets the value of the callDate property. * * @return * possible object is * {@link AdjustableOrRelativeDate } * */ public AdjustableOrRelativeDate getCallDate() { return callDate; } /** * Sets the value of the callDate property. * * @param value * allowed object is * {@link AdjustableOrRelativeDate } * */ public void setCallDate(AdjustableOrRelativeDate value) { this.callDate = value; } /** * Gets the value of the noticePeriod property. * * @return * possible object is * {@link AdjustableOffset } * */ public AdjustableOffset getNoticePeriod() { return noticePeriod; } /** * Sets the value of the noticePeriod property. * * @param value * allowed object is * {@link AdjustableOffset } * */ public void setNoticePeriod(AdjustableOffset value) { this.noticePeriod = value; } /** * Gets the value of the partyNoticePeriod 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 partyNoticePeriod property. * *

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

     *    getPartyNoticePeriod().add(newItem);
     * 
* * *

* Objects of the following type(s) are allowed in the list * {@link PartyNoticePeriod } * * */ public List getPartyNoticePeriod() { if (partyNoticePeriod == null) { partyNoticePeriod = new ArrayList(); } return this.partyNoticePeriod; } /** * Gets the value of the initialMargin property. * * @return * possible object is * {@link InitialMargin } * */ public InitialMargin getInitialMargin() { return initialMargin; } /** * Sets the value of the initialMargin property. * * @param value * allowed object is * {@link InitialMargin } * */ public void setInitialMargin(InitialMargin value) { this.initialMargin = value; } /** * Gets the value of the nearLeg property. * * @return * possible object is * {@link RepoNearLeg } * */ public RepoNearLeg getNearLeg() { return nearLeg; } /** * Sets the value of the nearLeg property. * * @param value * allowed object is * {@link RepoNearLeg } * */ public void setNearLeg(RepoNearLeg value) { this.nearLeg = value; } /** * Gets the value of the farLeg property. * * @return * possible object is * {@link RepoFarLeg } * */ public RepoFarLeg getFarLeg() { return farLeg; } /** * Sets the value of the farLeg property. * * @param value * allowed object is * {@link RepoFarLeg } * */ public void setFarLeg(RepoFarLeg value) { this.farLeg = value; } /** * A list of the financial instruments that the repo * contract may reference. * Gets the value of the bondEquityModel 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 bondEquityModel property. * *

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

     *    getBondEquityModel().add(newItem);
     * 
* * *

* Objects of the following type(s) are allowed in the list * {@link Bond } * {@link ConvertibleBond } * {@link EquityAsset } * * */ public List getBondEquityModel() { if (bondEquityModel == null) { bondEquityModel = new ArrayList(); } return this.bondEquityModel; } /** * Gets the value of the triParty property. * * @return * possible object is * {@link TriParty } * */ public TriParty getTriParty() { return triParty; } /** * Sets the value of the triParty property. * * @param value * allowed object is * {@link TriParty } * */ public void setTriParty(TriParty value) { this.triParty = value; } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy