view Implab/Xml/JsonXmlReaderOptions.cs @ 248:5cb4826c2c2a v3

Added awaiters to promises Added static methods to Promise Resolve, Reject, All. Updated promise helpers
author cin
date Tue, 30 Jan 2018 01:37:17 +0300
parents 6fa235c5a760
children 74e048cbaac8
line wrap: on
line source


using System;
using System.Xml;

namespace Implab.Xml {
    /// <summary>
    /// Набор необязательных параметров для <see cref="JsonXmlReader"/>, позволяющий управлять процессом
    /// интерпретации <c>JSON</c> документа.
    /// </summary>
    public class JsonXmlReaderOptions : ICloneable {
        /// <summary>
        /// Пространство имен в котором будут располагаться читаемые элементы документа
        /// </summary>
        public string NamespaceUri {
            get;
            set;
        }

        /// <summary>
        /// Интерпретировать массивы как множественные элементы (убирает один уровень вложенности), иначе массив
        /// представляется в виде узла, дочерними элементами которого являются элементы массива, имена дочерних элементов
        /// определяются свойством <see cref="ArrayItemName"/>. По умолчанию <c>false</c>.
        /// </summary>
        public bool FlattenArrays {
            get;
            set;
        }

        /// <summary>
        /// Префикс, для узлов документа
        /// </summary>
        public string NodesPrefix {
            get;
            set;
        }

        /// <summary>
        /// Имя корневого элемента в xml документе
        /// </summary>
        public string RootName {
            get;
            set;
        }

        /// <summary>
        /// Имя элемента для массивов, если не включена опция <see cref="FlattenArrays"/>.
        /// По умолчанию <c>item</c>.
        /// </summary>
        public string ArrayItemName {
            get;
            set;
        }

        /// <summary>
        /// Таблица атомизированных строк для построения документа.
        /// </summary>
        public XmlNameTable NameTable {
            get;
            set;
        }

        public object Clone() {
            return MemberwiseClone();
        }
    }
}