net.finmath.smartcontract.product.xml.Product Maven / Gradle / Ivy
Show all versions of finmath-smart-derivative-contract Show documentation
//
// 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.XmlAttribute;
import jakarta.xml.bind.annotation.XmlID;
import jakarta.xml.bind.annotation.XmlSchemaType;
import jakarta.xml.bind.annotation.XmlSeeAlso;
import jakarta.xml.bind.annotation.XmlType;
import jakarta.xml.bind.annotation.adapters.CollapsedStringAdapter;
import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
/**
* The base type which all FpML products extend.
*
* Java class for Product complex type.
*
*
The following schema fragment specifies the expected content contained within this class.
*
*
* <complexType name="Product">
* <complexContent>
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* <group ref="{http://www.fpml.org/FpML-5/confirmation}Product.model" minOccurs="0"/>
* <attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
* </restriction>
* </complexContent>
* </complexType>
*
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "Product", propOrder = {
"primaryAssetClass",
"secondaryAssetClass",
"productType",
"productId",
"assetClass"
})
@XmlSeeAlso({
CommodityForward.class,
CommodityOption.class,
CommoditySwap.class,
CommoditySwaption.class,
FxFlexibleForward.class,
FxForwardVolatilityAgreement.class,
FxSingleLeg.class,
FxSwap.class,
FxPerformanceSwap.class,
TermDeposit.class,
GenericProduct.class,
StandardProduct.class,
BulletPayment.class,
CapFloor.class,
Fra.class,
Swap.class,
Swaption.class,
FxTargetKnockoutForward.class,
FxAccrualForward.class,
FxRangeAccrual.class,
CreditDefaultSwap.class,
DividendSwapTransactionSupplement.class,
VarianceSwapTransactionSupplement.class,
VolatilitySwapTransactionSupplement.class,
InstrumentTradeDetails.class,
Strategy.class,
Repo.class,
Option.class,
CommodityPerformanceSwapBase.class,
NettedSwapBase.class,
ReturnSwapBase.class,
EquityDerivativeBase.class
})
public abstract class Product {
protected AssetClass primaryAssetClass;
protected List secondaryAssetClass;
protected List productType;
protected List productId;
protected List assetClass;
@XmlAttribute(name = "id")
@XmlJavaTypeAdapter(CollapsedStringAdapter.class)
@XmlID
@XmlSchemaType(name = "ID")
protected String id;
/**
* Gets the value of the primaryAssetClass property.
*
* @return
* possible object is
* {@link AssetClass }
*
*/
public AssetClass getPrimaryAssetClass() {
return primaryAssetClass;
}
/**
* Sets the value of the primaryAssetClass property.
*
* @param value
* allowed object is
* {@link AssetClass }
*
*/
public void setPrimaryAssetClass(AssetClass value) {
this.primaryAssetClass = value;
}
/**
* Gets the value of the secondaryAssetClass 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 secondaryAssetClass property.
*
*
* For example, to add a new item, do as follows:
*
* getSecondaryAssetClass().add(newItem);
*
*
*
*
* Objects of the following type(s) are allowed in the list
* {@link AssetClass }
*
*
*/
public List getSecondaryAssetClass() {
if (secondaryAssetClass == null) {
secondaryAssetClass = new ArrayList();
}
return this.secondaryAssetClass;
}
/**
* Gets the value of the productType 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 productType property.
*
*
* For example, to add a new item, do as follows:
*
* getProductType().add(newItem);
*
*
*
*
* Objects of the following type(s) are allowed in the list
* {@link ProductType }
*
*
*/
public List getProductType() {
if (productType == null) {
productType = new ArrayList();
}
return this.productType;
}
/**
* Gets the value of the productId 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 productId property.
*
*
* For example, to add a new item, do as follows:
*
* getProductId().add(newItem);
*
*
*
*
* Objects of the following type(s) are allowed in the list
* {@link ProductId }
*
*
*/
public List getProductId() {
if (productId == null) {
productId = new ArrayList();
}
return this.productId;
}
/**
* Gets the value of the assetClass 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 assetClass property.
*
*
* For example, to add a new item, do as follows:
*
* getAssetClass().add(newItem);
*
*
*
*
* Objects of the following type(s) are allowed in the list
* {@link AssetClass }
*
*
*/
public List getAssetClass() {
if (assetClass == null) {
assetClass = new ArrayList();
}
return this.assetClass;
}
/**
* Gets the value of the id property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getId() {
return id;
}
/**
* Sets the value of the id property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setId(String value) {
this.id = value;
}
}