示例#1
0
        public T GetValue <T>(int index)
        {
            if (index >= dataHolder.Count)
            {
                return(default(T));
            }
            SFSDataWrapper sFSDataWrapper = dataHolder[index];

            return((T)sFSDataWrapper.Data);
        }
示例#2
0
        public bool IsNull(int index)
        {
            if (index >= dataHolder.Count)
            {
                return(true);
            }
            SFSDataWrapper sFSDataWrapper = dataHolder[index];

            return(sFSDataWrapper.Type == 0);
        }
示例#3
0
        public object RemoveElementAt(int index)
        {
            if (index >= dataHolder.Count)
            {
                return(null);
            }
            SFSDataWrapper sFSDataWrapper = dataHolder[index];

            dataHolder.RemoveAt(index);
            return(sFSDataWrapper.Data);
        }
示例#4
0
        private string Dump()
        {
            StringBuilder stringBuilder = new StringBuilder(Convert.ToString(DefaultObjectDumpFormatter.TOKEN_INDENT_OPEN));

            for (int i = 0; i < dataHolder.Count; i++)
            {
                SFSDataWrapper sFSDataWrapper = dataHolder[i];
                int            type           = sFSDataWrapper.Type;
                string         value;
                switch (type)
                {
                case 18:
                    value = (sFSDataWrapper.Data as SFSObject).GetDump(format: false);
                    break;

                case 17:
                    value = (sFSDataWrapper.Data as SFSArray).GetDump(format: false);
                    break;

                case 0:
                    value = "NULL";
                    break;

                case 9:
                case 10:
                case 11:
                case 12:
                case 13:
                case 14:
                case 15:
                case 16:
                    value = string.Concat("[", sFSDataWrapper.Data, "]");
                    break;

                default:
                    value = sFSDataWrapper.Data.ToString();
                    break;
                }
                stringBuilder.Append("(" + ((SFSDataType)type).ToString().ToLower() + ") ");
                stringBuilder.Append(value);
                stringBuilder.Append(Convert.ToString(DefaultObjectDumpFormatter.TOKEN_DIVIDER));
            }
            string text = stringBuilder.ToString();

            if (Size() > 0)
            {
                text = text.Substring(0, text.Length - 1);
            }
            return(text + Convert.ToString(DefaultObjectDumpFormatter.TOKEN_INDENT_CLOSE));
        }
示例#5
0
        public override long GetLong(int index)
        {
            SFSDataWrapper wrappedElementAt = GetWrappedElementAt(index);

            if (wrappedElementAt == null)
            {
                return(0L);
            }
            object data = wrappedElementAt.Data;

            if (data is int)
            {
                return(Convert.ToInt64(data));
            }
            return((long)data);
        }
示例#6
0
        public override long GetLong(string key)
        {
            SFSDataWrapper data = GetData(key);

            if (data == null)
            {
                return(0L);
            }
            object data2 = data.Data;

            if (data2 is int)
            {
                return(Convert.ToInt64(data2));
            }
            return((long)data2);
        }
示例#7
0
        private string Dump()
        {
            StringBuilder stringBuilder = new StringBuilder();

            stringBuilder.Append(Convert.ToString(DefaultObjectDumpFormatter.TOKEN_INDENT_OPEN));
            foreach (KeyValuePair <string, SFSDataWrapper> item in dataHolder)
            {
                SFSDataWrapper value = item.Value;
                string         key   = item.Key;
                int            type  = value.Type;
                stringBuilder.Append("(" + ((SFSDataType)type).ToString().ToLower() + ")");
                stringBuilder.Append(" " + key + ": ");
                switch (type)
                {
                case 18:
                    stringBuilder.Append((value.Data as SFSObject).GetDump(format: false));
                    break;

                case 17:
                    stringBuilder.Append((value.Data as SFSArray).GetDump(format: false));
                    break;

                case 9:
                case 10:
                case 11:
                case 12:
                case 13:
                case 14:
                case 15:
                case 16:
                    stringBuilder.Append(string.Concat("[", value.Data, "]"));
                    break;

                default:
                    stringBuilder.Append(value.Data);
                    break;
                }
                stringBuilder.Append(DefaultObjectDumpFormatter.TOKEN_DIVIDER);
            }
            string text = stringBuilder.ToString();

            if (Size() > 0)
            {
                text = text.Substring(0, text.Length - 1);
            }
            return(text + DefaultObjectDumpFormatter.TOKEN_INDENT_CLOSE);
        }
示例#8
0
 public void PutFloatArray(string key, float[] val)
 {
     dataHolder[key] = new SFSDataWrapper(SFSDataType.FLOAT_ARRAY, val);
 }
示例#9
0
 public void PutLongArray(string key, long[] val)
 {
     dataHolder[key] = new SFSDataWrapper(SFSDataType.LONG_ARRAY, val);
 }
示例#10
0
 public void PutIntArray(string key, int[] val)
 {
     dataHolder[key] = new SFSDataWrapper(SFSDataType.INT_ARRAY, val);
 }
示例#11
0
 public void PutBool(string key, bool val)
 {
     dataHolder[key] = new SFSDataWrapper(SFSDataType.BOOL, val);
 }
示例#12
0
 public void PutSFSArray(string key, ISFSArray val)
 {
     dataHolder[key] = new SFSDataWrapper(SFSDataType.SFS_ARRAY, val);
 }
示例#13
0
 public void Put(string key, SFSDataWrapper val)
 {
     dataHolder[key] = val;
 }
示例#14
0
 public void PutDouble(string key, double val)
 {
     dataHolder[key] = new SFSDataWrapper(SFSDataType.DOUBLE, val);
 }
示例#15
0
 public void PutUtfString(string key, string val)
 {
     dataHolder[key] = new SFSDataWrapper(SFSDataType.UTF_STRING, val);
 }
示例#16
0
 public void PutLong(string key, long val)
 {
     dataHolder[key] = new SFSDataWrapper(SFSDataType.LONG, val);
 }
示例#17
0
 public void PutFloat(string key, float val)
 {
     dataHolder[key] = new SFSDataWrapper(SFSDataType.FLOAT, val);
 }
示例#18
0
 public void PutInt(string key, int val)
 {
     dataHolder[key] = new SFSDataWrapper(SFSDataType.INT, val);
 }
示例#19
0
 public void PutShort(string key, short val)
 {
     dataHolder[key] = new SFSDataWrapper(SFSDataType.SHORT, val);
 }
示例#20
0
 public void PutByte(string key, byte val)
 {
     dataHolder[key] = new SFSDataWrapper(SFSDataType.BYTE, val);
 }
示例#21
0
 public void PutDoubleArray(string key, double[] val)
 {
     dataHolder[key] = new SFSDataWrapper(SFSDataType.DOUBLE_ARRAY, val);
 }
示例#22
0
 public void Add(SFSDataWrapper wrappedObject)
 {
     dataHolder.Add(wrappedObject);
 }
示例#23
0
 public void PutUtfStringArray(string key, string[] val)
 {
     dataHolder[key] = new SFSDataWrapper(SFSDataType.UTF_STRING_ARRAY, val);
 }
示例#24
0
 public void PutBoolArray(string key, bool[] val)
 {
     dataHolder[key] = new SFSDataWrapper(SFSDataType.BOOL_ARRAY, val);
 }
示例#25
0
 public void PutSFSObject(string key, ISFSObject val)
 {
     dataHolder[key] = new SFSDataWrapper(SFSDataType.SFS_OBJECT, val);
 }
示例#26
0
 public void PutByteArray(string key, ByteArray val)
 {
     dataHolder[key] = new SFSDataWrapper(SFSDataType.BYTE_ARRAY, val);
 }
示例#27
0
 public virtual void PutClass(string key, object val)
 {
     dataHolder[key] = new SFSDataWrapper(SFSDataType.CLASS, val);
 }
示例#28
0
 public void PutShortArray(string key, short[] val)
 {
     dataHolder[key] = new SFSDataWrapper(SFSDataType.SHORT_ARRAY, val);
 }
示例#29
0
 public void PutText(string key, string val)
 {
     dataHolder[key] = new SFSDataWrapper(SFSDataType.TEXT, val);
 }
示例#30
0
 public void PutNull(string key)
 {
     dataHolder[key] = new SFSDataWrapper(SFSDataType.NULL, null);
 }