diff --git a/sdk/api/openapi.yaml b/sdk/api/openapi.yaml index 059fe50fe59..afd6cc8e060 100644 --- a/sdk/api/openapi.yaml +++ b/sdk/api/openapi.yaml @@ -346,7 +346,7 @@ info: | 883|Cannot update the shared fields of a block with associated orders.| | termsOfService: https://www.finbourne.com/legal/terms-conditions title: LUSID API - version: 0.11.6279 + version: 0.11.6282 x-logo: url: https://www.lusid.com/app/assets/logo_white.png backgroundColor: '#415464' @@ -87954,7 +87954,7 @@ components: \ CapFloor, CashSettled, CdsIndex, Basket, FundingLeg, FxSwap, ForwardRateAgreement,\ \ SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument,\ \ ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan,\ - \ TotalReturnSwap, InflationLeg" + \ TotalReturnSwap, InflationLeg, FundShareClass" enum: - QuotedSecurity - InterestRateSwap @@ -87992,6 +87992,7 @@ components: - SimpleCashFlowLoan - TotalReturnSwap - InflationLeg + - FundShareClass type: string required: - basketName @@ -89862,7 +89863,7 @@ components: \ CapFloor, CashSettled, CdsIndex, Basket, FundingLeg, FxSwap, ForwardRateAgreement,\ \ SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument,\ \ ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan,\ - \ TotalReturnSwap, InflationLeg" + \ TotalReturnSwap, InflationLeg, FundShareClass" enum: - QuotedSecurity - InterestRateSwap @@ -89900,6 +89901,7 @@ components: - SimpleCashFlowLoan - TotalReturnSwap - InflationLeg + - FundShareClass type: string required: - couponRate @@ -90939,7 +90941,7 @@ components: \ CapFloor, CashSettled, CdsIndex, Basket, FundingLeg, FxSwap, ForwardRateAgreement,\ \ SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument,\ \ ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan,\ - \ TotalReturnSwap, InflationLeg" + \ TotalReturnSwap, InflationLeg, FundShareClass" enum: - QuotedSecurity - InterestRateSwap @@ -90977,6 +90979,7 @@ components: - SimpleCashFlowLoan - TotalReturnSwap - InflationLeg + - FundShareClass type: string required: - capFloorType @@ -91351,7 +91354,7 @@ components: \ CapFloor, CashSettled, CdsIndex, Basket, FundingLeg, FxSwap, ForwardRateAgreement,\ \ SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument,\ \ ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan,\ - \ TotalReturnSwap, InflationLeg" + \ TotalReturnSwap, InflationLeg, FundShareClass" enum: - QuotedSecurity - InterestRateSwap @@ -91389,6 +91392,7 @@ components: - SimpleCashFlowLoan - TotalReturnSwap - InflationLeg + - FundShareClass type: string required: - domCcy @@ -91570,7 +91574,7 @@ components: \ CapFloor, CashSettled, CdsIndex, Basket, FundingLeg, FxSwap, ForwardRateAgreement,\ \ SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument,\ \ ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan,\ - \ TotalReturnSwap, InflationLeg" + \ TotalReturnSwap, InflationLeg, FundShareClass" enum: - QuotedSecurity - InterestRateSwap @@ -91608,6 +91612,7 @@ components: - SimpleCashFlowLoan - TotalReturnSwap - InflationLeg + - FundShareClass type: string required: - couponRate @@ -92770,7 +92775,7 @@ components: \ CapFloor, CashSettled, CdsIndex, Basket, FundingLeg, FxSwap, ForwardRateAgreement,\ \ SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument,\ \ ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan,\ - \ TotalReturnSwap, InflationLeg" + \ TotalReturnSwap, InflationLeg, FundShareClass" enum: - QuotedSecurity - InterestRateSwap @@ -92808,6 +92813,7 @@ components: - SimpleCashFlowLoan - TotalReturnSwap - InflationLeg + - FundShareClass type: string required: - instrumentType @@ -95243,7 +95249,7 @@ components: \ CapFloor, CashSettled, CdsIndex, Basket, FundingLeg, FxSwap, ForwardRateAgreement,\ \ SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument,\ \ ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan,\ - \ TotalReturnSwap, InflationLeg" + \ TotalReturnSwap, InflationLeg, FundShareClass" enum: - QuotedSecurity - InterestRateSwap @@ -95281,6 +95287,7 @@ components: - SimpleCashFlowLoan - TotalReturnSwap - InflationLeg + - FundShareClass type: string required: - code @@ -97489,7 +97496,7 @@ components: \ CapFloor, CashSettled, CdsIndex, Basket, FundingLeg, FxSwap, ForwardRateAgreement,\ \ SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument,\ \ ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan,\ - \ TotalReturnSwap, InflationLeg" + \ TotalReturnSwap, InflationLeg, FundShareClass" enum: - QuotedSecurity - InterestRateSwap @@ -97527,6 +97534,7 @@ components: - SimpleCashFlowLoan - TotalReturnSwap - InflationLeg + - FundShareClass type: string required: - couponRate @@ -101052,7 +101060,7 @@ components: \ CapFloor, CashSettled, CdsIndex, Basket, FundingLeg, FxSwap, ForwardRateAgreement,\ \ SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument,\ \ ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan,\ - \ TotalReturnSwap, InflationLeg" + \ TotalReturnSwap, InflationLeg, FundShareClass" enum: - QuotedSecurity - InterestRateSwap @@ -101090,6 +101098,7 @@ components: - SimpleCashFlowLoan - TotalReturnSwap - InflationLeg + - FundShareClass type: string required: - domCcy @@ -101316,7 +101325,7 @@ components: \ CapFloor, CashSettled, CdsIndex, Basket, FundingLeg, FxSwap, ForwardRateAgreement,\ \ SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument,\ \ ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan,\ - \ TotalReturnSwap, InflationLeg" + \ TotalReturnSwap, InflationLeg, FundShareClass" enum: - QuotedSecurity - InterestRateSwap @@ -101354,6 +101363,7 @@ components: - SimpleCashFlowLoan - TotalReturnSwap - InflationLeg + - FundShareClass type: string required: - code @@ -101433,7 +101443,7 @@ components: \ CapFloor, CashSettled, CdsIndex, Basket, FundingLeg, FxSwap, ForwardRateAgreement,\ \ SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument,\ \ ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan,\ - \ TotalReturnSwap, InflationLeg" + \ TotalReturnSwap, InflationLeg, FundShareClass" enum: - QuotedSecurity - InterestRateSwap @@ -101471,6 +101481,7 @@ components: - SimpleCashFlowLoan - TotalReturnSwap - InflationLeg + - FundShareClass type: string required: - code @@ -101683,7 +101694,7 @@ components: \ CapFloor, CashSettled, CdsIndex, Basket, FundingLeg, FxSwap, ForwardRateAgreement,\ \ SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument,\ \ ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan,\ - \ TotalReturnSwap, InflationLeg" + \ TotalReturnSwap, InflationLeg, FundShareClass" enum: - QuotedSecurity - InterestRateSwap @@ -101721,6 +101732,7 @@ components: - SimpleCashFlowLoan - TotalReturnSwap - InflationLeg + - FundShareClass type: string required: - contractDetails @@ -102262,7 +102274,7 @@ components: \ CapFloor, CashSettled, CdsIndex, Basket, FundingLeg, FxSwap, ForwardRateAgreement,\ \ SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument,\ \ ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan,\ - \ TotalReturnSwap, InflationLeg" + \ TotalReturnSwap, InflationLeg, FundShareClass" enum: - QuotedSecurity - InterestRateSwap @@ -102300,6 +102312,7 @@ components: - SimpleCashFlowLoan - TotalReturnSwap - InflationLeg + - FundShareClass type: string required: - content @@ -103031,7 +103044,7 @@ components: \ CapFloor, CashSettled, CdsIndex, Basket, FundingLeg, FxSwap, ForwardRateAgreement,\ \ SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument,\ \ ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan,\ - \ TotalReturnSwap, InflationLeg" + \ TotalReturnSwap, InflationLeg, FundShareClass" enum: - QuotedSecurity - InterestRateSwap @@ -103069,6 +103082,7 @@ components: - SimpleCashFlowLoan - TotalReturnSwap - InflationLeg + - FundShareClass type: string required: - instrumentType @@ -103191,7 +103205,7 @@ components: \ CapFloor, CashSettled, CdsIndex, Basket, FundingLeg, FxSwap, ForwardRateAgreement,\ \ SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument,\ \ ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan,\ - \ TotalReturnSwap, InflationLeg" + \ TotalReturnSwap, InflationLeg, FundShareClass" enum: - QuotedSecurity - InterestRateSwap @@ -103229,6 +103243,7 @@ components: - SimpleCashFlowLoan - TotalReturnSwap - InflationLeg + - FundShareClass type: string required: - instrumentType @@ -103522,7 +103537,7 @@ components: \ CapFloor, CashSettled, CdsIndex, Basket, FundingLeg, FxSwap, ForwardRateAgreement,\ \ SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument,\ \ ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan,\ - \ TotalReturnSwap, InflationLeg" + \ TotalReturnSwap, InflationLeg, FundShareClass" enum: - QuotedSecurity - InterestRateSwap @@ -103560,6 +103575,7 @@ components: - SimpleCashFlowLoan - TotalReturnSwap - InflationLeg + - FundShareClass type: string required: - domCcy @@ -103625,7 +103641,7 @@ components: \ CapFloor, CashSettled, CdsIndex, Basket, FundingLeg, FxSwap, ForwardRateAgreement,\ \ SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument,\ \ ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan,\ - \ TotalReturnSwap, InflationLeg" + \ TotalReturnSwap, InflationLeg, FundShareClass" enum: - QuotedSecurity - InterestRateSwap @@ -103663,6 +103679,7 @@ components: - SimpleCashFlowLoan - TotalReturnSwap - InflationLeg + - FundShareClass type: string required: - instrumentType @@ -103706,6 +103723,101 @@ components: - expectedFundingLegNotional - modelOptionsType type: object + FundShareClass: + allOf: + - $ref: '#/components/schemas/LusidInstrument' + - properties: + shortCode: + description: "A short identifier, unique across a single fund, usually\ + \ made up of the ShareClass components. Eg \"A Accumulation Euro Hedged\ + \ Class\" could become \"A Acc H EUR\"." + minLength: 1 + type: string + fundShareClassType: + description: "The type of distribution that the ShareClass will calculate.\ + \ Can be either 'Income' or 'Accumulation' - Income classes will pay\ + \ out and Accumulation classes will retain their ShareClass attributable\ + \ income.\r\n\r\nSupported string (enumeration) values are: [Income,\ + \ Accumulation]." + minLength: 1 + type: string + distributionPaymentType: + description: "The tax treatment applied to any distributions calculated\ + \ within the ShareClass. Can be either 'Net' (Distribution Calculated\ + \ net of tax) or 'Gross' (Distribution calculated gross of tax).\r\n\ + \r\nSupported string (enumeration) values are: [Gross, Net]." + minLength: 1 + type: string + hedging: + description: "A flag to indicate the ShareClass is operating currency\ + \ hedging as a means to limit currency risk as part of it's investment\ + \ strategy.\r\n\r\nSupported string (enumeration) values are: [Invalid,\ + \ None, ApplyHedging]." + minLength: 1 + type: string + domCcy: + description: The domestic currency of the instrument. + type: string + instrumentType: + description: "The available values are: QuotedSecurity, InterestRateSwap,\ + \ FxForward, Future, ExoticInstrument, FxOption, CreditDefaultSwap,\ + \ InterestRateSwaption, Bond, EquityOption, FixedLeg, FloatingLeg, BespokeCashFlowsLeg,\ + \ Unknown, TermDeposit, ContractForDifference, EquitySwap, CashPerpetual,\ + \ CapFloor, CashSettled, CdsIndex, Basket, FundingLeg, FxSwap, ForwardRateAgreement,\ + \ SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument,\ + \ ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan,\ + \ TotalReturnSwap, InflationLeg, FundShareClass" + enum: + - QuotedSecurity + - InterestRateSwap + - FxForward + - Future + - ExoticInstrument + - FxOption + - CreditDefaultSwap + - InterestRateSwaption + - Bond + - EquityOption + - FixedLeg + - FloatingLeg + - BespokeCashFlowsLeg + - Unknown + - TermDeposit + - ContractForDifference + - EquitySwap + - CashPerpetual + - CapFloor + - CashSettled + - CdsIndex + - Basket + - FundingLeg + - FxSwap + - ForwardRateAgreement + - SimpleInstrument + - Repo + - Equity + - ExchangeTradedOption + - ReferenceInstrument + - ComplexBond + - InflationLinkedBond + - InflationSwap + - SimpleCashFlowLoan + - TotalReturnSwap + - InflationLeg + - FundShareClass + type: string + required: + - distributionPaymentType + - domCcy + - fundShareClassType + - hedging + - instrumentType + - shortCode + type: object + description: "LUSID representation of a FundShareClass.\r\nA ShareClass represents\ + \ a pool of shares, held by investors, within a fund. A ShareClass can represent\ + \ a differing investment approach by either Fees, Income, Currency Risk and\ + \ Investor type." Future: allOf: - $ref: '#/components/schemas/LusidInstrument' @@ -103780,7 +103892,7 @@ components: \ CapFloor, CashSettled, CdsIndex, Basket, FundingLeg, FxSwap, ForwardRateAgreement,\ \ SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument,\ \ ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan,\ - \ TotalReturnSwap, InflationLeg" + \ TotalReturnSwap, InflationLeg, FundShareClass" enum: - QuotedSecurity - InterestRateSwap @@ -103818,6 +103930,7 @@ components: - SimpleCashFlowLoan - TotalReturnSwap - InflationLeg + - FundShareClass type: string required: - contractDetails @@ -104066,7 +104179,7 @@ components: \ CapFloor, CashSettled, CdsIndex, Basket, FundingLeg, FxSwap, ForwardRateAgreement,\ \ SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument,\ \ ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan,\ - \ TotalReturnSwap, InflationLeg" + \ TotalReturnSwap, InflationLeg, FundShareClass" enum: - QuotedSecurity - InterestRateSwap @@ -104104,6 +104217,7 @@ components: - SimpleCashFlowLoan - TotalReturnSwap - InflationLeg + - FundShareClass type: string required: - domAmount @@ -104738,7 +104852,7 @@ components: \ CapFloor, CashSettled, CdsIndex, Basket, FundingLeg, FxSwap, ForwardRateAgreement,\ \ SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument,\ \ ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan,\ - \ TotalReturnSwap, InflationLeg" + \ TotalReturnSwap, InflationLeg, FundShareClass" enum: - QuotedSecurity - InterestRateSwap @@ -104776,6 +104890,7 @@ components: - SimpleCashFlowLoan - TotalReturnSwap - InflationLeg + - FundShareClass type: string required: - domCcy @@ -104859,7 +104974,7 @@ components: \ CapFloor, CashSettled, CdsIndex, Basket, FundingLeg, FxSwap, ForwardRateAgreement,\ \ SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument,\ \ ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan,\ - \ TotalReturnSwap, InflationLeg" + \ TotalReturnSwap, InflationLeg, FundShareClass" enum: - QuotedSecurity - InterestRateSwap @@ -104897,6 +105012,7 @@ components: - SimpleCashFlowLoan - TotalReturnSwap - InflationLeg + - FundShareClass type: string required: - farFxForward @@ -107765,7 +107881,7 @@ components: \ CapFloor, CashSettled, CdsIndex, Basket, FundingLeg, FxSwap, ForwardRateAgreement,\ \ SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument,\ \ ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan,\ - \ TotalReturnSwap, InflationLeg" + \ TotalReturnSwap, InflationLeg, FundShareClass" enum: - QuotedSecurity - InterestRateSwap @@ -107803,6 +107919,7 @@ components: - SimpleCashFlowLoan - TotalReturnSwap - InflationLeg + - FundShareClass type: string required: - calculationType @@ -107939,7 +108056,7 @@ components: \ CapFloor, CashSettled, CdsIndex, Basket, FundingLeg, FxSwap, ForwardRateAgreement,\ \ SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument,\ \ ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan,\ - \ TotalReturnSwap, InflationLeg" + \ TotalReturnSwap, InflationLeg, FundShareClass" enum: - QuotedSecurity - InterestRateSwap @@ -107977,6 +108094,7 @@ components: - SimpleCashFlowLoan - TotalReturnSwap - InflationLeg + - FundShareClass type: string required: - couponRate @@ -108019,7 +108137,7 @@ components: \ CapFloor, CashSettled, CdsIndex, Basket, FundingLeg, FxSwap, ForwardRateAgreement,\ \ SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument,\ \ ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan,\ - \ TotalReturnSwap, InflationLeg" + \ TotalReturnSwap, InflationLeg, FundShareClass" enum: - QuotedSecurity - InterestRateSwap @@ -108057,6 +108175,7 @@ components: - SimpleCashFlowLoan - TotalReturnSwap - InflationLeg + - FundShareClass type: string required: - fixedLeg @@ -109379,7 +109498,7 @@ components: \ CapFloor, CashSettled, CdsIndex, Basket, FundingLeg, FxSwap, ForwardRateAgreement,\ \ SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument,\ \ ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan,\ - \ TotalReturnSwap, InflationLeg" + \ TotalReturnSwap, InflationLeg, FundShareClass" enum: - QuotedSecurity - InterestRateSwap @@ -109417,6 +109536,7 @@ components: - SimpleCashFlowLoan - TotalReturnSwap - InflationLeg + - FundShareClass type: string required: - instrumentType @@ -110075,6 +110195,7 @@ components: - SimpleCashFlowLoan - TotalReturnSwap - InflationLeg + - FundShareClass type: string InterestRateSwap: allOf: @@ -110126,7 +110247,7 @@ components: \ CapFloor, CashSettled, CdsIndex, Basket, FundingLeg, FxSwap, ForwardRateAgreement,\ \ SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument,\ \ ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan,\ - \ TotalReturnSwap, InflationLeg" + \ TotalReturnSwap, InflationLeg, FundShareClass" enum: - QuotedSecurity - InterestRateSwap @@ -110164,6 +110285,7 @@ components: - SimpleCashFlowLoan - TotalReturnSwap - InflationLeg + - FundShareClass type: string required: - instrumentType @@ -110215,7 +110337,7 @@ components: \ CapFloor, CashSettled, CdsIndex, Basket, FundingLeg, FxSwap, ForwardRateAgreement,\ \ SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument,\ \ ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan,\ - \ TotalReturnSwap, InflationLeg" + \ TotalReturnSwap, InflationLeg, FundShareClass" enum: - QuotedSecurity - InterestRateSwap @@ -110253,6 +110375,7 @@ components: - SimpleCashFlowLoan - TotalReturnSwap - InflationLeg + - FundShareClass type: string required: - deliveryMethod @@ -111527,7 +111650,7 @@ components: \ CashSettled, CdsIndex, Basket, FundingLeg, FxSwap, ForwardRateAgreement,\ \ SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument,\ \ ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan,\ - \ TotalReturnSwap, InflationLeg" + \ TotalReturnSwap, InflationLeg, FundShareClass" enum: - QuotedSecurity - InterestRateSwap @@ -111565,6 +111688,7 @@ components: - SimpleCashFlowLoan - TotalReturnSwap - InflationLeg + - FundShareClass type: string required: - instrumentType @@ -112740,7 +112864,7 @@ components: \ BlackScholes, ConstantTimeValueOfMoney, Bachelier, ForwardWithPoints,\ \ ForwardWithPointsUndiscounted, ForwardSpecifiedRate, ForwardSpecifiedRateUndiscounted,\ \ IndexNav, IndexPrice, InlinedIndex, ForwardFromCurve, ForwardFromCurveUndiscounted,\ - \ BlackScholesDigital, BjerksundStensland1993, LookUpPricing" + \ BlackScholesDigital, BjerksundStensland1993, LookUpPricing, BondLookupPricer" enum: - SimpleStatic - Discounting @@ -112760,6 +112884,7 @@ components: - BlackScholesDigital - BjerksundStensland1993 - LookUpPricing + - BondLookupPricer type: string required: - library @@ -125377,6 +125502,7 @@ components: - BlackScholesDigital - BjerksundStensland1993 - LookUpPricing + - BondLookupPricer type: string PricingOptions: additionalProperties: false @@ -128589,7 +128715,7 @@ components: \ CapFloor, CashSettled, CdsIndex, Basket, FundingLeg, FxSwap, ForwardRateAgreement,\ \ SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument,\ \ ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan,\ - \ TotalReturnSwap, InflationLeg" + \ TotalReturnSwap, InflationLeg, FundShareClass" enum: - QuotedSecurity - InterestRateSwap @@ -128627,6 +128753,7 @@ components: - SimpleCashFlowLoan - TotalReturnSwap - InflationLeg + - FundShareClass type: string required: - instrumentId @@ -129394,7 +129521,7 @@ components: \ CapFloor, CashSettled, CdsIndex, Basket, FundingLeg, FxSwap, ForwardRateAgreement,\ \ SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument,\ \ ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan,\ - \ TotalReturnSwap, InflationLeg" + \ TotalReturnSwap, InflationLeg, FundShareClass" enum: - QuotedSecurity - InterestRateSwap @@ -129432,6 +129559,7 @@ components: - SimpleCashFlowLoan - TotalReturnSwap - InflationLeg + - FundShareClass type: string required: - accrualBasis @@ -139453,7 +139581,7 @@ components: \ CapFloor, CashSettled, CdsIndex, Basket, FundingLeg, FxSwap, ForwardRateAgreement,\ \ SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument,\ \ ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan,\ - \ TotalReturnSwap, InflationLeg" + \ TotalReturnSwap, InflationLeg, FundShareClass" enum: - QuotedSecurity - InterestRateSwap @@ -139491,6 +139619,7 @@ components: - SimpleCashFlowLoan - TotalReturnSwap - InflationLeg + - FundShareClass type: string required: - domCcy @@ -139549,7 +139678,7 @@ components: \ CapFloor, CashSettled, CdsIndex, Basket, FundingLeg, FxSwap, ForwardRateAgreement,\ \ SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument,\ \ ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan,\ - \ TotalReturnSwap, InflationLeg" + \ TotalReturnSwap, InflationLeg, FundShareClass" enum: - QuotedSecurity - InterestRateSwap @@ -139587,6 +139716,7 @@ components: - SimpleCashFlowLoan - TotalReturnSwap - InflationLeg + - FundShareClass type: string required: - assetClass @@ -140287,7 +140417,7 @@ components: \ CapFloor, CashSettled, CdsIndex, Basket, FundingLeg, FxSwap, ForwardRateAgreement,\ \ SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument,\ \ ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan,\ - \ TotalReturnSwap, InflationLeg" + \ TotalReturnSwap, InflationLeg, FundShareClass" enum: - QuotedSecurity - InterestRateSwap @@ -140325,6 +140455,7 @@ components: - SimpleCashFlowLoan - TotalReturnSwap - InflationLeg + - FundShareClass type: string required: - contractSize @@ -140366,7 +140497,7 @@ components: \ CapFloor, CashSettled, CdsIndex, Basket, FundingLeg, FxSwap, ForwardRateAgreement,\ \ SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument,\ \ ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan,\ - \ TotalReturnSwap, InflationLeg" + \ TotalReturnSwap, InflationLeg, FundShareClass" enum: - QuotedSecurity - InterestRateSwap @@ -140404,6 +140535,7 @@ components: - SimpleCashFlowLoan - TotalReturnSwap - InflationLeg + - FundShareClass type: string required: - assetLeg diff --git a/sdk/docs/FundShareClass.md b/sdk/docs/FundShareClass.md new file mode 100644 index 00000000000..70345bdce04 --- /dev/null +++ b/sdk/docs/FundShareClass.md @@ -0,0 +1,18 @@ + + +# FundShareClass + +LUSID representation of a FundShareClass. A ShareClass represents a pool of shares, held by investors, within a fund. A ShareClass can represent a differing investment approach by either Fees, Income, Currency Risk and Investor type. + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**shortCode** | **String** | A short identifier, unique across a single fund, usually made up of the ShareClass components. Eg \"A Accumulation Euro Hedged Class\" could become \"A Acc H EUR\". | | +|**fundShareClassType** | **String** | The type of distribution that the ShareClass will calculate. Can be either 'Income' or 'Accumulation' - Income classes will pay out and Accumulation classes will retain their ShareClass attributable income. Supported string (enumeration) values are: [Income, Accumulation]. | | +|**distributionPaymentType** | **String** | The tax treatment applied to any distributions calculated within the ShareClass. Can be either 'Net' (Distribution Calculated net of tax) or 'Gross' (Distribution calculated gross of tax). Supported string (enumeration) values are: [Gross, Net]. | | +|**hedging** | **String** | A flag to indicate the ShareClass is operating currency hedging as a means to limit currency risk as part of it's investment strategy. Supported string (enumeration) values are: [Invalid, None, ApplyHedging]. | | +|**domCcy** | **String** | The domestic currency of the instrument. | | + + + diff --git a/sdk/docs/InstrumentType.md b/sdk/docs/InstrumentType.md index 26f8b677111..c41bffb08b6 100644 --- a/sdk/docs/InstrumentType.md +++ b/sdk/docs/InstrumentType.md @@ -77,5 +77,7 @@ * `INFLATIONLEG` (value: `"InflationLeg"`) +* `FUNDSHARECLASS` (value: `"FundShareClass"`) + diff --git a/sdk/docs/LusidInstrument.md b/sdk/docs/LusidInstrument.md index 14454f13808..68109cf3f68 100644 --- a/sdk/docs/LusidInstrument.md +++ b/sdk/docs/LusidInstrument.md @@ -8,7 +8,7 @@ Base class in the hierarchy for representing the full economic definition of ins | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| -|**instrumentType** | [**InstrumentTypeEnum**](#InstrumentTypeEnum) | The available values are: QuotedSecurity, InterestRateSwap, FxForward, Future, ExoticInstrument, FxOption, CreditDefaultSwap, InterestRateSwaption, Bond, EquityOption, FixedLeg, FloatingLeg, BespokeCashFlowsLeg, Unknown, TermDeposit, ContractForDifference, EquitySwap, CashPerpetual, CapFloor, CashSettled, CdsIndex, Basket, FundingLeg, FxSwap, ForwardRateAgreement, SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument, ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan, TotalReturnSwap, InflationLeg | | +|**instrumentType** | [**InstrumentTypeEnum**](#InstrumentTypeEnum) | The available values are: QuotedSecurity, InterestRateSwap, FxForward, Future, ExoticInstrument, FxOption, CreditDefaultSwap, InterestRateSwaption, Bond, EquityOption, FixedLeg, FloatingLeg, BespokeCashFlowsLeg, Unknown, TermDeposit, ContractForDifference, EquitySwap, CashPerpetual, CapFloor, CashSettled, CdsIndex, Basket, FundingLeg, FxSwap, ForwardRateAgreement, SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument, ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan, TotalReturnSwap, InflationLeg, FundShareClass | | @@ -52,6 +52,7 @@ Base class in the hierarchy for representing the full economic definition of ins | SIMPLECASHFLOWLOAN | "SimpleCashFlowLoan" | | TOTALRETURNSWAP | "TotalReturnSwap" | | INFLATIONLEG | "InflationLeg" | +| FUNDSHARECLASS | "FundShareClass" | diff --git a/sdk/docs/ModelSelection.md b/sdk/docs/ModelSelection.md index c524ff50427..2aaaac39606 100644 --- a/sdk/docs/ModelSelection.md +++ b/sdk/docs/ModelSelection.md @@ -9,7 +9,7 @@ The combination of a library to use and a model in that library that defines whi | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| |**library** | [**LibraryEnum**](#LibraryEnum) | The available values are: Lusid, RefinitivQps, RefinitivTracsWeb, VolMaster, IsdaCds, YieldBook, LusidCalc | | -|**model** | [**ModelEnum**](#ModelEnum) | The available values are: SimpleStatic, Discounting, VendorDefault, BlackScholes, ConstantTimeValueOfMoney, Bachelier, ForwardWithPoints, ForwardWithPointsUndiscounted, ForwardSpecifiedRate, ForwardSpecifiedRateUndiscounted, IndexNav, IndexPrice, InlinedIndex, ForwardFromCurve, ForwardFromCurveUndiscounted, BlackScholesDigital, BjerksundStensland1993, LookUpPricing | | +|**model** | [**ModelEnum**](#ModelEnum) | The available values are: SimpleStatic, Discounting, VendorDefault, BlackScholes, ConstantTimeValueOfMoney, Bachelier, ForwardWithPoints, ForwardWithPointsUndiscounted, ForwardSpecifiedRate, ForwardSpecifiedRateUndiscounted, IndexNav, IndexPrice, InlinedIndex, ForwardFromCurve, ForwardFromCurveUndiscounted, BlackScholesDigital, BjerksundStensland1993, LookUpPricing, BondLookupPricer | | @@ -49,6 +49,7 @@ The combination of a library to use and a model in that library that defines whi | BLACKSCHOLESDIGITAL | "BlackScholesDigital" | | BJERKSUNDSTENSLAND1993 | "BjerksundStensland1993" | | LOOKUPPRICING | "LookUpPricing" | +| BONDLOOKUPPRICER | "BondLookupPricer" | diff --git a/sdk/docs/PricingModel.md b/sdk/docs/PricingModel.md index 9dbd446157a..f9fde449d16 100644 --- a/sdk/docs/PricingModel.md +++ b/sdk/docs/PricingModel.md @@ -41,5 +41,7 @@ * `LOOKUPPRICING` (value: `"LookUpPricing"`) +* `BONDLOOKUPPRICER` (value: `"BondLookupPricer"`) + diff --git a/sdk/pom.xml b/sdk/pom.xml index 20bec337f41..f6caa14967f 100644 --- a/sdk/pom.xml +++ b/sdk/pom.xml @@ -5,7 +5,7 @@ lusid-sdk jar lusid-sdk - 2.0.495 + 2.0.498 https://github.com/finbourne/lusid-sdk-java lusid diff --git a/sdk/src/main/java/com/finbourne/lusid/ApiClient.java b/sdk/src/main/java/com/finbourne/lusid/ApiClient.java index 085cde920ea..d8819c51bd2 100644 --- a/sdk/src/main/java/com/finbourne/lusid/ApiClient.java +++ b/sdk/src/main/java/com/finbourne/lusid/ApiClient.java @@ -208,7 +208,7 @@ private void init() { json = new JSON(); // Set default User-Agent. - setUserAgent("OpenAPI-Generator/2.0.495/java"); + setUserAgent("OpenAPI-Generator/2.0.498/java"); authentications = new HashMap(); } diff --git a/sdk/src/main/java/com/finbourne/lusid/Configuration.java b/sdk/src/main/java/com/finbourne/lusid/Configuration.java index 22b40377992..3631d29b515 100644 --- a/sdk/src/main/java/com/finbourne/lusid/Configuration.java +++ b/sdk/src/main/java/com/finbourne/lusid/Configuration.java @@ -12,7 +12,7 @@ @jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen") public class Configuration { - public static final String VERSION = "2.0.495"; + public static final String VERSION = "2.0.498"; private static ApiClient defaultApiClient = new ApiClient(); diff --git a/sdk/src/main/java/com/finbourne/lusid/JSON.java b/sdk/src/main/java/com/finbourne/lusid/JSON.java index 877834650ec..657a0eb26b6 100644 --- a/sdk/src/main/java/com/finbourne/lusid/JSON.java +++ b/sdk/src/main/java/com/finbourne/lusid/JSON.java @@ -657,6 +657,15 @@ public Class getClassF return getClassByDiscriminator(classByDiscriminatorValue, getDiscriminatorValue(readElement, "instrumentType")); } + }) + .registerTypeSelector(com.finbourne.lusid.model.FundShareClass.class, new TypeSelector() { + @Override + public Class getClassForElement(JsonElement readElement) { + Map classByDiscriminatorValue = new HashMap(); + classByDiscriminatorValue.put("FundShareClass", com.finbourne.lusid.model.FundShareClass.class); + return getClassByDiscriminator(classByDiscriminatorValue, + getDiscriminatorValue(readElement, "instrumentType")); + } }) .registerTypeSelector(com.finbourne.lusid.model.FundingLeg.class, new TypeSelector() { @Override @@ -1070,6 +1079,7 @@ public Class getClassForEle classByDiscriminatorValue.put("FixedLeg", com.finbourne.lusid.model.FixedLeg.class); classByDiscriminatorValue.put("FloatingLeg", com.finbourne.lusid.model.FloatingLeg.class); classByDiscriminatorValue.put("ForwardRateAgreement", com.finbourne.lusid.model.ForwardRateAgreement.class); + classByDiscriminatorValue.put("FundShareClass", com.finbourne.lusid.model.FundShareClass.class); classByDiscriminatorValue.put("FundingLeg", com.finbourne.lusid.model.FundingLeg.class); classByDiscriminatorValue.put("Future", com.finbourne.lusid.model.Future.class); classByDiscriminatorValue.put("FxForward", com.finbourne.lusid.model.FxForward.class); @@ -1951,6 +1961,7 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri gsonBuilder.registerTypeAdapterFactory(new com.finbourne.lusid.model.FlowConventions.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.finbourne.lusid.model.ForwardRateAgreement.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.finbourne.lusid.model.FromRecipe.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.finbourne.lusid.model.FundShareClass.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.finbourne.lusid.model.FundingLeg.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.finbourne.lusid.model.FundingLegOptions.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.finbourne.lusid.model.Future.CustomTypeAdapterFactory()); diff --git a/sdk/src/main/java/com/finbourne/lusid/model/FundShareClass.java b/sdk/src/main/java/com/finbourne/lusid/model/FundShareClass.java new file mode 100644 index 00000000000..235a1eb1b26 --- /dev/null +++ b/sdk/src/main/java/com/finbourne/lusid/model/FundShareClass.java @@ -0,0 +1,323 @@ +/* + * LUSID API + * + * Contact: info@finbourne.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +package com.finbourne.lusid.model; + +import java.util.Objects; +import com.finbourne.lusid.model.LusidInstrument; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.Arrays; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.lang.reflect.Type; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; + +import com.finbourne.lusid.JSON; + +/** + * LUSID representation of a FundShareClass. A ShareClass represents a pool of shares, held by investors, within a fund. A ShareClass can represent a differing investment approach by either Fees, Income, Currency Risk and Investor type. + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen") +public class FundShareClass extends LusidInstrument { + public static final String SERIALIZED_NAME_SHORT_CODE = "shortCode"; + @SerializedName(SERIALIZED_NAME_SHORT_CODE) + private String shortCode; + + public static final String SERIALIZED_NAME_FUND_SHARE_CLASS_TYPE = "fundShareClassType"; + @SerializedName(SERIALIZED_NAME_FUND_SHARE_CLASS_TYPE) + private String fundShareClassType; + + public static final String SERIALIZED_NAME_DISTRIBUTION_PAYMENT_TYPE = "distributionPaymentType"; + @SerializedName(SERIALIZED_NAME_DISTRIBUTION_PAYMENT_TYPE) + private String distributionPaymentType; + + public static final String SERIALIZED_NAME_HEDGING = "hedging"; + @SerializedName(SERIALIZED_NAME_HEDGING) + private String hedging; + + public static final String SERIALIZED_NAME_DOM_CCY = "domCcy"; + @SerializedName(SERIALIZED_NAME_DOM_CCY) + private String domCcy; + + public FundShareClass() { + // this.instrumentType = this.getClass().getSimpleName(); + } + + public FundShareClass shortCode(String shortCode) { + + this.shortCode = shortCode; + return this; + } + + /** + * A short identifier, unique across a single fund, usually made up of the ShareClass components. Eg \"A Accumulation Euro Hedged Class\" could become \"A Acc H EUR\". + * @return shortCode + **/ + @jakarta.annotation.Nonnull + public String getShortCode() { + return shortCode; + } + + + public void setShortCode(String shortCode) { + this.shortCode = shortCode; + } + + + public FundShareClass fundShareClassType(String fundShareClassType) { + + this.fundShareClassType = fundShareClassType; + return this; + } + + /** + * The type of distribution that the ShareClass will calculate. Can be either 'Income' or 'Accumulation' - Income classes will pay out and Accumulation classes will retain their ShareClass attributable income. Supported string (enumeration) values are: [Income, Accumulation]. + * @return fundShareClassType + **/ + @jakarta.annotation.Nonnull + public String getFundShareClassType() { + return fundShareClassType; + } + + + public void setFundShareClassType(String fundShareClassType) { + this.fundShareClassType = fundShareClassType; + } + + + public FundShareClass distributionPaymentType(String distributionPaymentType) { + + this.distributionPaymentType = distributionPaymentType; + return this; + } + + /** + * The tax treatment applied to any distributions calculated within the ShareClass. Can be either 'Net' (Distribution Calculated net of tax) or 'Gross' (Distribution calculated gross of tax). Supported string (enumeration) values are: [Gross, Net]. + * @return distributionPaymentType + **/ + @jakarta.annotation.Nonnull + public String getDistributionPaymentType() { + return distributionPaymentType; + } + + + public void setDistributionPaymentType(String distributionPaymentType) { + this.distributionPaymentType = distributionPaymentType; + } + + + public FundShareClass hedging(String hedging) { + + this.hedging = hedging; + return this; + } + + /** + * A flag to indicate the ShareClass is operating currency hedging as a means to limit currency risk as part of it's investment strategy. Supported string (enumeration) values are: [Invalid, None, ApplyHedging]. + * @return hedging + **/ + @jakarta.annotation.Nonnull + public String getHedging() { + return hedging; + } + + + public void setHedging(String hedging) { + this.hedging = hedging; + } + + + public FundShareClass domCcy(String domCcy) { + + this.domCcy = domCcy; + return this; + } + + /** + * The domestic currency of the instrument. + * @return domCcy + **/ + @jakarta.annotation.Nonnull + public String getDomCcy() { + return domCcy; + } + + + public void setDomCcy(String domCcy) { + this.domCcy = domCcy; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + FundShareClass fundShareClass = (FundShareClass) o; + return Objects.equals(this.shortCode, fundShareClass.shortCode) && + Objects.equals(this.fundShareClassType, fundShareClass.fundShareClassType) && + Objects.equals(this.distributionPaymentType, fundShareClass.distributionPaymentType) && + Objects.equals(this.hedging, fundShareClass.hedging) && + Objects.equals(this.domCcy, fundShareClass.domCcy) && + super.equals(o); + } + + @Override + public int hashCode() { + return Objects.hash(shortCode, fundShareClassType, distributionPaymentType, hedging, domCcy, super.hashCode()); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class FundShareClass {\n"); + sb.append(" ").append(toIndentedString(super.toString())).append("\n"); + sb.append(" shortCode: ").append(toIndentedString(shortCode)).append("\n"); + sb.append(" fundShareClassType: ").append(toIndentedString(fundShareClassType)).append("\n"); + sb.append(" distributionPaymentType: ").append(toIndentedString(distributionPaymentType)).append("\n"); + sb.append(" hedging: ").append(toIndentedString(hedging)).append("\n"); + sb.append(" domCcy: ").append(toIndentedString(domCcy)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("instrumentType"); + openapiFields.add("shortCode"); + openapiFields.add("fundShareClassType"); + openapiFields.add("distributionPaymentType"); + openapiFields.add("hedging"); + openapiFields.add("domCcy"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("shortCode"); + openapiRequiredFields.add("fundShareClassType"); + openapiRequiredFields.add("distributionPaymentType"); + openapiRequiredFields.add("hedging"); + openapiRequiredFields.add("domCcy"); + openapiRequiredFields.add("instrumentType"); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to FundShareClass + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!FundShareClass.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in FundShareClass is not found in the empty JSON string", FundShareClass.openapiRequiredFields.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : FundShareClass.openapiRequiredFields) { + if (jsonElement.getAsJsonObject().get(requiredField) == null) { + throw new IllegalArgumentException(String.format("The required field `%s` is not found in the JSON string: %s", requiredField, jsonElement.toString())); + } + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!FundShareClass.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'FundShareClass' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(FundShareClass.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, FundShareClass value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public FundShareClass read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of FundShareClass given an JSON string + * + * @param jsonString JSON string + * @return An instance of FundShareClass + * @throws IOException if the JSON string is invalid with respect to FundShareClass + */ + public static FundShareClass fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, FundShareClass.class); + } + + /** + * Convert an instance of FundShareClass to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} diff --git a/sdk/src/main/java/com/finbourne/lusid/model/InstrumentType.java b/sdk/src/main/java/com/finbourne/lusid/model/InstrumentType.java index 485005805be..cd709cd91e4 100644 --- a/sdk/src/main/java/com/finbourne/lusid/model/InstrumentType.java +++ b/sdk/src/main/java/com/finbourne/lusid/model/InstrumentType.java @@ -95,7 +95,9 @@ public enum InstrumentType { TOTALRETURNSWAP("TotalReturnSwap"), - INFLATIONLEG("InflationLeg"); + INFLATIONLEG("InflationLeg"), + + FUNDSHARECLASS("FundShareClass"); private String value; diff --git a/sdk/src/main/java/com/finbourne/lusid/model/LusidInstrument.java b/sdk/src/main/java/com/finbourne/lusid/model/LusidInstrument.java index 27dc8d0345e..a8cb3c830da 100644 --- a/sdk/src/main/java/com/finbourne/lusid/model/LusidInstrument.java +++ b/sdk/src/main/java/com/finbourne/lusid/model/LusidInstrument.java @@ -50,7 +50,7 @@ @jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen") public class LusidInstrument { /** - * The available values are: QuotedSecurity, InterestRateSwap, FxForward, Future, ExoticInstrument, FxOption, CreditDefaultSwap, InterestRateSwaption, Bond, EquityOption, FixedLeg, FloatingLeg, BespokeCashFlowsLeg, Unknown, TermDeposit, ContractForDifference, EquitySwap, CashPerpetual, CapFloor, CashSettled, CdsIndex, Basket, FundingLeg, FxSwap, ForwardRateAgreement, SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument, ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan, TotalReturnSwap, InflationLeg + * The available values are: QuotedSecurity, InterestRateSwap, FxForward, Future, ExoticInstrument, FxOption, CreditDefaultSwap, InterestRateSwaption, Bond, EquityOption, FixedLeg, FloatingLeg, BespokeCashFlowsLeg, Unknown, TermDeposit, ContractForDifference, EquitySwap, CashPerpetual, CapFloor, CashSettled, CdsIndex, Basket, FundingLeg, FxSwap, ForwardRateAgreement, SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument, ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan, TotalReturnSwap, InflationLeg, FundShareClass */ @JsonAdapter(InstrumentTypeEnum.Adapter.class) public enum InstrumentTypeEnum { @@ -124,7 +124,9 @@ public enum InstrumentTypeEnum { TOTALRETURNSWAP("TotalReturnSwap"), - INFLATIONLEG("InflationLeg"); + INFLATIONLEG("InflationLeg"), + + FUNDSHARECLASS("FundShareClass"); private String value; @@ -178,7 +180,7 @@ public LusidInstrument instrumentType(InstrumentTypeEnum instrumentType) { } /** - * The available values are: QuotedSecurity, InterestRateSwap, FxForward, Future, ExoticInstrument, FxOption, CreditDefaultSwap, InterestRateSwaption, Bond, EquityOption, FixedLeg, FloatingLeg, BespokeCashFlowsLeg, Unknown, TermDeposit, ContractForDifference, EquitySwap, CashPerpetual, CapFloor, CashSettled, CdsIndex, Basket, FundingLeg, FxSwap, ForwardRateAgreement, SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument, ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan, TotalReturnSwap, InflationLeg + * The available values are: QuotedSecurity, InterestRateSwap, FxForward, Future, ExoticInstrument, FxOption, CreditDefaultSwap, InterestRateSwaption, Bond, EquityOption, FixedLeg, FloatingLeg, BespokeCashFlowsLeg, Unknown, TermDeposit, ContractForDifference, EquitySwap, CashPerpetual, CapFloor, CashSettled, CdsIndex, Basket, FundingLeg, FxSwap, ForwardRateAgreement, SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument, ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan, TotalReturnSwap, InflationLeg, FundShareClass * @return instrumentType **/ @jakarta.annotation.Nonnull @@ -307,6 +309,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti case "ForwardRateAgreement": ForwardRateAgreement.validateJsonElement(jsonElement); break; + case "FundShareClass": + FundShareClass.validateJsonElement(jsonElement); + break; case "FundingLeg": FundingLeg.validateJsonElement(jsonElement); break; diff --git a/sdk/src/main/java/com/finbourne/lusid/model/ModelSelection.java b/sdk/src/main/java/com/finbourne/lusid/model/ModelSelection.java index e3921856100..c3a9eca31ae 100644 --- a/sdk/src/main/java/com/finbourne/lusid/model/ModelSelection.java +++ b/sdk/src/main/java/com/finbourne/lusid/model/ModelSelection.java @@ -111,7 +111,7 @@ public LibraryEnum read(final JsonReader jsonReader) throws IOException { private LibraryEnum library; /** - * The available values are: SimpleStatic, Discounting, VendorDefault, BlackScholes, ConstantTimeValueOfMoney, Bachelier, ForwardWithPoints, ForwardWithPointsUndiscounted, ForwardSpecifiedRate, ForwardSpecifiedRateUndiscounted, IndexNav, IndexPrice, InlinedIndex, ForwardFromCurve, ForwardFromCurveUndiscounted, BlackScholesDigital, BjerksundStensland1993, LookUpPricing + * The available values are: SimpleStatic, Discounting, VendorDefault, BlackScholes, ConstantTimeValueOfMoney, Bachelier, ForwardWithPoints, ForwardWithPointsUndiscounted, ForwardSpecifiedRate, ForwardSpecifiedRateUndiscounted, IndexNav, IndexPrice, InlinedIndex, ForwardFromCurve, ForwardFromCurveUndiscounted, BlackScholesDigital, BjerksundStensland1993, LookUpPricing, BondLookupPricer */ @JsonAdapter(ModelEnum.Adapter.class) public enum ModelEnum { @@ -149,7 +149,9 @@ public enum ModelEnum { BJERKSUNDSTENSLAND1993("BjerksundStensland1993"), - LOOKUPPRICING("LookUpPricing"); + LOOKUPPRICING("LookUpPricing"), + + BONDLOOKUPPRICER("BondLookupPricer"); private String value; @@ -224,7 +226,7 @@ public ModelSelection model(ModelEnum model) { } /** - * The available values are: SimpleStatic, Discounting, VendorDefault, BlackScholes, ConstantTimeValueOfMoney, Bachelier, ForwardWithPoints, ForwardWithPointsUndiscounted, ForwardSpecifiedRate, ForwardSpecifiedRateUndiscounted, IndexNav, IndexPrice, InlinedIndex, ForwardFromCurve, ForwardFromCurveUndiscounted, BlackScholesDigital, BjerksundStensland1993, LookUpPricing + * The available values are: SimpleStatic, Discounting, VendorDefault, BlackScholes, ConstantTimeValueOfMoney, Bachelier, ForwardWithPoints, ForwardWithPointsUndiscounted, ForwardSpecifiedRate, ForwardSpecifiedRateUndiscounted, IndexNav, IndexPrice, InlinedIndex, ForwardFromCurve, ForwardFromCurveUndiscounted, BlackScholesDigital, BjerksundStensland1993, LookUpPricing, BondLookupPricer * @return model **/ @jakarta.annotation.Nonnull diff --git a/sdk/src/main/java/com/finbourne/lusid/model/PricingModel.java b/sdk/src/main/java/com/finbourne/lusid/model/PricingModel.java index 94393f33d8e..cdad17990de 100644 --- a/sdk/src/main/java/com/finbourne/lusid/model/PricingModel.java +++ b/sdk/src/main/java/com/finbourne/lusid/model/PricingModel.java @@ -59,7 +59,9 @@ public enum PricingModel { BJERKSUNDSTENSLAND1993("BjerksundStensland1993"), - LOOKUPPRICING("LookUpPricing"); + LOOKUPPRICING("LookUpPricing"), + + BONDLOOKUPPRICER("BondLookupPricer"); private String value;