Refactored the Kernel registration fluent interface to be more readable, better suppo...
[castle.git] / Experiments / AnakiaNet / Anakia / DocData / ClassDocData.cs
blob81969083dfc2548789f7bb310296fc802e505b30
1 // Copyright 2004-2008 Castle Project - http://www.castleproject.org/
2 //
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
6 //
7 // http://www.apache.org/licenses/LICENSE-2.0
8 //
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
15 namespace Anakia.DocData
17 using System;
19 public enum Visibility
21 Public,
22 NestedPublic,
23 Family,
24 FamilyOrAssembly
27 public enum ClassType
29 Class,
30 Interface
33 public class ClassDocData : CommonDocData
35 private readonly ClassType classType;
36 internal string name;
37 internal string id;
38 internal Visibility access;
40 internal ConstructorDocData[] constructors;
41 internal PropertyDocData[] properties;
42 internal MethodDocData[] methods;
43 internal EventDocData[] events;
45 public ClassDocData(ClassType classType)
47 this.classType = classType;
50 public ClassType ClassType
52 get { return classType; }
55 public string Name
57 get { return name; }
60 public string Id
62 get { return id; }
65 public Visibility Access
67 get { return access; }
70 public ConstructorDocData[] Constructors
72 get { return constructors; }
75 public PropertyDocData[] Properties
77 get { return properties; }
80 public MethodDocData[] Methods
82 get { return methods; }
85 public EventDocData[] Events
87 get { return events; }