DeveelDB  20151217
complete SQL database system, primarly developed for .NET/Mono frameworks
Public Member Functions | Properties | Private Attributes | List of all members
Deveel.Data.Types.UserTypeInfo Class Reference
Inheritance diagram for Deveel.Data.Types.UserTypeInfo:
Deveel.Data.Sql.IObjectInfo

Public Member Functions

 UserTypeInfo (ObjectName typeName)
 
 UserTypeInfo (ObjectName typeName, ObjectName parentType)
 
UserTypeMember FindMember (string name)
 
int IndexOfMember (string name)
 

Properties

ObjectName TypeName [get, private set]
 
bool IsSealed [get, set]
 
ObjectName ParentType [get, private set]
 
UserTypeMember this[int offset] [get]
 
DbObjectType IObjectInfo. ObjectType [get]
 
ObjectName IObjectInfo. FullName [get]
 
- Properties inherited from Deveel.Data.Sql.IObjectInfo
DbObjectType ObjectType [get]
 
ObjectName FullName [get]
 

Private Attributes

readonly Dictionary< string, UserTypeMembermemberNamesCache
 
List< UserTypeMembermembers
 

Detailed Description

Definition at line 23 of file UserTypeInfo.cs.

Constructor & Destructor Documentation

Deveel.Data.Types.UserTypeInfo.UserTypeInfo ( ObjectName  typeName)
inline

Definition at line 27 of file UserTypeInfo.cs.

28  : this(typeName, null) {
29  }
Deveel.Data.Types.UserTypeInfo.UserTypeInfo ( ObjectName  typeName,
ObjectName  parentType 
)
inline

Definition at line 31 of file UserTypeInfo.cs.

31  {
32  if (typeName == null)
33  throw new ArgumentNullException("typeName");
34 
35  TypeName = typeName;
36  ParentType = parentType;
37 
38  memberNamesCache = new Dictionary<string, UserTypeMember>();
39  }
readonly Dictionary< string, UserTypeMember > memberNamesCache
Definition: UserTypeInfo.cs:24

Member Function Documentation

UserTypeMember Deveel.Data.Types.UserTypeInfo.FindMember ( string  name)
inline

Definition at line 51 of file UserTypeInfo.cs.

51  {
52  UserTypeMember member;
53  if (!memberNamesCache.TryGetValue(name, out member)) {
54  foreach (var typeMember in members) {
55  if (typeMember.MemberName.Equals(name, StringComparison.OrdinalIgnoreCase)) {
56  memberNamesCache[typeMember.MemberName] = typeMember;
57  member = typeMember;
58  break;
59  }
60  }
61  }
62 
63  return member;
64  }
readonly Dictionary< string, UserTypeMember > memberNamesCache
Definition: UserTypeInfo.cs:24
List< UserTypeMember > members
Definition: UserTypeInfo.cs:25
int Deveel.Data.Types.UserTypeInfo.IndexOfMember ( string  name)
inline

Definition at line 66 of file UserTypeInfo.cs.

66  {
67  for (int i = 0; i < members.Count; i++) {
68  var typeMember = members[i];
69  if (typeMember.MemberName.Equals(name, StringComparison.OrdinalIgnoreCase)) {
70  return i;
71  }
72  }
73 
74  return -1;
75  }
List< UserTypeMember > members
Definition: UserTypeInfo.cs:25

Member Data Documentation

readonly Dictionary<string, UserTypeMember> Deveel.Data.Types.UserTypeInfo.memberNamesCache
private

Definition at line 24 of file UserTypeInfo.cs.

List<UserTypeMember> Deveel.Data.Types.UserTypeInfo.members
private

Definition at line 25 of file UserTypeInfo.cs.

Property Documentation

ObjectName IObjectInfo. Deveel.Data.Types.UserTypeInfo.FullName
getprivate

Definition at line 81 of file UserTypeInfo.cs.

bool Deveel.Data.Types.UserTypeInfo.IsSealed
getset

Definition at line 43 of file UserTypeInfo.cs.

DbObjectType IObjectInfo. Deveel.Data.Types.UserTypeInfo.ObjectType
getprivate

Definition at line 77 of file UserTypeInfo.cs.

ObjectName Deveel.Data.Types.UserTypeInfo.ParentType
getprivate set

Definition at line 45 of file UserTypeInfo.cs.

UserTypeMember Deveel.Data.Types.UserTypeInfo.this[int offset]
get

Definition at line 47 of file UserTypeInfo.cs.

ObjectName Deveel.Data.Types.UserTypeInfo.TypeName
getprivate set

Definition at line 41 of file UserTypeInfo.cs.


The documentation for this class was generated from the following file: