Beispiel #1
0
        public Kv1TextReader(TextReader textReader, IParsingVisitationListener listener, KvSerializerOptions options)
        {
            Require.NotNull(textReader, nameof(textReader));
            Require.NotNull(listener, nameof(listener));
            Require.NotNull(options, nameof(options));

            _listener = listener;
            _options  = options;

            _conditionEvaluator = new KvConditionEvaluator(options.Conditions);
            _tokenReader        = new Kv1TokenReader(textReader, options);
            _stateMachine       = new Kv1TextReaderStateMachine();
        }
Beispiel #2
0
        public KV1TextReader(TextReader textReader, IParsingVisitationListener listener, KVSerializerOptions options)
        {
            Require.NotNull(textReader, nameof(textReader));
            Require.NotNull(listener, nameof(listener));
            Require.NotNull(options, nameof(options));

            this.listener = listener;
            this.options  = options;

            conditionEvaluator = new KVConditionEvaluator(options.Conditions);
            tokenReader        = new KV1TokenReader(textReader, options);
            stateMachine       = new KV1TextReaderStateMachine();
        }
Beispiel #3
0
        private IVisitingReader MakeReader(Stream stream, IParsingVisitationListener listener, KvSerializerOptions options)
        {
            Require.NotNull(stream, nameof(stream));
            Require.NotNull(listener, nameof(listener));
            Require.NotNull(options, nameof(options));

            switch (_format)
            {
            case KvSerializationFormat.KeyValues1Text:
                return(new Kv1TextReader(new StreamReader(stream), listener, options));

            case KvSerializationFormat.KeyValues1Binary:
                return(new Kv1BinaryReader(stream, listener, options));

            default:
                throw new ArgumentOutOfRangeException(nameof(_format), _format, "Invalid serialization format.");
            }
        }