Exemple #1
0
        public override byte[] EncodeValue(ScalarValue value_Renamed)
        {
            System.DateTime date     = ((DateValue)value_Renamed).value_Renamed;
            int             intValue = Util.TimeToInt(ref date);

            return(UINT.Encode(new IntegerValue(intValue)));
        }
        public override byte[] EncodeValue(ScalarValue value_Renamed)
        {
            System.DateTime date = ((DateValue)value_Renamed).value_Renamed;
            int             millisecondsSinceMidnight = Util.MillisecondsSinceMidnight(ref date);

            return(INTEGER.EncodeValue(new IntegerValue(millisecondsSinceMidnight)));
        }
Exemple #3
0
        public override ScalarValue Decode(System.IO.Stream in_Renamed)
        {
            int intValue = ((IntegerValue)UINT.Decode(in_Renamed)).value_Renamed;

            System.DateTime tempAux = Util.ToTimestamp(intValue);
            return(new DateValue(ref tempAux));
        }
Exemple #4
0
        protected internal static ScalarValue CreateValue(long value_Renamed)
        {
            if (Util.IsBiggerThanInt(value_Renamed))
            {
                return(new LongValue(value_Renamed));
            }

            return(new IntegerValue((int)value_Renamed));
        }
Exemple #5
0
        public override ScalarValue Decode(System.IO.Stream in_Renamed)
        {
            long longValue = UINT.Decode(in_Renamed).ToLong();
            var  year      = (int)(longValue / 10000);
            var  month     = (int)((longValue - (year * 10000)) / 100);
            var  day       = (int)(longValue % 100);

            System.DateTime tempAux = Util.Date(year, month, day);
            return(new DateValue(ref tempAux));
        }
        public override ScalarValue DecodeValue(ScalarValue newValue, ScalarValue previousValue, Scalar field)
        {
            if ((newValue == null) || newValue.Null)
            {
                return(null);
            }

            var         diffValue    = (TwinValue)newValue;
            ScalarValue base_Renamed = (previousValue.Undefined)?field.BaseValue:previousValue;

            if (diffValue.first.ToInt() > base_Renamed.ToString().Length)
            {
                Global.HandleError(Error.FastConstants.D7_SUBTRCTN_LEN_LONG, "The string diff <" + diffValue + "> cannot be applied to the base value \"" + base_Renamed + "\" because the subtraction length is too long.");
            }
            return(Util.ApplyDifference((StringValue)base_Renamed, diffValue));
        }
        public override ScalarValue GetValueToEncode(ScalarValue value_Renamed, ScalarValue priorValue, Scalar field)
        {
            if (value_Renamed == null)
            {
                return(ScalarValue.NULL);
            }

            if (priorValue == null)
            {
                Global.HandleError(Error.FastConstants.D6_MNDTRY_FIELD_NOT_PRESENT, "The field " + field + " must have a priorValue defined.");
                return(null);
            }

            ScalarValue base_Renamed = (priorValue.Undefined)?field.BaseValue:priorValue;

            return(Util.GetDifference((StringValue)value_Renamed, (StringValue)base_Renamed));
        }
Exemple #8
0
        public override ScalarValue GetVal(string value_Renamed)
        {
            long longValue;

            try
            {
                longValue = Int64.Parse(value_Renamed);
            }
            catch (FormatException)
            {
                Global.HandleError(Error.FastConstants.S3_INITIAL_VALUE_INCOMP, "The value \"" + value_Renamed + "\" is not compatable with type " + this);
                return(null);
            }
            if (Util.IsBiggerThanInt(longValue))
            {
                return(new LongValue(longValue));
            }
            return(new IntegerValue((int)longValue));
        }
        public override Field Convert(GroupValue fieldDef, TemplateRegistry templateRegistry, ConversionContext context)
        {
            var  name                 = new QName(fieldDef.GetString("Name"), fieldDef.GetString("Ns"));
            bool optional             = fieldDef.GetBool("Optional");
            var  exponentDef          = fieldDef.GetGroup("Exponent");
            var  exponentOperatorDef  = exponentDef.GetGroup("Operator").GetGroup(0);
            var  exponentOperator     = GetOperator(exponentOperatorDef.GetGroup());
            var  exponentDefaultValue = ScalarValue.UNDEFINED;

            if (exponentDef.IsDefined("InitialValue"))
            {
                exponentDefaultValue = new IntegerValue(exponentDef.GetInt("InitialValue"));
            }
            var mantissaDef          = fieldDef.GetGroup("Mantissa");
            var mantissaOperatorDef  = mantissaDef.GetGroup("Operator").GetGroup(0);
            var mantissaOperator     = GetOperator(mantissaOperatorDef.GetGroup());
            var mantissaDefaultValue = ScalarValue.UNDEFINED;

            if (mantissaDef.IsDefined("InitialValue"))
            {
                mantissaDefaultValue = new LongValue(mantissaDef.GetInt("InitialValue"));
            }
            return(Util.ComposedDecimal(name, exponentOperator, exponentDefaultValue, mantissaOperator, mantissaDefaultValue, optional));
        }
Exemple #10
0
        private static Field createComposedDecimal(System.Xml.XmlElement fieldNode, QName name, bool optional, System.Xml.XmlNode mantissaNode, System.Xml.XmlNode exponentNode, ParsingContext context)
        {
            string      mantissaOperator     = "none";
            string      exponentOperator     = "none";
            ScalarValue mantissaDefaultValue = ScalarValue.UNDEFINED;
            ScalarValue exponentDefaultValue = ScalarValue.UNDEFINED;
            QName       mantissaKey          = null;
            QName       exponentKey          = null;
            string      mantissaDictionary   = context.Dictionary;
            string      exponentDictionary   = context.Dictionary;
            string      mantissaNamespace    = context.Namespace;
            string      exponentNamespace    = context.Namespace;

            if ((mantissaNode != null) && mantissaNode.HasChildNodes)
            {
                System.Xml.XmlElement operatorElement = GetElement((System.Xml.XmlElement)mantissaNode, 1);
                mantissaOperator = operatorElement.Name;

                if (operatorElement.HasAttribute("value"))
                {
                    mantissaDefaultValue = FASTType.I64.GetValue(operatorElement.GetAttribute("value"));
                }
                if (operatorElement.HasAttribute("ns"))
                {
                    mantissaNamespace = operatorElement.GetAttribute("ns");
                }
                if (operatorElement.HasAttribute("key"))
                {
                    mantissaKey = new QName(operatorElement.GetAttribute("key"), mantissaNamespace);
                }
                if (operatorElement.HasAttribute("dictionary"))
                {
                    mantissaDictionary = operatorElement.GetAttribute("dictionary");
                }
            }

            if ((exponentNode != null) && exponentNode.HasChildNodes)
            {
                System.Xml.XmlElement operatorElement = GetElement((System.Xml.XmlElement)exponentNode, 1);
                exponentOperator = operatorElement.Name;

                if (operatorElement.HasAttribute("value"))
                {
                    exponentDefaultValue = FASTType.I32.GetValue(operatorElement.GetAttribute("value"));
                }
                if (operatorElement.HasAttribute("ns"))
                {
                    exponentNamespace = operatorElement.GetAttribute("ns");
                }
                if (operatorElement.HasAttribute("key"))
                {
                    exponentKey = new QName(operatorElement.GetAttribute("key"), exponentNamespace);
                }
                if (operatorElement.HasAttribute("dictionary"))
                {
                    exponentDictionary = operatorElement.GetAttribute("dictionary");
                }
            }

            ComposedScalar scalar = Util.ComposedDecimal(name, Operator.Operator.GetOperator(exponentOperator), exponentDefaultValue, Operator.Operator.GetOperator(mantissaOperator), mantissaDefaultValue, optional);

            Scalar exponent = scalar.Fields[0];

            exponent.Dictionary = exponentDictionary;
            if (exponentKey != null)
            {
                exponent.Key = exponentKey;
            }

            Scalar mantissa = scalar.Fields[1];

            mantissa.Dictionary = mantissaDictionary;
            if (mantissaKey != null)
            {
                mantissa.Key = mantissaKey;
            }

            if (fieldNode.HasAttribute("id"))
            {
                scalar.Id = fieldNode.GetAttribute("id");
            }
            return(scalar);
        }
Exemple #11
0
 public static FASTType GetType(string typeName)
 {
     if (!TYPE_NAME_MAP.Contains(typeName))
     {
         throw new ArgumentException("The type named " + typeName + " does not exist.  Existing types are " + Util.CollectionToString(new SupportClass.HashSetSupport(TYPE_NAME_MAP.Keys)));
     }
     return((FASTType)TYPE_NAME_MAP[typeName]);
 }
Exemple #12
0
        protected internal virtual FASTType GetType(System.Xml.XmlElement fieldNode, ParsingContext context)
        {
            string typeName = GetTypeName(fieldNode);

            if (!context.TypeMap.Contains(typeName))
            {
                context.ErrorHandler.Error(XMLMessageTemplateLoader.INVALID_TYPE, "The type " + typeName + " is not defined.  Possible types: " + Util.CollectionToString(new SupportClass.HashSetSupport(context.TypeMap.Keys), ", "));
            }
            return((FASTType)context.TypeMap[typeName]);
        }