Exemple #1
0
        /// <summary>
        /// 初始化辅助数据写入器。
        /// </summary>
        /// <param name="dataWriter">原始数据写入器</param>
        /// <param name="valueFilter">数据筛选器</param>
        public DataFilterWriter(IDataWriter <TKey> dataWriter, IValueFilter <TKey> valueFilter)
        {
            this.dataWriter = dataWriter;
            ValueFilter     = valueFilter;

            ValueInfo = new ValueFilterInfo <TKey>();
        }
 public bool Filter(ValueFilterInfo <TIn> valueInfo)
 {
     return(valueFilter.Filter(new ValueFilterInfo <TOut>(
                                   XConvert <TOut> .Convert(valueInfo.Key),
                                   valueInfo.Type,
                                   valueInfo.ValueCopyer
                                   )));
 }
Exemple #3
0
        public bool Filter(ValueFilterInfo <int> valueInfo)
        {
            if (!Filter(valueInfo.ValueCopyer))
            {
                return(false);
            }

            return(true);
        }
        internal bool OnArrayFilter(IMessagePackWriter messagePackWriter, ValueFilterInfo <int> valueInfo, bool result)
        {
            if (arrayFiltering is null)
            {
                return(result);
            }

            var args = new MessagePackFilteringEventArgs <int>(messagePackWriter, valueInfo, result);

            arrayFiltering(this, ref args);

            return(args.Result);
        }
        internal bool OnObjectFilter(IMessagePackWriter messagePackWriter, ValueFilterInfo <string> valueInfo, bool result)
        {
            if (objectFiltering is null)
            {
                return(result);
            }

            var args = new MessagePackFilteringEventArgs <string>(messagePackWriter, valueInfo, result);

            objectFiltering(this, ref args);

            return(args.Result);
        }
Exemple #6
0
        internal bool OnArrayFilter(IJsonWriter jsonWriter, ValueFilterInfo <int> valueInfo, bool result)
        {
            if (arrayFiltering is null)
            {
                return(result);
            }

            var args = new JsonFilteringEventArgs <int>(jsonWriter, valueInfo, result);

            arrayFiltering(this, ref args);

            return(args.Result);
        }
Exemple #7
0
        internal bool OnObjectFilter(IJsonWriter jsonWriter, ValueFilterInfo <string> valueInfo, bool result)
        {
            if (objectFiltering is null)
            {
                return(result);
            }

            var args = new JsonFilteringEventArgs <string>(jsonWriter, valueInfo, result);

            objectFiltering(this, ref args);

            return(args.Result);
        }
 internal MessagePackFilteringEventArgs(IMessagePackWriter jsonWriter, ValueFilterInfo <TKey> valueInfo, bool result)
 {
     JsonWriter = jsonWriter;
     ValueInfo  = valueInfo;
     Result     = result;
 }
Exemple #9
0
 public bool Filter(ValueFilterInfo <int> valueInfo)
 {
     return(Filter(valueInfo.ValueCopyer));
 }
 public bool Filter(ValueFilterInfo <int> valueInfo) => Filter(valueInfo.ValueCopyer);
 public bool Filter(ValueFilterInfo <string> valueInfo) => Filter(valueInfo.ValueCopyer);
 internal JsonFilteringEventArgs(IJsonWriter jsonWriter, ValueFilterInfo <TKey> valueInfo, bool result)
 {
     JsonWriter = jsonWriter;
     ValueInfo  = valueInfo;
     Result     = result;
 }
Exemple #13
0
        public bool Filter(ValueFilterInfo <int> valueInfo)
        {
            reference = new TargetPathInfo(valueInfo.Key, reference.Parent);

            return(Filter(valueInfo.ValueCopyer));
        }