ArrowFieldInternal
Groups settings regarding specific field of an arrow schema.
using Azure.Core;
using Azure.Storage.Common;
using System.Xml;
namespace Azure.Storage.Blobs.Models
{
[CodeGenModel("ArrowField")]
internal class ArrowFieldInternal : IXmlSerializable
{
public string Type { get; }
public string Name { get; set; }
public int? Precision { get; set; }
public int? Scale { get; set; }
public ArrowFieldInternal(string type)
{
Argument.AssertNotNull(type, "type");
Type = type;
}
internal ArrowFieldInternal(string type, string name, int? precision, int? scale)
{
Type = type;
Name = name;
Precision = precision;
Scale = scale;
}
void IXmlSerializable.Write(XmlWriter writer, string nameHint)
{
writer.WriteStartElement(nameHint ?? "Field");
writer.WriteStartElement("Type");
writer.WriteValue(Type);
writer.WriteEndElement();
if (Optional.IsDefined(Name)) {
writer.WriteStartElement("Name");
writer.WriteValue(Name);
writer.WriteEndElement();
}
if (Optional.IsDefined(Precision)) {
writer.WriteStartElement("Precision");
writer.WriteValue(Precision.Value);
writer.WriteEndElement();
}
if (Optional.IsDefined(Scale)) {
writer.WriteStartElement("Scale");
writer.WriteValue(Scale.Value);
writer.WriteEndElement();
}
writer.WriteEndElement();
}
}
}