public override object ShallowClone() { var tso = new TreeStringObject (_key, _value); return(ShallowCloneInternal(tso)); }
/// <param name="name">a fully qualified class name</param> /// <returns>the statistics for the class with the given name</returns> public virtual Db4objects.Db4o.Filestats.ClassUsageStats ClassStats(string name) { TreeStringObject found = (TreeStringObject)Tree.Find(_classUsageStats, new TreeStringObject (name, null)); return(found == null ? null : ((Db4objects.Db4o.Filestats.ClassUsageStats)found._value )); }
public void Visit(object obj) { TreeStringObject node = (TreeStringObject)obj; long[] newIDs = ((IStoredClass)node._value).GetIDs(); for (int j = 0; j < newIDs.Length; j++) { if (((Tree)ids.value).Find(new TreeInt((int)newIDs[j])) == null) { ids.value = ((TreeInt)((Tree)ids.value).Add(new TreeInt((int)newIDs[j]))); } } Sharpen.Runtime.Out.WriteLine(node._key + ": " + newIDs.Length); }
internal virtual void AddClassStats(Db4objects.Db4o.Filestats.ClassUsageStats classStats ) { _classUsageStats = ((TreeStringObject)Tree.Add(_classUsageStats, new TreeStringObject (classStats.ClassName(), classStats))); }
private void PrintStats(IObjectContainer con, string filename) { Tree unavailable = new TreeString(Remove); Tree noConstructor = new TreeString(Remove); // one element too many, substract one in the end IStoredClass[] internalClasses = con.Ext().StoredClasses(); for (int i = 0; i < internalClasses.Length; i++) { string internalClassName = internalClasses[i].GetName(); Type clazz = ReflectPlatform.ForName(internalClassName); if (clazz == null) { unavailable = unavailable.Add(new TreeString(internalClassName)); } else { if (!CanCallConstructor(internalClassName)) { noConstructor = noConstructor.Add(new TreeString(internalClassName)); } } } unavailable = unavailable.RemoveLike(new TreeString(Remove)); noConstructor = noConstructor.RemoveLike(new TreeString(Remove)); if (unavailable != null) { PrintHeader("UNAVAILABLE"); unavailable.Traverse(new _IVisitor4_80()); } if (noConstructor != null) { PrintHeader("NO PUBLIC CONSTRUCTOR"); noConstructor.Traverse(new _IVisitor4_88()); } PrintHeader("CLASSES"); Sharpen.Runtime.Out.WriteLine("Number of objects per class:"); ByRef ids = ByRef.NewInstance(new TreeInt(0)); if (internalClasses.Length > 0) { Tree all = new TreeStringObject(internalClasses[0].GetName(), internalClasses[0]); for (int i = 1; i < internalClasses.Length; i++) { all = all.Add(new TreeStringObject(internalClasses[i].GetName(), internalClasses[ i])); } all.Traverse(new _IVisitor4_107(ids)); } PrintHeader("SUMMARY"); Sharpen.Runtime.Out.WriteLine("File: " + filename); Sharpen.Runtime.Out.WriteLine("Stored classes: " + internalClasses.Length); if (unavailable != null) { Sharpen.Runtime.Out.WriteLine("Unavailable classes: " + unavailable.Size()); } if (noConstructor != null) { Sharpen.Runtime.Out.WriteLine("Classes without public constructors: " + noConstructor .Size()); } Sharpen.Runtime.Out.WriteLine("Total number of objects: " + (((Tree)ids.value).Size () - 1)); }
public override object ShallowClone() { var tso = new TreeStringObject (_key, _value); return ShallowCloneInternal(tso); }