public Reader(Stream input, IImmutableDictionary <string, IReadHandler> handlers, IDefaultReadHandler <object> defaultHandler) { this.initialized = false; this.input = input; this.handlers = handlers; this.defaultHandler = defaultHandler; this.cache = new ReadCache(); }
/// <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; }
/// <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; }
/// <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; }
/// <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; }
/// <summary> /// Creates a reader instance. /// </summary> /// <param name="type">The format to read in.</param> /// <param name="input">The input stream to read from.</param> /// <param name="customHandlers"> /// A dictionary of custom ReadHandlers to use in addition or in place of the default ReadHandlers. /// </param> /// <param name="customDefaultHandler"> /// A DefaultReadHandler to use for processing encoded values for which there is no read handler. /// </param> /// <returns>A reader.</returns> public static IReader Reader(Format type, Stream input, IImmutableDictionary <string, IReadHandler> customHandlers, IDefaultReadHandler <object> customDefaultHandler) { switch (type) { case Format.Json: case Format.JsonVerbose: // TODO: Check if this is true in C# too. // JSON parser creation blocks on input stream until 4 bytes // are available to determine character encoding - this is // unexpected, so defer creation until first read return(new DeferredJsonReader(input, customHandlers, customDefaultHandler)); case Format.MsgPack: return(ReaderFactory.GetMsgPackInstance(input, customHandlers, customDefaultHandler)); default: throw new ArgumentException("Unknown Reader type: " + type.ToString()); } }
public JsonReader(Stream input, IImmutableDictionary <string, IReadHandler> handlers, IDefaultReadHandler <object> defaultHandler) : base(input, handlers, defaultHandler) { }
/// <summary> /// Gets the MessagePack instance. /// </summary> /// <param name="input">The input.</param> /// <param name="customHandlers">The custom handlers.</param> /// <param name="customDefaultHandler">The custom default handler.</param> /// <returns>A reader.</returns> public static IReader GetMsgPackInstance(Stream input, IImmutableDictionary <string, IReadHandler> customHandlers, IDefaultReadHandler <object> customDefaultHandler) { throw new NotImplementedException(); }
/// <summary> /// Gets the JSON instance. /// </summary> /// <param name="input">The input.</param> /// <param name="customHandlers">The custom handlers.</param> /// <param name="customDefaultHandler">The custom default handler.</param> /// <returns>A reader.</returns> public static IReader GetJsonInstance(Stream input, IImmutableDictionary <string, IReadHandler> customHandlers, IDefaultReadHandler <object> customDefaultHandler) { return(new JsonReader(input, Handlers(customHandlers), DefaultHandler(customDefaultHandler))); }
private static IDefaultReadHandler <object> DefaultHandler(IDefaultReadHandler <object> customDefaultHandler) { return(customDefaultHandler != null ? customDefaultHandler : DefaultDefaultHandler()); }
public DeferredJsonReader(Stream input, IImmutableDictionary <string, IReadHandler> customHandlers, IDefaultReadHandler <object> customDefaultHandler) { this.input = input; this.customHandlers = customHandlers; this.customDefaultHandler = customDefaultHandler; }
/// <summary> /// Creates a reader instance. /// </summary> /// <param name="type">The format to read in.</param> /// <param name="input">The input stream to read from.</param> /// <param name="customDefaultHandler"> /// A DefaultReadHandler to use for processing encoded values for which there is no read handler /// </param> /// <returns>A reader</returns> public static IReader Reader(Format type, Stream input, IDefaultReadHandler <object> customDefaultHandler) { return(Reader(type, input, null, customDefaultHandler)); }