Updates referencesource to .NET 4.7
[mono.git] / mcs / class / referencesource / System.Data.Entity.Design / System / Data / EntityModel / EdmToObjectNamespaceMap.cs
1 //---------------------------------------------------------------------
2 // <copyright file="EdmToObjectNamespaceMap.cs" company="Microsoft">
3 //      Copyright (c) Microsoft Corporation.  All rights reserved.
4 // </copyright>
5 //
6 // @owner       Microsoft
7 // @backupOwner Microsoft
8 //---------------------------------------------------------------------
9 using System;
10 using System.Collections.Generic;
11 using System.Linq;
12 using System.Text;
13 using System.Data.Entity.Design.Common;
14
15 namespace System.Data.Entity.Design
16 {
17     /// <summary>
18     /// The class to hold the map entries for the mapping between Edm Namespace and the Object Namespace
19     /// </summary>
20     [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId = "Edm")]
21     public class EdmToObjectNamespaceMap
22     {
23         private Dictionary<string, string> _map = new Dictionary<string, string>();
24
25         /// <summary>
26         /// this is just to keep this class from being creatable outside of this assembly
27         /// </summary>
28         internal EdmToObjectNamespaceMap()
29         {
30         }
31
32         [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId = "edm")]
33         public void Add(string edmNamespace, string objectNamespace)
34         {
35             EDesignUtil.CheckStringArgument(edmNamespace, "edmNamespace");
36             EDesignUtil.CheckArgumentNull(objectNamespace, "objectNamespace");
37
38             _map.Add(edmNamespace, objectNamespace);
39         }
40
41         [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId = "edm")]
42         public bool Contains(string edmNamespace)
43         {
44             return _map.ContainsKey(edmNamespace);
45         }
46
47         [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId = "Edm")]
48         public ICollection<string> EdmNamespaces
49         {
50             get { return _map.Keys; }
51         }
52
53         [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId = "edm")]
54         public bool Remove(string edmNamespace)
55         {
56             return _map.Remove(edmNamespace);
57         }
58
59         [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId = "edm")]
60         public bool TryGetObjectNamespace(string edmNamespace, out string objectNamespace)
61         {
62             return _map.TryGetValue(edmNamespace, out objectNamespace);
63         }
64
65         [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId = "edm")]
66         public string this[string edmNamespace]
67         {
68             get
69             {
70                 return _map[edmNamespace];
71             }
72             set
73             {
74                 _map[edmNamespace] = value;
75             }
76         }
77
78         public void Clear()
79         {
80             _map.Clear();
81         }
82
83         public int Count
84         {
85             get { return _map.Count; }
86         }
87
88         internal Dictionary<string, string> AsDictionary()
89         {
90             return _map;
91         }
92     }
93 }