本文整理汇总了C#中Db4objects.Db4o.Internal.LocalObjectContainer.ClassCollection方法的典型用法代码示例。如果您正苦于以下问题:C# LocalObjectContainer.ClassCollection方法的具体用法?C# LocalObjectContainer.ClassCollection怎么用?C# LocalObjectContainer.ClassCollection使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Db4objects.Db4o.Internal.LocalObjectContainer
的用法示例。
在下文中一共展示了LocalObjectContainer.ClassCollection方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ObjectServerImpl
private ObjectServerImpl(LocalObjectContainer container, ServerConfigurationImpl
serverConfig, int port, bool isEmbeddedServer)
{
_isEmbeddedServer = isEmbeddedServer;
_container = container;
_serverConfig = serverConfig;
_socketFactory = serverConfig.Networking.SocketFactory;
_transactionPool = new ClientTransactionPool(container);
_port = port;
_name = "db4o ServerSocket FILE: " + container.ToString() + " PORT:" + _port;
_container.SetServer(true);
ConfigureObjectServer();
_classInfoHelper = new Db4objects.Db4o.CS.Internal.ClassInfoHelper(Db4oClientServerLegacyConfigurationBridge
.AsLegacy(serverConfig));
_container.ClassCollection().CheckAllClassChanges();
bool ok = false;
try
{
EnsureLoadStaticClass();
StartCommittedCallbackThread(_committedInfosQueue);
StartServer();
if (_serverConfig != null)
{
_serverConfig.ApplyConfigurationItems(this);
}
ok = true;
}
finally
{
if (!ok)
{
Close();
}
}
}
示例2: RebuildUUIDIndex
private void RebuildUUIDIndex(LocalObjectContainer file)
{
UUIDFieldMetadata uuid = file.UUIDIndex();
ClassMetadataIterator i = file.ClassCollection().Iterator();
while (i.MoveNext())
{
ClassMetadata clazz = i.CurrentClass();
if (clazz.GenerateUUIDs())
{
uuid.RebuildIndexForClass(file, clazz);
}
}
}
示例3: BuildCommitTimestampIndex
private void BuildCommitTimestampIndex(LocalObjectContainer container)
{
versionFieldMetadata = container.Handlers.Indexes()._version;
ClassMetadataIterator i = container.ClassCollection().Iterator();
while (i.MoveNext())
{
ClassMetadata clazz = i.CurrentClass();
if (clazz.HasVersionField() && !clazz.IsStruct())
{
RebuildIndexForClass(container, clazz);
}
}
}
示例4: TypesFor
public static IDictionary TypesFor(LocalObjectContainer db, Sharpen.Util.ISet ids
)
{
IDictionary id2clazzes = new Hashtable();
ClassMetadataIterator iter = db.ClassCollection().Iterator();
while (iter.MoveNext())
{
for (IEnumerator idIter = ids.GetEnumerator(); idIter.MoveNext(); )
{
int id = ((int)idIter.Current);
ClassMetadata clazz = iter.CurrentClass();
BTree btree = BTreeClassIndexStrategy.Btree(clazz);
if (btree.Search(db.SystemTransaction(), id) != null)
{
Sharpen.Util.ISet clazzes = ((Sharpen.Util.ISet)id2clazzes[id]);
if (clazzes == null)
{
clazzes = new HashSet();
id2clazzes[id] = clazzes;
}
clazzes.Add(clazz);
}
}
}
IDictionary id2clazz = new Hashtable();
for (IEnumerator idIter = id2clazzes.Keys.GetEnumerator(); idIter.MoveNext(); )
{
int id = ((int)idIter.Current);
Sharpen.Util.ISet clazzes = ((Sharpen.Util.ISet)id2clazzes[id]);
ClassMetadata mostSpecific = null;
for (IEnumerator curClazzIter = clazzes.GetEnumerator(); curClazzIter.MoveNext(); )
{
ClassMetadata curClazz = ((ClassMetadata)curClazzIter.Current);
for (IEnumerator cmpClazzIter = clazzes.GetEnumerator(); cmpClazzIter.MoveNext(); )
{
ClassMetadata cmpClazz = ((ClassMetadata)cmpClazzIter.Current);
if (curClazz.Equals(cmpClazz._ancestor))
{
goto OUTER_continue;
}
}
mostSpecific = curClazz;
break;
OUTER_continue: ;
}
OUTER_break: ;
id2clazz[id] = mostSpecific;
}
return id2clazz;
}