예제 #1
0
        public DocumentJsonWriter(DocumentSerializationMeta documentMeta, TextWriter textWriter, SerializationConventions conventions)
            : base(textWriter)
        {
            Ensure.That(documentMeta, "documentMeta").IsNotNull();
            Ensure.That(conventions, "conventions").IsNotNull();

            HasWrittenDocumentMeta = false;
            DocumentMeta           = documentMeta;
            Conventions            = conventions;
            ConventionWriter       = new SerializationConventionWriter(this);
        }
예제 #2
0
        public DocumentJsonWriter(TextWriter textWriter, DocumentSerializationMeta documentMeta, SerializationConventions conventions, IEntityReflector entityReflector)
            : base(textWriter)
        {
            Ensure.That(documentMeta, "documentMeta").IsNotNull();
            Ensure.That(conventions, "conventions").IsNotNull();
            Ensure.That(conventions, "entityReflector").IsNotNull();

            HasWrittenDocumentMeta = false;
            DocumentMeta           = documentMeta;
            Conventions            = conventions;
            ConventionWriter       = new SerializationConventionWriter(this);
            EntityReflector        = entityReflector;
            CloseOutput            = false;
        }
예제 #3
0
        public DocumentJsonWriter(TextWriter textWriter, DocumentSerializationMeta documentMeta, SerializationConventions conventions, IEntityReflector entityReflector)
            : base(textWriter)
        {
            EnsureArg.IsNotNull(documentMeta, nameof(documentMeta));
            EnsureArg.IsNotNull(conventions, nameof(conventions));
            EnsureArg.IsNotNull(entityReflector, nameof(entityReflector));

            HasWrittenDocumentMeta = false;
            DocumentMeta           = documentMeta;
            Conventions            = conventions;
            ConventionWriter       = new SerializationConventionWriter(this);
            EntityReflector        = entityReflector;
            CloseOutput            = false;
        }
예제 #4
0
        protected virtual void WriteDocumentMetaConvention(ISerializationConvention convention, DocumentSerializationMeta meta)
        {
            if (convention == null)
            {
                return;
            }

            convention.Apply(meta, ConventionWriter);
        }
예제 #5
0
 protected virtual void WriteDocumentMeta(DocumentSerializationMeta meta)
 {
     WriteDocumentMetaConvention(Conventions.DocType, meta);
     WriteDocumentMetaConvention(Conventions.DocNamespace, meta);
     WriteDocumentMetaConvention(Conventions.DocVersion, meta);
 }
 public virtual void Apply(DocumentSerializationMeta meta, ISerializationConventionWriter writer)
 {
     WriteIfValueExists(Convention(meta), writer);
 }