Exemplo n.º 1
0
 internal static void RegisterSerializer(Func <Type, bool> fnApplies, ICommoditySerializer serializer, uint priority = 1)
 {
     Serializers.Add(priority, new SerializerInfo()
     {
         Applies    = fnApplies,
         Serializer = serializer
     });
 }
Exemplo n.º 2
0
        private static ICommoditySerializer EnsureSerializer(Type nominalType)
        {
            ICommoditySerializer o = Resolve(nominalType);

            if (o == null)
            {
                throw new NotImplementedException(String.Format("No CommoditySerializer found for object of type {0}", nominalType.FullName));
            }
            return(o);
        }
Exemplo n.º 3
0
 public TradingEngine(ILogger logger,
                      ConsoleCommand command,
                      ICommoditySource commoditySource,
                      ICommoditySerializer commoditySerializer,
                      CostCalcFactory costCalcFactory)
 {
     _logger              = logger;
     _command             = command;
     _commoditySource     = commoditySource;
     _commoditySerializer = commoditySerializer;
     _costCalcFactory     = costCalcFactory;
 }
Exemplo n.º 4
0
        internal static void Serialize(ICommodityWriter writer, Type nominalType, object value)
        {
            ICommoditySerializer o = EnsureSerializer(nominalType);

            o.Serialize(writer, nominalType, value);
        }
Exemplo n.º 5
0
        internal static void RegisterSerializer(Type serializerForType, ICommoditySerializer serializer, uint priority = 1)
        {
            Func <Type, bool> fnApplies = (t) => t == serializerForType;

            RegisterSerializer(fnApplies, serializer, priority);
        }
Exemplo n.º 6
0
        internal static object Deserialize(ICommodityReader reader, Type nominalType)
        {
            ICommoditySerializer o = EnsureSerializer(nominalType);

            return(o.Deserialize(reader, nominalType));
        }