
org.sackfix.fix44.InstrumentLegComponent.scala Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of sackfix-messages-fix44_2.13 Show documentation
Show all versions of sackfix-messages-fix44_2.13 Show documentation
All Fix 4.4 strongly typed messages, purely generated code, do not edit.
The newest version!
package org.sackfix.fix44
import org.sackfix.field._
import org.sackfix.common.validated.fields.{SfFixComponent, SfFixDecoder, SfFixFieldsToAscii, SfFixRenderable}
import org.sackfix.common.message.SfRepeatingGroupCountException
import scala.annotation.tailrec
import scala.collection.immutable.HashSet
import scala.collection.mutable.ArrayBuffer
/**
* Generated by SackFix code generator on 20210314
* Source specification was read from:
* /quickfixj1.6.0/FIX44.xml
*/
case class InstrumentLegComponent(legSymbolField:Option[LegSymbolField]=None,
legSymbolSfxField:Option[LegSymbolSfxField]=None,
legSecurityIDField:Option[LegSecurityIDField]=None,
legSecurityIDSourceField:Option[LegSecurityIDSourceField]=None,
noLegSecurityAltIDField:Option[NoLegSecurityAltIDField]=None,
legSecurityAltIDGroups: Option[List[LegSecurityAltIDGroup]]=None,
legProductField:Option[LegProductField]=None,
legCFICodeField:Option[LegCFICodeField]=None,
legSecurityTypeField:Option[LegSecurityTypeField]=None,
legSecuritySubTypeField:Option[LegSecuritySubTypeField]=None,
legMaturityMonthYearField:Option[LegMaturityMonthYearField]=None,
legMaturityDateField:Option[LegMaturityDateField]=None,
legCouponPaymentDateField:Option[LegCouponPaymentDateField]=None,
legIssueDateField:Option[LegIssueDateField]=None,
legRepoCollateralSecurityTypeField:Option[LegRepoCollateralSecurityTypeField]=None,
legRepurchaseTermField:Option[LegRepurchaseTermField]=None,
legRepurchaseRateField:Option[LegRepurchaseRateField]=None,
legFactorField:Option[LegFactorField]=None,
legCreditRatingField:Option[LegCreditRatingField]=None,
legInstrRegistryField:Option[LegInstrRegistryField]=None,
legCountryOfIssueField:Option[LegCountryOfIssueField]=None,
legStateOrProvinceOfIssueField:Option[LegStateOrProvinceOfIssueField]=None,
legLocaleOfIssueField:Option[LegLocaleOfIssueField]=None,
legRedemptionDateField:Option[LegRedemptionDateField]=None,
legStrikePriceField:Option[LegStrikePriceField]=None,
legStrikeCurrencyField:Option[LegStrikeCurrencyField]=None,
legOptAttributeField:Option[LegOptAttributeField]=None,
legContractMultiplierField:Option[LegContractMultiplierField]=None,
legCouponRateField:Option[LegCouponRateField]=None,
legSecurityExchangeField:Option[LegSecurityExchangeField]=None,
legIssuerField:Option[LegIssuerField]=None,
encodedLegIssuerLenField:Option[EncodedLegIssuerLenField]=None,
encodedLegIssuerField:Option[EncodedLegIssuerField]=None,
legSecurityDescField:Option[LegSecurityDescField]=None,
encodedLegSecurityDescLenField:Option[EncodedLegSecurityDescLenField]=None,
encodedLegSecurityDescField:Option[EncodedLegSecurityDescField]=None,
legRatioQtyField:Option[LegRatioQtyField]=None,
legSideField:Option[LegSideField]=None,
legCurrencyField:Option[LegCurrencyField]=None,
legPoolField:Option[LegPoolField]=None,
legDatedDateField:Option[LegDatedDateField]=None,
legContractSettlMonthField:Option[LegContractSettlMonthField]=None,
legInterestAccrualDateField:Option[LegInterestAccrualDateField]=None) extends SfFixComponent with SfFixRenderable with SfFixFieldsToAscii {
if (noLegSecurityAltIDField.map(_.value).getOrElse(0) != legSecurityAltIDGroups.map(_.size).getOrElse(0))
throw SfRepeatingGroupCountException(NoLegSecurityAltIDField.TagId,noLegSecurityAltIDField.map(_.value).getOrElse(0), legSecurityAltIDGroups.map(_.size).getOrElse(0))
override lazy val fixStr : String = appendFixStr().toString
override def appendFixStr(b:StringBuilder = new StringBuilder): StringBuilder = format(formatForFix, b)
override def toString():String = appendStringBuilder().toString()
def appendStringBuilder(b:StringBuilder = new StringBuilder) : StringBuilder = format(formatForToString, b)
def format( fmt: ((StringBuilder,SfFixRenderable)=>Unit), b:StringBuilder = new StringBuilder()): StringBuilder = {
legSymbolField.foreach(fmt(b,_))
legSymbolSfxField.foreach(fmt(b,_))
legSecurityIDField.foreach(fmt(b,_))
legSecurityIDSourceField.foreach(fmt(b,_))
noLegSecurityAltIDField.foreach(fmt(b,_))
legSecurityAltIDGroups.getOrElse(List.empty).foreach(fmt(b,_))
legProductField.foreach(fmt(b,_))
legCFICodeField.foreach(fmt(b,_))
legSecurityTypeField.foreach(fmt(b,_))
legSecuritySubTypeField.foreach(fmt(b,_))
legMaturityMonthYearField.foreach(fmt(b,_))
legMaturityDateField.foreach(fmt(b,_))
legCouponPaymentDateField.foreach(fmt(b,_))
legIssueDateField.foreach(fmt(b,_))
legRepoCollateralSecurityTypeField.foreach(fmt(b,_))
legRepurchaseTermField.foreach(fmt(b,_))
legRepurchaseRateField.foreach(fmt(b,_))
legFactorField.foreach(fmt(b,_))
legCreditRatingField.foreach(fmt(b,_))
legInstrRegistryField.foreach(fmt(b,_))
legCountryOfIssueField.foreach(fmt(b,_))
legStateOrProvinceOfIssueField.foreach(fmt(b,_))
legLocaleOfIssueField.foreach(fmt(b,_))
legRedemptionDateField.foreach(fmt(b,_))
legStrikePriceField.foreach(fmt(b,_))
legStrikeCurrencyField.foreach(fmt(b,_))
legOptAttributeField.foreach(fmt(b,_))
legContractMultiplierField.foreach(fmt(b,_))
legCouponRateField.foreach(fmt(b,_))
legSecurityExchangeField.foreach(fmt(b,_))
legIssuerField.foreach(fmt(b,_))
encodedLegIssuerLenField.foreach(fmt(b,_))
encodedLegIssuerField.foreach(fmt(b,_))
legSecurityDescField.foreach(fmt(b,_))
encodedLegSecurityDescLenField.foreach(fmt(b,_))
encodedLegSecurityDescField.foreach(fmt(b,_))
legRatioQtyField.foreach(fmt(b,_))
legSideField.foreach(fmt(b,_))
legCurrencyField.foreach(fmt(b,_))
legPoolField.foreach(fmt(b,_))
legDatedDateField.foreach(fmt(b,_))
legContractSettlMonthField.foreach(fmt(b,_))
legInterestAccrualDateField.foreach(fmt(b,_))
b
}
}
object InstrumentLegComponent extends SfFixDecoder {
override val MandatoryFields = HashSet[Int]()
override def isMandatoryField(tagId:Int) : Boolean = {
MandatoryFields.contains(tagId) ||
LegSecurityAltIDGroup.isMandatoryField(tagId)
}
override val OptionalFields = HashSet[Int](
LegSymbolField.TagId, LegSymbolSfxField.TagId, LegSecurityIDField.TagId, LegSecurityIDSourceField.TagId, NoLegSecurityAltIDField.TagId,
LegProductField.TagId, LegCFICodeField.TagId, LegSecurityTypeField.TagId, LegSecuritySubTypeField.TagId, LegMaturityMonthYearField.TagId,
LegMaturityDateField.TagId, LegCouponPaymentDateField.TagId, LegIssueDateField.TagId, LegRepoCollateralSecurityTypeField.TagId, LegRepurchaseTermField.TagId,
LegRepurchaseRateField.TagId, LegFactorField.TagId, LegCreditRatingField.TagId, LegInstrRegistryField.TagId, LegCountryOfIssueField.TagId,
LegStateOrProvinceOfIssueField.TagId, LegLocaleOfIssueField.TagId, LegRedemptionDateField.TagId, LegStrikePriceField.TagId, LegStrikeCurrencyField.TagId,
LegOptAttributeField.TagId, LegContractMultiplierField.TagId, LegCouponRateField.TagId, LegSecurityExchangeField.TagId, LegIssuerField.TagId,
EncodedLegIssuerLenField.TagId, EncodedLegIssuerField.TagId, LegSecurityDescField.TagId, EncodedLegSecurityDescLenField.TagId, EncodedLegSecurityDescField.TagId,
LegRatioQtyField.TagId, LegSideField.TagId, LegCurrencyField.TagId, LegPoolField.TagId, LegDatedDateField.TagId,
LegContractSettlMonthField.TagId, LegInterestAccrualDateField.TagId)
override def isOptionalField(tagId:Int) : Boolean = {
OptionalFields.contains(tagId) ||
LegSecurityAltIDGroup.isOptionalField(tagId)
}
override def isFieldOf(tagId:Int) : Boolean = isMandatoryField(tagId) || isOptionalField(tagId) ||
LegSecurityAltIDGroup.isFieldOf(tagId)
override lazy val RepeatingGroupsTags = HashSet[Int](
NoLegSecurityAltIDField.TagId)
override def isFirstField(tagId:Int) : Boolean = tagId==LegSymbolField.TagId
def decode(flds: Seq[Tuple2[Int, Any]], startPos:Int = 0):Option[InstrumentLegComponent] = {
val (pos, myFields, nextTagPosLookup) = extractMyFieldsAndPopulatePositions(false, flds, startPos)
validateMandatoryFieldsPresent(myFields)
if (myFields.nonEmpty) {
Some(InstrumentLegComponent(myFields.get(LegSymbolField.TagId).flatMap(f=>LegSymbolField.decode(f)),
myFields.get(LegSymbolSfxField.TagId).flatMap(f=>LegSymbolSfxField.decode(f)),
myFields.get(LegSecurityIDField.TagId).flatMap(f=>LegSecurityIDField.decode(f)),
myFields.get(LegSecurityIDSourceField.TagId).flatMap(f=>LegSecurityIDSourceField.decode(f)),
myFields.get(NoLegSecurityAltIDField.TagId).flatMap(f=>NoLegSecurityAltIDField.decode(f)),
if (nextTagPosLookup.contains(NoLegSecurityAltIDField.TagId)) LegSecurityAltIDGroup.decode(flds, nextTagPosLookup(NoLegSecurityAltIDField.TagId)) else None,
myFields.get(LegProductField.TagId).flatMap(f=>LegProductField.decode(f)),
myFields.get(LegCFICodeField.TagId).flatMap(f=>LegCFICodeField.decode(f)),
myFields.get(LegSecurityTypeField.TagId).flatMap(f=>LegSecurityTypeField.decode(f)),
myFields.get(LegSecuritySubTypeField.TagId).flatMap(f=>LegSecuritySubTypeField.decode(f)),
myFields.get(LegMaturityMonthYearField.TagId).flatMap(f=>LegMaturityMonthYearField.decode(f)),
myFields.get(LegMaturityDateField.TagId).flatMap(f=>LegMaturityDateField.decode(f)),
myFields.get(LegCouponPaymentDateField.TagId).flatMap(f=>LegCouponPaymentDateField.decode(f)),
myFields.get(LegIssueDateField.TagId).flatMap(f=>LegIssueDateField.decode(f)),
myFields.get(LegRepoCollateralSecurityTypeField.TagId).flatMap(f=>LegRepoCollateralSecurityTypeField.decode(f)),
myFields.get(LegRepurchaseTermField.TagId).flatMap(f=>LegRepurchaseTermField.decode(f)),
myFields.get(LegRepurchaseRateField.TagId).flatMap(f=>LegRepurchaseRateField.decode(f)),
myFields.get(LegFactorField.TagId).flatMap(f=>LegFactorField.decode(f)),
myFields.get(LegCreditRatingField.TagId).flatMap(f=>LegCreditRatingField.decode(f)),
myFields.get(LegInstrRegistryField.TagId).flatMap(f=>LegInstrRegistryField.decode(f)),
myFields.get(LegCountryOfIssueField.TagId).flatMap(f=>LegCountryOfIssueField.decode(f)),
myFields.get(LegStateOrProvinceOfIssueField.TagId).flatMap(f=>LegStateOrProvinceOfIssueField.decode(f)),
myFields.get(LegLocaleOfIssueField.TagId).flatMap(f=>LegLocaleOfIssueField.decode(f)),
myFields.get(LegRedemptionDateField.TagId).flatMap(f=>LegRedemptionDateField.decode(f)),
myFields.get(LegStrikePriceField.TagId).flatMap(f=>LegStrikePriceField.decode(f)),
myFields.get(LegStrikeCurrencyField.TagId).flatMap(f=>LegStrikeCurrencyField.decode(f)),
myFields.get(LegOptAttributeField.TagId).flatMap(f=>LegOptAttributeField.decode(f)),
myFields.get(LegContractMultiplierField.TagId).flatMap(f=>LegContractMultiplierField.decode(f)),
myFields.get(LegCouponRateField.TagId).flatMap(f=>LegCouponRateField.decode(f)),
myFields.get(LegSecurityExchangeField.TagId).flatMap(f=>LegSecurityExchangeField.decode(f)),
myFields.get(LegIssuerField.TagId).flatMap(f=>LegIssuerField.decode(f)),
myFields.get(EncodedLegIssuerLenField.TagId).flatMap(f=>EncodedLegIssuerLenField.decode(f)),
myFields.get(EncodedLegIssuerField.TagId).flatMap(f=>EncodedLegIssuerField.decode(f)),
myFields.get(LegSecurityDescField.TagId).flatMap(f=>LegSecurityDescField.decode(f)),
myFields.get(EncodedLegSecurityDescLenField.TagId).flatMap(f=>EncodedLegSecurityDescLenField.decode(f)),
myFields.get(EncodedLegSecurityDescField.TagId).flatMap(f=>EncodedLegSecurityDescField.decode(f)),
myFields.get(LegRatioQtyField.TagId).flatMap(f=>LegRatioQtyField.decode(f)),
myFields.get(LegSideField.TagId).flatMap(f=>LegSideField.decode(f)),
myFields.get(LegCurrencyField.TagId).flatMap(f=>LegCurrencyField.decode(f)),
myFields.get(LegPoolField.TagId).flatMap(f=>LegPoolField.decode(f)),
myFields.get(LegDatedDateField.TagId).flatMap(f=>LegDatedDateField.decode(f)),
myFields.get(LegContractSettlMonthField.TagId).flatMap(f=>LegContractSettlMonthField.decode(f)),
myFields.get(LegInterestAccrualDateField.TagId).flatMap(f=>LegInterestAccrualDateField.decode(f))))
} else None
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy