/
NameValuePair.cs
114 lines (91 loc) · 3.75 KB
/
NameValuePair.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
// Changes may cause incorrect behavior and will be lost if the code is
// regenerated.
//
// This file was autogenerated by a tool.
// Do not modify it.
//
namespace Microsoft.Azure.Batch
{
using Models = Microsoft.Azure.Batch.Protocol.Models;
using System;
using System.Collections.Generic;
using System.Linq;
/// <summary>
/// Represents a name-value pair.
/// </summary>
public partial class NameValuePair : IPropertyMetadata
{
#region Constructors
internal NameValuePair(Models.NameValuePair protocolObject)
{
this.Name = protocolObject.Name;
this.Value = protocolObject.Value;
}
#endregion Constructors
#region NameValuePair
/// <summary>
/// Gets the name in the name-value pair.
/// </summary>
public string Name { get; }
/// <summary>
/// Gets the value in the name-value pair.
/// </summary>
public string Value { get; }
#endregion // NameValuePair
#region IPropertyMetadata
bool IModifiable.HasBeenModified
{
//This class is compile time readonly so it cannot have been modified
get { return false; }
}
bool IReadOnly.IsReadOnly
{
get { return true; }
set
{
// This class is compile time readonly already
}
}
#endregion // IPropertyMetadata
#region Internal/private methods
/// <summary>
/// Converts a collection of protocol layer objects to object layer collection objects.
/// </summary>
internal static IList<NameValuePair> ConvertFromProtocolCollection(IEnumerable<Models.NameValuePair> protoCollection)
{
ConcurrentChangeTrackedModifiableList<NameValuePair> converted = UtilitiesInternal.CollectionToThreadSafeCollectionIModifiable(
items: protoCollection,
objectCreationFunc: o => new NameValuePair(o));
return converted;
}
/// <summary>
/// Converts a collection of protocol layer objects to object layer collection objects, in a frozen state.
/// </summary>
internal static IList<NameValuePair> ConvertFromProtocolCollectionAndFreeze(IEnumerable<Models.NameValuePair> protoCollection)
{
ConcurrentChangeTrackedModifiableList<NameValuePair> converted = UtilitiesInternal.CollectionToThreadSafeCollectionIModifiable(
items: protoCollection,
objectCreationFunc: o => new NameValuePair(o).Freeze());
converted = UtilitiesInternal.CreateObjectWithNullCheck(converted, o => o.Freeze());
return converted;
}
/// <summary>
/// Converts a collection of protocol layer objects to object layer collection objects, with each object marked readonly
/// and returned as a readonly collection.
/// </summary>
internal static IReadOnlyList<NameValuePair> ConvertFromProtocolCollectionReadOnly(IEnumerable<Models.NameValuePair> protoCollection)
{
IReadOnlyList<NameValuePair> converted =
UtilitiesInternal.CreateObjectWithNullCheck(
UtilitiesInternal.CollectionToNonThreadSafeCollection(
items: protoCollection,
objectCreationFunc: o => new NameValuePair(o).Freeze()), o => o.AsReadOnly());
return converted;
}
#endregion // Internal/private methods
}
}