ContainerItemInternal
class ContainerItemInternal
An Azure Storage container.
using Azure.Core;
using Azure.Storage.Common;
using System.Collections.Generic;
using System.Xml.Linq;
namespace Azure.Storage.Blobs.Models
{
[CodeGenModel("ContainerItem")]
internal class ContainerItemInternal
{
public string Name { get; }
public bool? Deleted { get; }
public string Version { get; }
public ContainerPropertiesInternal Properties { get; }
public IReadOnlyDictionary<string, string> Metadata { get; }
internal ContainerItemInternal(string name, ContainerPropertiesInternal properties)
{
Argument.AssertNotNull(name, "name");
Argument.AssertNotNull(properties, "properties");
Name = name;
Properties = properties;
Metadata = new ChangeTrackingDictionary<string, string>();
}
internal ContainerItemInternal(string name, bool? deleted, string version, ContainerPropertiesInternal properties, IReadOnlyDictionary<string, string> metadata)
{
Name = name;
Deleted = deleted;
Version = version;
Properties = properties;
Metadata = metadata;
}
internal static ContainerItemInternal DeserializeContainerItemInternal(XElement element)
{
string name = null;
bool? deleted = null;
string version = null;
ContainerPropertiesInternal properties = null;
IReadOnlyDictionary<string, string> metadata = null;
XElement xElement = element.Element("Name");
if (xElement != null)
name = (string)xElement;
XElement xElement2 = element.Element("Deleted");
if (xElement2 != null)
deleted = (bool?)xElement2;
XElement xElement3 = element.Element("Version");
if (xElement3 != null)
version = (string)xElement3;
XElement xElement4 = element.Element("Properties");
if (xElement4 != null)
properties = ContainerPropertiesInternal.DeserializeContainerPropertiesInternal(xElement4);
XElement xElement5 = element.Element("Metadata");
if (xElement5 != null) {
Dictionary<string, string> dictionary = new Dictionary<string, string>();
foreach (XElement item in xElement5.Elements()) {
dictionary.Add(item.Name.LocalName, (string)item);
}
metadata = dictionary;
}
return new ContainerItemInternal(name, deleted, version, properties, metadata);
}
}
}