Added support for SSL, Ldap Events, Edir Events
[mono.git] / mcs / class / Novell.Directory.Ldap / Novell.Directory.Ldap.Utilclass / AttributeQualifier.cs
1 /******************************************************************************
2 * The MIT License
3 * Copyright (c) 2003 Novell Inc.  www.novell.com
4
5 * Permission is hereby granted, free of charge, to any person obtaining  a copy
6 * of this software and associated documentation files (the Software), to deal
7 * in the Software without restriction, including  without limitation the rights
8 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 
9 * copies of the Software, and to  permit persons to whom the Software is 
10 * furnished to do so, subject to the following conditions:
11
12 * The above copyright notice and this permission notice shall be included in 
13 * all copies or substantial portions of the Software.
14
15 * THE SOFTWARE IS PROVIDED AS IS, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 
16 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 
17 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 
19 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 * SOFTWARE.
22 *******************************************************************************/
23 //
24 // Novell.Directory.Ldap.Utilclass.AttributeQualifier.cs
25 //
26 // Author:
27 //   Sunil Kumar (Sunilk@novell.com)
28 //
29 // (C) 2003 Novell, Inc (http://www.novell.com)
30 //
31
32 using System;
33
34 namespace Novell.Directory.Ldap.Utilclass
35 {
36         
37         /// <summary> Encapsulates a qualifier in a Schema definition.  Definitions that are not
38         /// in rfc2252.  Begins with 'X-'
39         /// </summary>
40         public class AttributeQualifier
41         {
42                 virtual public System.String Name
43                 {
44                         /*
45                         public void addValue( String value )
46                         {
47                         values.add( value );
48                         return;
49                         }
50                         */
51                         
52                         get
53                         {
54                                 return name;
55                         }
56                         
57                 }
58                 virtual public System.String[] Values
59                 {
60                         get
61                         {
62                                 System.String[] strValues = null;
63                                 if (values.Count > 0)
64                                 {
65                                         strValues = new System.String[values.Count];
66                                         for (int i = 0; i < values.Count; i++)
67                                         {
68                                                 strValues[i] = ((System.String) values[i]);
69                                         }
70                                 }
71                                 return strValues;
72                         }
73                         
74                 }
75                 internal System.String name;
76                 internal System.Collections.ArrayList values;
77                 
78                 public AttributeQualifier(System.String name, System.String[] value_Renamed)
79                 {
80                         if ((System.Object) name == null || value_Renamed == null)
81                         {
82                                 throw new System.ArgumentException("A null name or value " + "was passed in for a schema definition qualifier");
83                         }
84                         this.name = name;
85                         values = new System.Collections.ArrayList(5);
86                         for (int i = 0; i < value_Renamed.Length; i++)
87                         {
88                                 values.Add(value_Renamed[i]);
89                         }
90                         return ;
91                 }
92         }
93 }