예제 #1
0
        public void ToFudgeMsg(IAppendingFudgeFieldContainer a, IFudgeSerializer s)
        {
            s.WriteInline(a, "swapTenor", _swapTenor);
            s.WriteInline(a, "optionExpiry", _optionExpiry);

            a.Add("relativeStrike", _relativeStrike);
        }
예제 #2
0
        public void ToFudgeMsg(IAppendingFudgeFieldContainer message, IFudgeSerializer s)
        {
            message.Add("name", Name);
            if (_uniqueID != null)
            {
                message.Add("uniqueId", _uniqueID.ToString());
            }
            s.WriteInline(message, "identifier", PortfolioIdentifier);
            s.WriteInline(message, "user", User);
            s.WriteInline(message, "resultModelDefinition", ResultModelDefinition);

            if (DefaultCurrency != null)
            {
                message.Add("currency", DefaultCurrency.ISOCode);
            }

            WriteNullableTimeSpanField(message, "minDeltaCalcPeriod", MinDeltaCalcPeriod);
            WriteNullableTimeSpanField(message, "maxDeltaCalcPeriod", MaxDeltaCalcPeriod);
            WriteNullableTimeSpanField(message, "fullDeltaCalcPeriod", MinFullCalcPeriod);
            WriteNullableTimeSpanField(message, "maxFullCalcPeriod", MaxFullCalcPeriod);

            foreach (var calcConfig in CalculationConfigurationsByName.Values)
            {
                FudgeMsg calcConfigMsg = s.Context.NewMessage();

                calcConfig.ToFudgeMsg(calcConfigMsg, s);

                message.Add("calculationConfiguration", calcConfigMsg);
            }
        }
        protected override void SerializeImpl(ValueSpecification obj, IAppendingFudgeFieldContainer msg, IFudgeSerializer serializer)
        {
            new ComputationTargetSpecificationBuilder(serializer.Context, typeof(ComputationTargetSpecification)).Serialize(obj.TargetSpecification, msg, serializer);

            serializer.WriteInline(msg, "properties", obj.Properties);
            msg.Add("valueName", obj.ValueName);
        }
예제 #4
0
 public void ToFudgeMsg(IAppendingFudgeFieldContainer a, IFudgeSerializer s)
 {
     s.WriteInline(a, "pagingRequest", _pagingRequest);
     if (_name != null)
     {
         a.Add("name", _name);
     }
     if (_portfolioObjectIds != null)
     {
         s.WriteInline(a, "portfolioObjectIds", _portfolioObjectIds);
     }
     if (_nodeObjectIds != null)
     {
         s.WriteInline(a, "nodeObjectIds", _nodeObjectIds);
     }
 }
예제 #5
0
 public void ToFudgeMsg(IAppendingFudgeFieldContainer a, IFudgeSerializer s)
 {
     a.Add("type", EnumBuilder <StripInstrumentType> .GetJavaName(InstrumentType));
     s.WriteInline(a, "tenor", CurveNodePointTime);
     a.Add("conventionName", ConventionName);
     if (InstrumentType == StripInstrumentType.Future)
     {
         a.Add("numFutures", NthFutureFromTenor);
     }
 }
        public static void AddMessageFields(IFudgeSerializer fudgeSerializer, IAppendingFudgeFieldContainer msg, ComputationTargetSpecification @object)
        {
            msg.Add("computationTargetType", EnumBuilder <ComputationTargetType> .GetJavaName(@object.Type));
            UniqueId uid = @object.Uid;

            if (uid != null)
            {
                fudgeSerializer.WriteInline(msg, "computationTargetIdentifier", uid);
            }
        }
예제 #7
0
 public void ToFudgeMsg(IAppendingFudgeFieldContainer a, IFudgeSerializer s)
 {
     if (_valuationTime != default(DateTimeOffset))
     {
         a.Add("valuation", _valuationTime);
     }
     if (_marketDataSpecification != null)
     {
         s.WriteInline(a, "marketDataSpecification", _marketDataSpecification);
     }
 }
예제 #8
0
        public void ToFudgeMsg(IAppendingFudgeFieldContainer a, IFudgeSerializer s)
        {
            s.WriteTypeHeader(a, typeof(ManageableVolatilityCubeSnapshot));
            var valuesMessage = MapBuilder.ToFudgeMsg(s, _values);

            a.Add("values", valuesMessage);
            s.WriteInline(a, "otherValues", _otherValues);
            var strikesMessage = MapBuilder.ToFudgeMsg(s, _strikes);

            a.Add("strikes", strikesMessage);
        }
 public void ToFudgeMsg(IAppendingFudgeFieldContainer a, IFudgeSerializer s)
 {
     if (_valuationTime != default(DateTimeOffset))
     {
         a.Add("valuation", _valuationTime);
     }
     if (_marketDataSpecification != null)
     {
         s.WriteInline(a, "marketDataSpecification", _marketDataSpecification);
     }
 }
예제 #10
0
        protected override void SerializeImpl(ExecutionOptions obj, IAppendingFudgeFieldContainer a, IFudgeSerializer s)
        {
            s.WriteInline(a, "executionSequence", obj.ExecutionSequence);
            foreach (var entry in FlagFieldNames)
            {
                var flag      = entry.Key;
                var fieldName = entry.Value;

                bool hasFlag = (obj.Flags & flag) != 0;

                a.Add(fieldName, hasFlag.ToString());
            }
            if (obj.MaxSuccessiveDeltaCycles != null)
            {
                a.Add("maxSuccessiveDeltaCycles", obj.MaxSuccessiveDeltaCycles);
            }
            if (obj.DefaultExecutionOptions != null)
            {
                s.WriteInline(a, "defaultExecutionOptions", obj.DefaultExecutionOptions);
            }
            s.WriteInline(a, "versionCorrection", obj.VersionCorrection);
        }
예제 #11
0
 public void ToFudgeMsg(IAppendingFudgeFieldContainer a, IFudgeSerializer s)
 {
     a.Add("currency", _currency.ISOCode);
     if (_region != null)
     {
         a.Add("region", _region);
     }
     a.Add("name", _name);
     a.Add("interpolatorName", _interpolatorName);
     foreach (var fixedIncomeStrip in Strips)
     {
         s.WriteInline(a, "strip", fixedIncomeStrip);
     }
 }
 /// <summary>
 /// Serializes all the values as a sequence of submessages with the same field name and ordinal.
 /// </summary>
 /// <typeparam name="T">Type of objects.</typeparam>
 /// <param name="serializer">Serializer to write the fields.</param>
 /// <param name="msg">Parent message for the sub-message.</param>
 /// <param name="name">Name of the fields.</param>
 /// <param name="ordinal">Ordinal of the fields (may be <c>null</c>).</param>
 /// <param name="objects">Objects to serialize.</param>
 /// <remarks>See the remarks in <see cref="WriteInline"/> regarding the limitations of writing as an in-line sub-message.</remarks>
 /// <remarks><c>null</c>s in the sequence are written as Fudge <see cref="IndicatorType"/>s.</remarks>
 public static void WriteAllInline <T>(this IFudgeSerializer serializer, IAppendingFudgeFieldContainer msg, string name, int?ordinal, IEnumerable <T> objects)
 {
     foreach (T obj in objects)
     {
         if (obj != null)
         {
             serializer.WriteInline(msg, name, ordinal, obj);
         }
         else
         {
             msg.Add(name, ordinal, IndicatorType.Instance);
         }
     }
 }
        public void ToFudgeMsg(IAppendingFudgeFieldContainer a, IFudgeSerializer s)
        {
            s.WriteInline(a, "globalValues", _globalValues);

            a.Add("name", Name);
            a.Add("basisViewName", _basisViewName);
            if (_uniqueId != null)
            {
                a.Add("uniqueId", _uniqueId);
            }

            a.Add("yieldCurves", MapBuilder.ToFudgeMsg(s, _yieldCurves));
            a.Add("volatilityCubes", MapBuilder.ToFudgeMsg(s, _volatilityCubes));
            a.Add("volatilitySurfaces", MapBuilder.ToFudgeMsg(s, _volatilitySurfaces));
        }
예제 #14
0
 public void ToFudgeMsg(IAppendingFudgeFieldContainer a, IFudgeSerializer s)
 {
     s.WriteInline(a, "identifiers", _identifiers.ToList());
     a.Add("searchType", EnumBuilder<ExternalIdSearchType>.GetJavaName(_searchType));
 }
예제 #15
0
        public void ToFudgeMsg(IAppendingFudgeFieldContainer message, IFudgeSerializer s)
        {
            message.Add("name", Name);
            if (_uniqueID != null)
            {
                message.Add("uniqueId", _uniqueID.ToString());
            }
            s.WriteInline(message, "identifier", PortfolioIdentifier);
            s.WriteInline(message, "user", User);
            s.WriteInline(message, "resultModelDefinition", ResultModelDefinition);

            if (DefaultCurrency != null)
            {
                message.Add("currency", DefaultCurrency.ISOCode);
            }

            WriteNullableTimeSpanField(message, "minDeltaCalcPeriod", MinDeltaCalcPeriod);
            WriteNullableTimeSpanField(message, "maxDeltaCalcPeriod", MaxDeltaCalcPeriod);
            WriteNullableTimeSpanField(message, "fullDeltaCalcPeriod", MinFullCalcPeriod);
            WriteNullableTimeSpanField(message, "maxFullCalcPeriod", MaxFullCalcPeriod);

            foreach (var calcConfig in CalculationConfigurationsByName.Values)
            {
                FudgeMsg calcConfigMsg = s.Context.NewMessage();

                calcConfig.ToFudgeMsg(calcConfigMsg, s);

                message.Add("calculationConfiguration", calcConfigMsg);
            }
        }
 public void ToFudgeMsg(IAppendingFudgeFieldContainer a, IFudgeSerializer s)
 {
     a.Add("valuationTime", _valuationTime);
     s.WriteInline(a, "values", _values);
 }
예제 #17
0
 public void ToFudgeMsg(IAppendingFudgeFieldContainer a, IFudgeSerializer s)
 {
     s.WriteInline(a, "identifiers", _identifiers.ToList());
     a.Add("searchType", EnumBuilder <ExternalIdSearchType> .GetJavaName(_searchType));
 }
예제 #18
0
 protected override void SerializeImpl(UserMarketDataSpecification obj, IAppendingFudgeFieldContainer msg, IFudgeSerializer serializer)
 {
     serializer.WriteTypeHeader(msg, obj.GetType());
     serializer.WriteInline(msg, "userSnapshotId", obj.UserSnapshotID);
 }
예제 #19
0
 public void ToFudgeMsg(IAppendingFudgeFieldContainer a, IFudgeSerializer s)
 {
     s.WriteInline(a, "identifier", _security);
     s.WriteInline(a, "strip", _strip);
 }
예제 #20
0
 public void ToFudgeMsg(IAppendingFudgeFieldContainer msg, IFudgeSerializer s)
 {
     msg.Add("valueName", ValueName);
     ComputationTargetSpecificationBuilder.AddMessageFields(s, msg, TargetSpecification);
     s.WriteInline(msg, "constraints", Constraints);
 }
 /// <summary>
 /// Serializes an object as an in-line submessage field with a given name.
 /// </summary>
 /// <param name="serializer">Serializer to write the field.</param>
 /// <param name="msg">Parent message for the sub-message.</param>
 /// <param name="name">Name of field.</param>
 /// <param name="value">Object to serialize.</param>
 /// <remarks>
 /// By serializing the object as a sub-value, it will be written multiple times if referenced
 /// multple times in the object graph, it cannot be part of a cycle of references, and it does
 /// not support polymorphism.  If you need any of these features then use the normal
 /// <see cref="IAppendingFudgeFieldContainer.Add(string,object)"/> method.
 /// instead.
 /// </remarks>
 public static void WriteInline(this IFudgeSerializer serializer, IAppendingFudgeFieldContainer msg, string name, object value)
 {
     serializer.WriteInline(msg, name, null, value);
 }
예제 #22
0
 public void ToFudgeMsg(IAppendingFudgeFieldContainer a, IFudgeSerializer s)
 {
     a.Add("currency", _currency.ISOCode);
     if (_region != null)
         a.Add("region", _region);
     a.Add("name", _name);
     a.Add("interpolatorName", _interpolatorName);
     foreach (var fixedIncomeStrip in Strips)
     {
         s.WriteInline(a, "strip", fixedIncomeStrip);
     }
 }
 protected override void SerializeImpl(CombinedMarketDataSpecification obj, IAppendingFudgeFieldContainer msg, IFudgeSerializer serializer)
 {
     serializer.WriteTypeHeader(msg, obj.GetType());
     serializer.WriteInline(msg, "preferredSpecification", obj.PreferredSpecification);
     serializer.WriteInline(msg, "fallbackSpecification", obj.FallbackSpecification);
 }
 public void ToFudgeMsg(IAppendingFudgeFieldContainer a, IFudgeSerializer s)
 {
     s.WriteInline(a, "pagingRequest", _pagingRequest);
     if (_name != null)
     {
         a.Add("name", _name);
     }
     if (_portfolioObjectIds != null)
     {
         s.WriteInline(a, "portfolioObjectIds", _portfolioObjectIds);
     }
     if (_nodeObjectIds != null)
     {
         s.WriteInline(a, "nodeObjectIds", _nodeObjectIds);
     }
 }
예제 #25
0
 private void InlineSerialize(MorePropertyData prop, object val, IAppendingFudgeFieldContainer msg, IFudgeSerializer serializer)
 {
     serializer.WriteInline(msg, prop.PropertyData.SerializedName, val);
 }
예제 #26
0
 public void ToFudgeMsg(IAppendingFudgeFieldContainer a, IFudgeSerializer s)
 {
     s.WriteInline(a, "identifier", _security);
     s.WriteInline(a, "strip", _strip);
 }
예제 #27
0
 public void ToFudgeMsg(IAppendingFudgeFieldContainer msg, IFudgeSerializer s)
 {
     msg.Add("valueName", ValueName);
     ComputationTargetSpecificationBuilder.AddMessageFields(s, msg, TargetSpecification);
     s.WriteInline(msg, "constraints", Constraints);
 }
예제 #28
0
파일: Proxy.cs 프로젝트: vazapple/OG-DotNet
 public void ToFudgeMsg(IAppendingFudgeFieldContainer a, IFudgeSerializer s)
 {
     s.WriteInline(a, "test", Test);
 }