コード例 #1
0
 public IReader SetBuilders(
     IDictionaryReader dictionaryBuilder,
     IListReader listBuilder)
 {
     this.dictionaryBuilder = dictionaryBuilder;
     this.listBuilder       = listBuilder;
     return(this);
 }
コード例 #2
0
 public void Init()
 {
     m_list = new List<string>
     {
         Element
     };
     m_reader = m_list.GetReader();
 }
コード例 #3
0
 public ListsController(IListAuthoriser listAuthoriser, IListWriter listWriter, IListReader listReader, IAzureStorageManager storageManager, IContentDeliveryNetworkResolver cdnResolver)
 {
     _listAuthoriser = listAuthoriser;
     _listWriter     = listWriter;
     _listReader     = listReader;
     _storageManager = storageManager;
     _cdnResolver    = cdnResolver;
 }
コード例 #4
0
ファイル: JsonParser.cs プロジェクト: thickey/transit-csharp
 /// <summary>
 /// Initializes a new instance of the <see cref="JsonParser"/> class.
 /// </summary>
 /// <param name="jsonTextReader">The json text reader.</param>
 /// <param name="handlers">The handlers.</param>
 /// <param name="defaultHandler">The default handler.</param>
 /// <param name="dictionaryBuilder">The dictionary builder.</param>
 /// <param name="listBuilder">The list builder.</param>
 public JsonParser(
     JsonTextReader jsonTextReader,
     IImmutableDictionary<string, IReadHandler> handlers,
     IDefaultReadHandler<object> defaultHandler,
     IDictionaryReader dictionaryBuilder,
     IListReader listBuilder)
     : base(handlers, defaultHandler, dictionaryBuilder, listBuilder)
 {
     this.jp = jsonTextReader;
 }
コード例 #5
0
 /// <summary>
 /// Initializes a new instance of the <see cref="AbstractParser"/> class.
 /// </summary>
 /// <param name="handlers">The handlers.</param>
 /// <param name="defaultHandler">The default handler.</param>
 /// <param name="dictionaryBuilder">The dictionary builder.</param>
 /// <param name="listBuilder">The list builder.</param>
 protected AbstractParser(IImmutableDictionary<string, IReadHandler> handlers,
     IDefaultReadHandler<object> defaultHandler,
     IDictionaryReader dictionaryBuilder,
     IListReader listBuilder)
 {
     this.handlers = handlers;
     this.defaultHandler = defaultHandler;
     this.dictionaryBuilder = (IDictionaryReader)dictionaryBuilder;
     this.listBuilder = (IListReader)listBuilder;
 }
コード例 #6
0
 /// <summary>
 /// Initializes a new instance of the <see cref="AbstractParser"/> class.
 /// </summary>
 /// <param name="handlers">The handlers.</param>
 /// <param name="defaultHandler">The default handler.</param>
 /// <param name="dictionaryBuilder">The dictionary builder.</param>
 /// <param name="listBuilder">The list builder.</param>
 protected AbstractParser(IImmutableDictionary <string, IReadHandler> handlers,
                          IDefaultReadHandler <object> defaultHandler,
                          IDictionaryReader dictionaryBuilder,
                          IListReader listBuilder)
 {
     this.handlers          = handlers;
     this.defaultHandler    = defaultHandler;
     this.dictionaryBuilder = (IDictionaryReader)dictionaryBuilder;
     this.listBuilder       = (IListReader)listBuilder;
 }
コード例 #7
0
ファイル: JsonParser.cs プロジェクト: thickey/transit-csharp
 /// <summary>
 /// Initializes a new instance of the <see cref="JsonParser"/> class.
 /// </summary>
 /// <param name="jsonTextReader">The json text reader.</param>
 /// <param name="handlers">The handlers.</param>
 /// <param name="defaultHandler">The default handler.</param>
 /// <param name="dictionaryBuilder">The dictionary builder.</param>
 /// <param name="listBuilder">The list builder.</param>
 public JsonParser(
     JsonTextReader jsonTextReader,
     IImmutableDictionary <string, IReadHandler> handlers,
     IDefaultReadHandler <object> defaultHandler,
     IDictionaryReader dictionaryBuilder,
     IListReader listBuilder)
     : base(handlers, defaultHandler, dictionaryBuilder, listBuilder)
 {
     this.jp = jsonTextReader;
 }
コード例 #8
0
            public IReader SetBuilders(IDictionaryReader dictionaryBuilder, IListReader listBuilder)
            {
                if (initialized)
                {
                    throw new TransitException("Cannot set builders after read has been called.");
                }

                this.dictionaryBuilder = dictionaryBuilder;
                this.listBuilder       = listBuilder;
                return(this);
            }
コード例 #9
0
            private void EnsureBuilders()
            {
                if (dictionaryBuilder == null)
                {
                    dictionaryBuilder = new DictionaryBuilder();
                }

                if (listBuilder == null)
                {
                    listBuilder = new ListBuilder();
                }
            }
コード例 #10
0
        public ExpendableListLogReader(ILogConsumer consumer,IListReader listWriter)
        {
            m_listWriter = listWriter;
            m_consumer = consumer;
            BinaryPackageDefinitionToGenericUnpackageDefinition packageDefinitionToGenericUnpackageDefinition = new BinaryPackageDefinitionToGenericUnpackageDefinition();
            m_dataUnpacker.AddPackageDefinition(packageDefinitionToGenericUnpackageDefinition);
            m_dataUnpacker.AddPackageDefinition(new GenericPropertyUnpackageDefinition());
            m_dataUnpacker.AddPackageDefinition(new ConstGenericPropertyUnpackageDefinition());
            var cacheStringUnpackageDefinition = new CacheStringUnpackageDefinition();
            m_dataUnpacker.AddPackageDefinition(cacheStringUnpackageDefinition);

            packageDefinitionToGenericUnpackageDefinition.PackageDefinitionRegistred += OnPackageDefinitionRegistred;
            cacheStringUnpackageDefinition.CacheStringDeserializer += OnCacheStringDeserializer;
        }
コード例 #11
0
 public TodoItemsController(ITodoItemsWriter todoItemsWriter, ITodoItemsReader todoItemsReader, IListReader listReader, IListAuthoriser listAuthoriser)
 {
     _todoItemsWriter = todoItemsWriter;
     _todoItemsReader = todoItemsReader;
     _listAuthoriser  = listAuthoriser;
 }
コード例 #12
0
 public SearchController(IListReader listReader, ITodoItemsReader taskReader)
 {
     _listReader = listReader;
     _taskReader = taskReader;
 }
コード例 #13
0
 public ListAuthoriser(IListReader listReader)
 {
     _listReader = listReader;
 }
コード例 #14
0
ファイル: JsonParser.cs プロジェクト: thickey/transit-csharp
        /// <summary>
        /// Parses the list.
        /// </summary>
        /// <param name="asDictionaryKey">If set to <c>true</c> [as dictionary key].</param>
        /// <param name="cache">The cache.</param>
        /// <param name="handler">The handler.</param>
        /// <returns>
        /// The parsed list.
        /// </returns>
        public override object ParseList(bool asDictionaryKey, ReadCache cache, IListReadHandler handler)
        {
            // if nextToken == JsonToken.EndArray
            if (jp.NextToken() != JsonToken.EndArray)
            {
                object firstVal = ParseVal(false, cache);
                if (firstVal != null)
                {
                    if (firstVal is string && (string)firstVal == Constants.DirectoryAsList)
                    {
                        // if the same, build a map w/ rest of array contents
                        return(ParseDictionary(false, cache, null, JsonToken.EndArray));
                    }
                    else
                    if (firstVal is Tag)
                    {
                        if (firstVal is Tag)
                        {
                            object val;
                            jp.Read();     // advance to value
                            string       tag = ((Tag)firstVal).GetValue();
                            IReadHandler val_handler;
                            if (TryGetHandler(tag, out val_handler))
                            {
                                if (this.jp.TokenType == JsonToken.StartObject && val_handler is IDictionaryReadHandler)
                                {
                                    // use map reader to decode value
                                    val = ParseDictionary(false, cache, (IDictionaryReadHandler)val_handler);
                                }
                                else
                                if (this.jp.TokenType == JsonToken.StartArray && val_handler is IListReadHandler)
                                {
                                    // use array reader to decode value
                                    val = ParseList(false, cache, (IListReadHandler)val_handler);
                                }
                                else
                                {
                                    // read value and decode normally
                                    val = val_handler.FromRepresentation(ParseVal(false, cache));
                                }
                            }
                            else
                            {
                                // default decode
                                val = this.Decode(tag, ParseVal(false, cache));
                            }
                            jp.Read();     // advance past end of object or array
                            return(val);
                        }
                    }
                }

                IListReader lr = (handler != null) ? handler.ListReader() : listBuilder;
                object      l  = lr.Init();
                l = lr.Add(l, firstVal);
                while (jp.NextToken() != JsonToken.EndArray)
                {
                    l = lr.Add(l, ParseVal(false, cache));
                }
                return(lr.Complete(l));
            }

            // array is empty
            return(listBuilder.Complete(listBuilder.Init()));
        }