public void WriteMetadata(XmlWriter writer, MetadataBase metadata) { if (writer == null) { throw new ArgumentNullException(nameof(writer)); } if (metadata == null) { throw new ArgumentNullException(nameof(metadata)); } WriteMetadataCore(writer, metadata); }
public void WriteMetadata(Stream stream, MetadataBase metadata) { if (stream == null) { throw new ArgumentNullException(nameof(stream)); } if (metadata == null) { throw new ArgumentNullException(nameof(metadata)); } using (var writer = XmlDictionaryWriter.CreateTextWriter(stream, Encoding.UTF8, false)) { WriteMetadata(writer, metadata); } }
protected virtual void WriteMetadataCore(XmlWriter writer, MetadataBase metadata) { if (writer == null) { throw new ArgumentNullException(nameof(writer)); } if (metadata == null) { throw new ArgumentNullException(nameof(metadata)); } if (metadata is EntitiesDescriptor entities) { WriteEntitiesDescriptor(writer, entities); } else if (metadata is EntityDescriptor entity) { WriteEntityDescriptor(writer, entity); } else { throw new MetadataSerializationException("Unsupported metadata entity"); } }