7 <member name="T:com.db4o.YapComparable">
10 <member name="T:com.db4o.reflect.ReflectMethod">
11 <summary>representation for java.lang.reflect.Method.</summary>
13 representation for java.lang.reflect.Method.
14 <br/><br/>See the respective documentation in the JDK API.
16 <seealso cref="T:com.db4o.reflect.Reflector">com.db4o.reflect.Reflector</seealso>
18 <member name="T:com.db4o.MsgD">
19 <summary>Messages with Data for Client/Server Communication</summary>
21 <member name="T:com.db4o.Msg">
22 <summary>Messages for Client/Server Communication</summary>
24 <member name="M:com.db4o.Msg.getByteLoad">
26 dummy method to allow clean override handling
30 <member name="M:com.db4o.Msg.processMessageAtServer(com.db4o.YapSocket)">
31 <summary>server side execution</summary>
33 <member name="T:com.db4o.MigrationConnection">
36 <member name="T:com.db4o.config.ObjectClass">
37 <summary>configuration interface for classes.</summary>
39 configuration interface for classes.
40 <br/><br/><b>Examples: ../com/db4o/samples/translators/Default.java.</b><br/><br/>
41 Use the global Configuration object to configure db4o before opening an
42 <see cref="T:com.db4o.ObjectContainer">ObjectContainer</see>
46 Configuration config = Db4o.configure();<br/>
47 ObjectClass oc = config.objectClass("package.className");<br/>
48 oc.updateDepth(3);<br/>
49 oc.minimumActivationDepth(3);<br/>
53 <member name="M:com.db4o.config.ObjectClass.callConstructor(System.Boolean)">
55 advises db4o to try instantiating objects of this class with/without
59 advises db4o to try instantiating objects of this class with/without
62 Not all JDKs / .NET-environments support this feature. db4o will
63 attempt, to follow the setting as good as the enviroment supports.
64 In doing so, it may call implementation-specific features like
65 sun.reflect.ReflectionFactory#newConstructorForSerialization on the
66 Sun Java 1.4.x/5 VM (not available on other VMs) and
67 FormatterServices.GetUninitializedObject() on
68 the .NET framework (not available on CompactFramework).<br/><br/>
69 This setting may also be set globally for all classes in
70 <see cref="M:com.db4o.config.Configuration.callConstructors(System.Boolean)">com.db4o.config.Configuration.callConstructors
75 - specify true, to request calling constructors, specify
76 false to request <b>not</b> calling constructors.
78 <seealso cref="M:com.db4o.config.Configuration.callConstructors(System.Boolean)">com.db4o.config.Configuration.callConstructors
81 <member name="M:com.db4o.config.ObjectClass.cascadeOnActivate(System.Boolean)">
82 <summary>sets cascaded activation behaviour.</summary>
84 sets cascaded activation behaviour.
86 Setting cascadeOnActivate to true will result in the activation
87 of all member objects if an instance of this class is activated.
89 The default setting is <b>false</b>.<br/><br/>
91 <param name="flag">whether activation is to be cascaded to member objects.</param>
92 <seealso cref="M:com.db4o.config.ObjectField.cascadeOnActivate(System.Boolean)">com.db4o.config.ObjectField.cascadeOnActivate
94 <seealso cref="M:com.db4o.ObjectContainer.activate(System.Object,System.Int32)">com.db4o.ObjectContainer.activate
96 <seealso cref="T:com.db4o.ext.ObjectCallbacks">Using callbacks</seealso>
97 <seealso cref="M:com.db4o.config.Configuration.activationDepth(System.Int32)">Why activation?</seealso>
99 <member name="M:com.db4o.config.ObjectClass.cascadeOnDelete(System.Boolean)">
100 <summary>sets cascaded delete behaviour.</summary>
102 sets cascaded delete behaviour.
104 Setting cascadeOnDelete to true will result in the deletion of
105 all member objects of instances of this class, if they are
107 <see cref="M:com.db4o.ObjectContainer.delete(System.Object)">com.db4o.ObjectContainer.delete</see>
110 <b>Caution !</b><br/>
111 This setting will also trigger deletion of old member objects, on
113 <see cref="M:com.db4o.ObjectContainer.set(System.Object)">com.db4o.ObjectContainer.set</see>
115 An example of the behaviour:<br/>
117 ObjectContainer con;<br/>
118 Bar bar1 = new Bar();<br/>
119 Bar bar2 = new Bar();<br/>
121 con.set(foo); // bar1 is stored as a member of foo<br/>
123 con.set(foo); // bar2 is stored as a member of foo
124 </code><br/>The last statement will <b>also</b> delete bar1 from the
125 ObjectContainer, no matter how many other stored objects hold references
128 The default setting is <b>false</b>.<br/><br/>
130 <param name="flag">whether deletes are to be cascaded to member objects.</param>
131 <seealso cref="M:com.db4o.config.ObjectField.cascadeOnDelete(System.Boolean)">com.db4o.config.ObjectField.cascadeOnDelete
133 <seealso cref="M:com.db4o.ObjectContainer.delete(System.Object)">com.db4o.ObjectContainer.delete</seealso>
134 <seealso cref="T:com.db4o.ext.ObjectCallbacks">Using callbacks</seealso>
136 <member name="M:com.db4o.config.ObjectClass.cascadeOnUpdate(System.Boolean)">
137 <summary>sets cascaded update behaviour.</summary>
139 sets cascaded update behaviour.
141 Setting cascadeOnUpdate to true will result in the update
142 of all member objects if a stored instance of this class is passed
144 <see cref="M:com.db4o.ObjectContainer.set(System.Object)">com.db4o.ObjectContainer.set</see>
146 The default setting is <b>false</b>.<br/><br/>
148 <param name="flag">whether updates are to be cascaded to member objects.</param>
149 <seealso cref="M:com.db4o.config.ObjectField.cascadeOnUpdate(System.Boolean)">com.db4o.config.ObjectField.cascadeOnUpdate
151 <seealso cref="M:com.db4o.ObjectContainer.set(System.Object)">com.db4o.ObjectContainer.set</seealso>
152 <seealso cref="T:com.db4o.ext.ObjectCallbacks">Using callbacks</seealso>
154 <member name="M:com.db4o.config.ObjectClass.compare(com.db4o.config.ObjectAttribute)">
155 <summary>registers an attribute provider for special query behavior.</summary>
157 registers an attribute provider for special query behavior.
158 <br /><br />The query processor will compare the object returned by the
159 attribute provider instead of the actual object, both for the constraint
160 and the candidate persistent object.<br /><br /> Preinstalled attribute
161 providers are documented
163 com.db4o.samples.translators.Default.java#defaultConfiguration().<br /><br />
165 <param name="attributeProvider">the attribute provider to be used</param>
167 <member name="M:com.db4o.config.ObjectClass.enableReplication(System.Boolean)">
169 Must be called before databases are created or opened
170 so that db4o will control versions and generate UUIDs
171 for objects of this class, which is required for using replication.
174 Must be called before databases are created or opened
175 so that db4o will control versions and generate UUIDs
176 for objects of this class, which is required for using replication.
178 <param name="setting"></param>
180 <member name="M:com.db4o.config.ObjectClass.generateUUIDs(System.Boolean)">
181 <summary>generate UUIDs for stored objects of this class.</summary>
182 <remarks>generate UUIDs for stored objects of this class.</remarks>
183 <param name="setting"></param>
185 <member name="M:com.db4o.config.ObjectClass.generateVersionNumbers(System.Boolean)">
186 <summary>generate version numbers for stored objects of this class.</summary>
187 <remarks>generate version numbers for stored objects of this class.</remarks>
188 <param name="setting"></param>
190 <member name="M:com.db4o.config.ObjectClass.maximumActivationDepth(System.Int32)">
191 <summary>sets the maximum activation depth to the desired value.</summary>
193 sets the maximum activation depth to the desired value.
194 <br/><br/>A class specific setting overrides the
195 <see cref="M:com.db4o.config.Configuration.activationDepth(System.Int32)">global setting</see>
198 <param name="depth">the desired maximum activation depth</param>
199 <seealso cref="M:com.db4o.config.Configuration.activationDepth(System.Int32)">Why activation?</seealso>
200 <seealso cref="M:com.db4o.config.ObjectClass.cascadeOnActivate(System.Boolean)">com.db4o.config.ObjectClass.cascadeOnActivate
203 <member name="M:com.db4o.config.ObjectClass.minimumActivationDepth(System.Int32)">
204 <summary>sets the minimum activation depth to the desired value.</summary>
206 sets the minimum activation depth to the desired value.
207 <br/><br/>A class specific setting overrides the
208 <see cref="M:com.db4o.config.Configuration.activationDepth(System.Int32)">global setting</see>
211 <param name="depth">the desired minimum activation depth</param>
212 <seealso cref="M:com.db4o.config.Configuration.activationDepth(System.Int32)">Why activation?</seealso>
213 <seealso cref="M:com.db4o.config.ObjectClass.cascadeOnActivate(System.Boolean)">com.db4o.config.ObjectClass.cascadeOnActivate
216 <member name="M:com.db4o.config.ObjectClass.objectField(System.String)">
219 <see cref="T:com.db4o.config.ObjectField">ObjectField</see>
221 to configure the specified field.
224 <param name="fieldName">the fieldname of the field to be configured.<br/><br/></param>
227 <see cref="T:com.db4o.config.ObjectField">ObjectField</see>
228 object for configuration.
231 <member name="M:com.db4o.config.ObjectClass.persistStaticFieldValues">
232 <summary>turns on storing static field values for this class.</summary>
234 turns on storing static field values for this class.
235 <br /><br />By default, static field values of classes are not stored
236 to the database file. By turning the setting on for a specific class
237 with this switch, all <b>non-simple-typed</b> static field values of this
238 class are stored the first time an object of the class is stored, and
239 restored, every time a database file is opened afterwards.
240 <br /><br />The setting will be ignored for simple types.
241 <br /><br />Use this setting for constant static object members.
242 <br /><br />This option will slow down the process of opening database
243 files and the stored objects will occupy space in the database file.
246 <member name="M:com.db4o.config.ObjectClass.rename(System.String)">
247 <summary>renames a stored class.</summary>
249 renames a stored class.
250 <br /><br />Use this method to refactor classes.
251 <br /><br /><b>Examples: ../com/db4o/samples/rename.</b><br /><br />
253 <param name="newName">the new fully qualified classname.</param>
255 <member name="M:com.db4o.config.ObjectClass.storeTransientFields(System.Boolean)">
256 <summary>allows to specify if transient fields are to be stored.</summary>
258 allows to specify if transient fields are to be stored.
259 <br />The default for every class is <code>false</code>.<br /><br />
261 <param name="flag">whether or not transient fields are to be stored.</param>
263 <member name="M:com.db4o.config.ObjectClass.translate(com.db4o.config.ObjectTranslator)">
264 <summary>registers a translator for this class.</summary>
266 registers a translator for this class.
268 Preinstalled translators are documented in the sourcecode of
269 com.db4o.samples.translators.Default.java#defaultConfiguration().
270 <br/><br/>Example translators can also be found in this folder.<br/><br/>
272 <param name="translator">
274 <see cref="T:com.db4o.config.ObjectTranslator">ObjectTranslator</see>
276 <see cref="T:com.db4o.config.ObjectConstructor">ObjectConstructor</see>
278 <seealso cref="T:com.db4o.config.ObjectTranslator">com.db4o.config.ObjectTranslator
280 <seealso cref="T:com.db4o.config.ObjectConstructor">com.db4o.config.ObjectConstructor
283 <member name="M:com.db4o.config.ObjectClass.updateDepth(System.Int32)">
284 <summary>specifies the updateDepth for this class.</summary>
286 specifies the updateDepth for this class.
287 <br/><br/>see the documentation of
288 <see cref="M:com.db4o.ObjectContainer.set(System.Object)">com.db4o.ObjectContainer.set</see>
289 for further details.<br/><br/>
290 The default setting is 0: Only the object passed to
291 <see cref="M:com.db4o.ObjectContainer.set(System.Object)">com.db4o.ObjectContainer.set</see>
292 will be updated.<br/><br/>
294 <param name="depth">the depth of the desired update for this class.</param>
295 <seealso cref="M:com.db4o.config.Configuration.updateDepth(System.Int32)">com.db4o.config.Configuration.updateDepth
297 <seealso cref="M:com.db4o.config.ObjectClass.cascadeOnUpdate(System.Boolean)">com.db4o.config.ObjectClass.cascadeOnUpdate
299 <seealso cref="M:com.db4o.config.ObjectField.cascadeOnUpdate(System.Boolean)">com.db4o.config.ObjectField.cascadeOnUpdate
301 <seealso cref="T:com.db4o.ext.ObjectCallbacks">Using callbacks</seealso>
303 <member name="T:com.db4o.DeepClone">
304 <summary>Deep clone</summary>
307 <member name="M:com.db4o.DeepClone.deepClone(System.Object)">
309 The parameter allows passing one new object so parent
310 references can be corrected on children.
313 The parameter allows passing one new object so parent
314 references can be corrected on children.
317 <member name="T:com.db4o.QConstraints">
320 <member name="T:com.db4o.QCon">
321 <summary>Base class for all constraints.</summary>
322 <remarks>Base class for all constraints.</remarks>
325 <member name="T:com.db4o.query.Constraint">
327 constraint to limit the objects returned upon
328 <see cref="M:com.db4o.query.Query.execute">query execution</see>
331 Constraints are constructed by calling
332 <see cref="M:com.db4o.query.Query.constrain(System.Object)">Query.constrain()</see>
335 Constraints can be joined with the methods
336 <see cref="M:com.db4o.query.Constraint.and(com.db4o.query.Constraint)">and()</see>
338 <see cref="M:com.db4o.query.Constraint.or(com.db4o.query.Constraint)">or()</see>
341 The methods to modify the constraint evaluation algorithm may
342 be merged, to construct combined evaluation rules.
345 <li> <code>Constraint#smaller().equal()</code> for "smaller or equal" </li>
346 <li> <code>Constraint#not().like()</code> for "not like" </li>
347 <li> <code>Constraint#not().greater().equal()</code> for "not greater or equal" </li>
351 <member name="M:com.db4o.query.Constraint.and(com.db4o.query.Constraint)">
352 <summary>links two Constraints for AND evaluation.</summary>
353 <remarks>links two Constraints for AND evaluation.</remarks>
356 <see cref="T:com.db4o.query.Constraint">com.db4o.query.Constraint</see>
360 <see cref="T:com.db4o.query.Constraint">com.db4o.query.Constraint</see>
361 , that can be used for further calls
363 <see cref="M:com.db4o.query.Constraint.and(com.db4o.query.Constraint)">and()</see>
365 <see cref="M:com.db4o.query.Constraint.or(com.db4o.query.Constraint)">or()</see>
368 <member name="M:com.db4o.query.Constraint.or(com.db4o.query.Constraint)">
369 <summary>links two Constraints for OR evaluation.</summary>
370 <remarks>links two Constraints for OR evaluation.</remarks>
373 <see cref="T:com.db4o.query.Constraint">com.db4o.query.Constraint</see>
377 <see cref="T:com.db4o.query.Constraint">com.db4o.query.Constraint</see>
378 , that can be used for further calls
380 <see cref="M:com.db4o.query.Constraint.and(com.db4o.query.Constraint)">and()</see>
382 <see cref="M:com.db4o.query.Constraint.or(com.db4o.query.Constraint)">or()</see>
385 <member name="M:com.db4o.query.Constraint.equal">
386 <summary>sets the evaluation mode to <code>==</code>.</summary>
387 <remarks>sets the evaluation mode to <code>==</code>.</remarks>
390 <see cref="T:com.db4o.query.Constraint">com.db4o.query.Constraint</see>
391 to allow the chaining of method calls.
394 <member name="M:com.db4o.query.Constraint.greater">
395 <summary>sets the evaluation mode to <code>></code>.</summary>
396 <remarks>sets the evaluation mode to <code>></code>.</remarks>
399 <see cref="T:com.db4o.query.Constraint">com.db4o.query.Constraint</see>
400 to allow the chaining of method calls.
403 <member name="M:com.db4o.query.Constraint.smaller">
404 <summary>sets the evaluation mode to <code><</code>.</summary>
405 <remarks>sets the evaluation mode to <code><</code>.</remarks>
408 <see cref="T:com.db4o.query.Constraint">com.db4o.query.Constraint</see>
409 to allow the chaining of method calls.
412 <member name="M:com.db4o.query.Constraint.identity">
413 <summary>sets the evaluation mode to identity comparison.</summary>
414 <remarks>sets the evaluation mode to identity comparison.</remarks>
417 <see cref="T:com.db4o.query.Constraint">com.db4o.query.Constraint</see>
418 to allow the chaining of method calls.
421 <member name="M:com.db4o.query.Constraint.like">
422 <summary>sets the evaluation mode to "like" comparison.</summary>
424 sets the evaluation mode to "like" comparison.
425 <br/><br/>Constraints are compared to the first characters of a field.<br/><br/>
429 <see cref="T:com.db4o.query.Constraint">com.db4o.query.Constraint</see>
430 to allow the chaining of method calls.
433 <member name="M:com.db4o.query.Constraint.contains">
434 <summary>sets the evaluation mode to containment comparison.</summary>
435 <remarks>sets the evaluation mode to containment comparison.</remarks>
438 <see cref="T:com.db4o.query.Constraint">com.db4o.query.Constraint</see>
439 to allow the chaining of method calls.
442 <member name="M:com.db4o.query.Constraint.not">
443 <summary>turns on not() comparison.</summary>
444 <remarks>turns on not() comparison.</remarks>
447 <see cref="T:com.db4o.query.Constraint">com.db4o.query.Constraint</see>
448 to allow the chaining of method calls.
451 <member name="M:com.db4o.query.Constraint.getObject">
453 returns the Object the query graph was constrained with to
455 <see cref="T:com.db4o.query.Constraint">com.db4o.query.Constraint</see>
458 <returns>Object the constraining object.</returns>
460 <member name="T:com.db4o.Visitor4">
463 <member name="T:com.db4o.query.Constraints">
466 <see cref="T:com.db4o.query.Constraint">com.db4o.query.Constraint</see>
468 <br/><br/>This extension of the
469 <see cref="T:com.db4o.query.Constraint">com.db4o.query.Constraint</see>
471 setting the evaluation mode of all contained
472 <see cref="T:com.db4o.query.Constraint">com.db4o.query.Constraint</see>
473 objects with single calls.
476 <see cref="M:com.db4o.query.Query.constraints">com.db4o.query.Query.constraints</see>
480 <member name="M:com.db4o.query.Constraints.toArray">
482 returns an array of the contained
483 <see cref="T:com.db4o.query.Constraint">com.db4o.query.Constraint</see>
487 an array of the contained
488 <see cref="T:com.db4o.query.Constraint">com.db4o.query.Constraint</see>
492 <member name="T:com.db4o.YapBit">
495 <member name="T:com.db4o.YapClient">
498 <member name="T:com.db4o.YapStream">
501 <member name="T:com.db4o.ObjectContainer">
502 <summary>storage and query interface.</summary>
504 storage and query interface.
505 <br/><br/>The <code>ObjectContainer</code> interface provides methods
506 to store, retrieve and delete objects and to commit and rollback
509 <seealso cref="T:com.db4o.ext.ExtObjectContainer">ExtObjectContainer for extended functionality.
512 <member name="M:com.db4o.ObjectContainer.activate(System.Object,System.Int32)">
513 <summary>activates all members on a stored object to the specified depth.</summary>
515 activates all members on a stored object to the specified depth.
516 <br/><br/><b>Examples: ../com/db4o/samples/activate.</b><br/><br/>
517 This method serves to traverse the graph of persistent objects.
518 All members of an object can be activated in turn with subsequent calls.<br/><br/>
519 Only objects in <code>DEACTIVATED</code> state are modified.
520 <code>Object</code> members at the specified depth are
521 instantiated in <code>DEACTIVATED</code> state.
522 <br/><br/>Duplicate <code>activate()</code> calls on the same object have no effect.
523 Passing an object that is not stored in the <code>ObjectContainer
524 </code> has no effect.<br/><br/>
525 The activation depth of individual classes can be overruled
527 <see cref="M:com.db4o.config.ObjectClass.maximumActivationDepth(System.Int32)">maximumActivationDepth()
530 <see cref="M:com.db4o.config.ObjectClass.minimumActivationDepth(System.Int32)">minimumActivationDepth()
533 <see cref="T:com.db4o.config.ObjectClass">ObjectClass interface</see>
535 A successful <code>activate()</code> triggers the callback method
536 <see cref="M:com.db4o.ext.ObjectCallbacks.objectOnActivate(com.db4o.ObjectContainer)">objectOnActivate</see>
537 which can be used for cascaded activation.<br/><br/>
539 <seealso cref="M:com.db4o.config.Configuration.activationDepth(System.Int32)">Why activation?</seealso>
540 <seealso cref="T:com.db4o.ext.ObjectCallbacks">Using callbacks</seealso>
541 <param name="obj">the object to be activated.</param>
544 <see cref="M:com.db4o.config.Configuration.activationDepth(System.Int32)">depth</see>
545 to which activate is to cascade.
548 <member name="M:com.db4o.ObjectContainer.close">
549 <summary>closes the <code>ObjectContainer</code>.</summary>
551 closes the <code>ObjectContainer</code>.
552 <br/><br/>A call to <code>close()</code> automatically performs a
553 <see cref="M:com.db4o.ObjectContainer.commit">commit()</see>
555 <br/><br/>Note that every session opened with Db4o.openFile() requires one
556 close()call, even if the same filename was used multiple times.<br/><br/>
557 Use <code>while(!close()){}</code> to kill all sessions using this container.<br/><br/>
560 success - true denotes that the last used instance of this container
561 and the database file were closed.
564 <member name="M:com.db4o.ObjectContainer.commit">
565 <summary>commits the running transaction.</summary>
566 <remarks>commits the running transaction.</remarks>
568 <member name="M:com.db4o.ObjectContainer.deactivate(System.Object,System.Int32)">
569 <summary>deactivates a stored object by setting all members to <code>NULL</code>.
572 deactivates a stored object by setting all members to <code>NULL</code>.
573 <br/>Primitive types will be set to their default values.
574 <br/><br/><b>Examples: ../com/db4o/samples/activate.</b><br/><br/>
575 Calls to this method save memory.
576 The method has no effect, if the passed object is not stored in the
577 <code>ObjectContainer</code>.<br/><br/>
578 <code>deactivate()</code> triggers the callback method
579 <see cref="M:com.db4o.ext.ObjectCallbacks.objectOnDeactivate(com.db4o.ObjectContainer)">objectOnDeactivate</see>
582 Be aware that calling this method with a depth parameter greater than
583 1 sets members on member objects to null. This may have side effects
584 in other places of the application.<br/><br/>
586 <seealso cref="T:com.db4o.ext.ObjectCallbacks">Using callbacks</seealso>
587 <seealso cref="M:com.db4o.config.Configuration.activationDepth(System.Int32)">Why activation?</seealso>
588 <param name="obj">the object to be deactivated.</param>
591 <see cref="M:com.db4o.config.Configuration.activationDepth(System.Int32)">depth</see>
593 to which deactivate is to cascade.
596 <member name="M:com.db4o.ObjectContainer.delete(System.Object)">
597 <summary>deletes a stored object permanently.</summary>
599 deletes a stored object permanently.
600 <br/><br/>Note that this method has to be called <b>for every single object
601 individually</b>. Delete does not recurse to object members. Simple
602 and array member types are destroyed.
603 <br/><br/>Object members of the passed object remain untouched, unless
605 <see cref="M:com.db4o.config.ObjectClass.cascadeOnDelete(System.Boolean)">configured for the class</see>
607 <see cref="M:com.db4o.config.ObjectField.cascadeOnDelete(System.Boolean)">one of the member fields</see>
609 <br/><br/>The method has no effect, if
610 the passed object is not stored in the <code>ObjectContainer</code>.
611 <br/><br/>A subsequent call to
612 <code>set()</code> with the same object newly stores the object
613 to the <code>ObjectContainer</code>.<br/><br/>
614 <code>delete()</code> triggers the callback method
615 <see cref="M:com.db4o.ext.ObjectCallbacks.objectOnDelete(com.db4o.ObjectContainer)">objectOnDelete</see>
616 which can be also used for cascaded deletes.<br/><br/>
618 <seealso cref="M:com.db4o.config.ObjectClass.cascadeOnDelete(System.Boolean)">com.db4o.config.ObjectClass.cascadeOnDelete
620 <seealso cref="M:com.db4o.config.ObjectField.cascadeOnDelete(System.Boolean)">com.db4o.config.ObjectField.cascadeOnDelete
622 <seealso cref="T:com.db4o.ext.ObjectCallbacks">Using callbacks</seealso>
624 the object to be deleted from the
625 <code>ObjectContainer</code>.<br/>
628 <member name="M:com.db4o.ObjectContainer.ext">
629 <summary>returns an ObjectContainer with extended functionality.</summary>
631 returns an ObjectContainer with extended functionality.
632 <br /><br />Every ObjectContainer that db4o provides can be casted to
633 an ExtObjectContainer. This method is supplied for your convenience
634 to work without a cast.
635 <br /><br />The ObjectContainer functionality is split to two interfaces
636 to allow newcomers to focus on the essential methods.<br /><br />
638 <returns>this, casted to ExtObjectContainer</returns>
640 <member name="M:com.db4o.ObjectContainer.get(System.Object)">
641 <summary>Query-By-Example interface to retrieve objects.</summary>
643 Query-By-Example interface to retrieve objects.
644 <br/><br/><code>get()</code> creates an
645 <see cref="T:com.db4o.ObjectSet">ObjectSet</see>
647 all objects in the <code>ObjectContainer</code> that match the passed
648 template object.<br/><br/>
649 Calling <code>get(NULL)</code> returns all objects stored in the
650 <code>ObjectContainer</code>.<br/><br/><br/>
651 <b>Query Evaluation</b>
652 <br/>All non-null members of the template object are compared against
653 all stored objects of the same class.
654 Primitive type members are ignored if they are 0 or false respectively.
655 <br/><br/>Arrays and all supported <code>Collection</code> classes are
656 evaluated for containment. Differences in <code>length/size()</code> are
658 <br/><br/>Consult the documentation of the Configuration package to
659 configure class-specific behaviour.<br/><br/><br/>
660 <b>Returned Objects</b><br/>
661 The objects returned in the
662 <see cref="T:com.db4o.ObjectSet">ObjectSet</see>
664 and activated to the preconfigured depth of 5. The
665 <see cref="M:com.db4o.config.Configuration.activationDepth(System.Int32)">activation depth</see>
667 <see cref="M:com.db4o.config.Configuration.activationDepth(System.Int32)">globally</see>
669 <see cref="T:com.db4o.config.ObjectClass">individually for classes</see>
672 db4o keeps track of all instantiatied objects. Queries will return
673 references to these objects instead of instantiating them a second time.
675 Objects newly activated by <code>get()</code> can respond to the callback
677 <see cref="M:com.db4o.ext.ObjectCallbacks.objectOnActivate(com.db4o.ObjectContainer)">objectOnActivate</see>
681 <param name="template">object to be used as an example to find all matching objects.<br/><br/>
685 <see cref="T:com.db4o.ObjectSet">ObjectSet</see>
686 containing all found objects.<br/><br/>
688 <seealso cref="M:com.db4o.config.Configuration.activationDepth(System.Int32)">Why activation?</seealso>
689 <seealso cref="T:com.db4o.ext.ObjectCallbacks">Using callbacks</seealso>
691 <member name="M:com.db4o.ObjectContainer.query">
693 factory method to create a new
694 <see cref="T:com.db4o.query.Query">Query</see>
698 <see cref="M:com.db4o.ObjectContainer.get(System.Object)">get(Object template)</see>
700 simple Query-By-Example.
703 <returns>a new Query object</returns>
705 <member name="M:com.db4o.ObjectContainer.rollback">
706 <summary>rolls back the running transaction.</summary>
708 rolls back the running transaction.
709 <br/><br/>Modified application objects im memory are not restored.
710 Use combined calls to
711 <see cref="M:com.db4o.ObjectContainer.deactivate(System.Object,System.Int32)">deactivate()</see>
713 <see cref="M:com.db4o.ObjectContainer.activate(System.Object,System.Int32)">activate()</see>
714 to reload an objects member values.
717 <member name="M:com.db4o.ObjectContainer.set(System.Object)">
718 <summary>newly stores objects or updates stored objects.</summary>
720 newly stores objects or updates stored objects.
721 <br/><br/>An object not yet stored in the <code>ObjectContainer</code> will be
722 stored when it is passed to <code>set()</code>. An object already stored
723 in the <code>ObjectContainer</code> will be updated.
724 <br/><br/><b>Updates</b><br/>
725 - will affect all simple type object members.<br/>
726 - links to object members that are already stored will be updated.<br/>
727 - new object members will be newly stored. The algorithm traverses down
728 new members, as long as further new members are found.<br/>
729 - object members that are already stored will <b>not</b> be updated
730 themselves.<br/>Every object member needs to be updated individually with a
731 call to <code>set()</code> unless a deep
732 <see cref="M:com.db4o.config.Configuration.updateDepth(System.Int32)">global</see>
734 <see cref="M:com.db4o.config.ObjectClass.updateDepth(System.Int32)">class-specific</see>
735 update depth was configured or cascaded updates were
736 <see cref="M:com.db4o.config.ObjectClass.cascadeOnUpdate(System.Boolean)">defined in the class</see>
738 <see cref="M:com.db4o.config.ObjectField.cascadeOnUpdate(System.Boolean)">one of the member fields</see>
740 <br/><br/><b>Examples: ../com/db4o/samples/update.</b><br/><br/>
741 Depending if the passed object is newly stored or updated, the
743 <see cref="M:com.db4o.ext.ObjectCallbacks.objectOnNew(com.db4o.ObjectContainer)">objectOnNew</see>
745 <see cref="M:com.db4o.ext.ObjectCallbacks.objectOnUpdate(com.db4o.ObjectContainer)">objectOnUpdate</see>
747 <see cref="M:com.db4o.ext.ObjectCallbacks.objectOnUpdate(com.db4o.ObjectContainer)">objectOnUpdate</see>
748 might also be used for cascaded updates.<br/><br/>
750 <param name="obj">the object to be stored or updated.</param>
751 <seealso cref="M:com.db4o.ext.ExtObjectContainer.set(System.Object,System.Int32)">ExtObjectContainer#set(object, depth)
753 <seealso cref="M:com.db4o.config.Configuration.updateDepth(System.Int32)">com.db4o.config.Configuration.updateDepth
755 <seealso cref="M:com.db4o.config.ObjectClass.updateDepth(System.Int32)">com.db4o.config.ObjectClass.updateDepth
757 <seealso cref="M:com.db4o.config.ObjectClass.cascadeOnUpdate(System.Boolean)">com.db4o.config.ObjectClass.cascadeOnUpdate
759 <seealso cref="M:com.db4o.config.ObjectField.cascadeOnUpdate(System.Boolean)">com.db4o.config.ObjectField.cascadeOnUpdate
761 <seealso cref="T:com.db4o.ext.ObjectCallbacks">Using callbacks</seealso>
763 <member name="T:com.db4o.ext.ExtObjectContainer">
765 extended functionality for the
766 <see cref="T:com.db4o.ObjectContainer">ObjectContainer</see>
769 <see cref="T:com.db4o.ObjectContainer">ObjectContainer</see>
770 always is an <code>ExtObjectContainer</code> so a cast is possible.<br/><br/>
771 <see cref="M:com.db4o.ObjectContainer.ext">ObjectContainer.ext()</see>
772 is a convenient method to perform the cast.<br/><br/>
773 The ObjectContainer functionality is split to two interfaces to allow newcomers to
774 focus on the essential methods.
777 <member name="M:com.db4o.ext.ExtObjectContainer.backup(System.String)">
778 <summary>backs up a database file of an open ObjectContainer.</summary>
780 backs up a database file of an open ObjectContainer.
781 <br /><br />While the backup is running, the ObjectContainer can continue to be
782 used. Changes that are made while the backup is in progress, will be applied to
783 the open ObjectContainer and to the backup.<br /><br />
784 While the backup is running, the ObjectContainer should not be closed.<br /><br />
785 If a file already exists at the specified path, it will be overwritten.<br /><br />
787 <param name="path">a fully qualified path</param>
789 <member name="M:com.db4o.ext.ExtObjectContainer.bind(System.Object,System.Int64)">
790 <summary>binds an object to an internal object ID.</summary>
792 binds an object to an internal object ID.
793 <br/><br/>This method uses the ID parameter to load the
794 correspondig stored object into memory and replaces this memory
795 reference with the object parameter. The method may be used to replace
796 objects or to reassociate an object with it's stored instance
797 after closing and opening a database file. A subsequent call to
798 <see cref="M:com.db4o.ObjectContainer.set(System.Object)">set(Object)</see>
800 necessary to update the stored object.<br/><br/>
801 <b>Requirements:</b><br/>- The ID needs to be a valid internal object ID,
802 previously retrieved with
803 <see cref="M:com.db4o.ext.ExtObjectContainer.getID(System.Object)">getID(Object)</see>
805 - The object parameter needs to be of the same class as the stored object.<br/><br/>
807 <seealso cref="M:com.db4o.ext.ExtObjectContainer.getID(System.Object)">com.db4o.ext.ExtObjectContainer.getID
809 <param name="obj">the object that is to be bound</param>
810 <param name="id">the internal id the object is to be bound to</param>
812 <member name="M:com.db4o.ext.ExtObjectContainer.collections">
815 <see cref="T:com.db4o.types.Db4oCollections">com.db4o.types.Db4oCollections</see>
816 interface to create or modify database-aware
818 <see cref="T:com.db4o.ObjectContainer">com.db4o.ObjectContainer</see>
823 <see cref="T:com.db4o.types.Db4oCollections">com.db4o.types.Db4oCollections</see>
825 <see cref="T:com.db4o.ObjectContainer">com.db4o.ObjectContainer</see>
829 <member name="M:com.db4o.ext.ExtObjectContainer.configure">
830 <summary>returns the Configuration context for this ObjectContainer.</summary>
832 returns the Configuration context for this ObjectContainer.
834 Upon opening an ObjectContainer with any of the factory methods in the
835 <see cref="T:com.db4o.Db4o">Db4o class</see>
837 <see cref="T:com.db4o.config.Configuration">Configuration</see>
839 is copied into the ObjectContainer. The
840 <see cref="T:com.db4o.config.Configuration">Configuration</see>
841 can be modified individually for
842 each ObjectContainer without any effects on the global settings.<br/><br/>
846 <see cref="T:com.db4o.config.Configuration">Configuration</see>
848 context for this ObjectContainer
850 <seealso cref="M:com.db4o.Db4o.configure">com.db4o.Db4o.configure</seealso>
852 <member name="M:com.db4o.ext.ExtObjectContainer.getByID(System.Int64)">
853 <summary>returns the stored object for an internal ID.</summary>
855 returns the stored object for an internal ID.
856 <br/><br/>This is the fastest method for direct access to objects. Internal
857 IDs can be obtained with
858 <see cref="M:com.db4o.ext.ExtObjectContainer.getID(System.Object)">getID(Object)</see>
860 Objects will not be activated by this method. They will be returned in the
861 activation state they are currently in, in the local cache.<br/><br/>
863 <param name="ID">the internal ID</param>
865 the object associated with the passed ID or <code>null</code>,
866 if no object is associated with this ID in this <code>ObjectContainer</code>.
868 <seealso cref="M:com.db4o.config.Configuration.activationDepth(System.Int32)">Why activation?</seealso>
870 <member name="M:com.db4o.ext.ExtObjectContainer.getByUUID(com.db4o.ext.Db4oUUID)">
872 returns a stored object for a
873 <see cref="T:com.db4o.ext.Db4oUUID">com.db4o.ext.Db4oUUID</see>
876 This method is intended for replication and for long-term
877 external references to objects. To get a
878 <see cref="T:com.db4o.ext.Db4oUUID">com.db4o.ext.Db4oUUID</see>
881 <see cref="M:com.db4o.ext.ExtObjectContainer.getObjectInfo(System.Object)">com.db4o.ext.ExtObjectContainer.getObjectInfo
884 <see cref="M:com.db4o.ext.ObjectInfo.getUUID">com.db4o.ext.ObjectInfo.getUUID</see>
886 Objects will not be activated by this method. They will be returned in the
887 activation state they are currently in, in the local cache.<br/><br/>
889 <param name="uuid">the UUID</param>
890 <returns>the object for the UUID</returns>
891 <seealso cref="M:com.db4o.config.Configuration.activationDepth(System.Int32)">Why activation?</seealso>
893 <member name="M:com.db4o.ext.ExtObjectContainer.getID(System.Object)">
894 <summary>returns the internal unique object ID.</summary>
896 returns the internal unique object ID.
897 <br/><br/>db4o assigns an internal ID to every object that is stored. IDs are
898 guaranteed to be unique within one <code>ObjectContainer</code>.
899 An object carries the same ID in every db4o session. Internal IDs can
900 be used to look up objects with the very fast
901 <see cref="M:com.db4o.ext.ExtObjectContainer.getByID(System.Int64)">getByID</see>
903 Internal IDs will change when a database is defragmented. Use
904 <see cref="M:com.db4o.ext.ExtObjectContainer.getObjectInfo(System.Object)">com.db4o.ext.ExtObjectContainer.getObjectInfo
907 <see cref="M:com.db4o.ext.ObjectInfo.getUUID">com.db4o.ext.ObjectInfo.getUUID</see>
909 <see cref="M:com.db4o.ext.ExtObjectContainer.getByUUID(com.db4o.ext.Db4oUUID)">com.db4o.ext.ExtObjectContainer.getByUUID
911 for long-term external references to
914 <param name="obj">any object</param>
916 the associated internal ID or <code>0</code>, if the passed
917 object is not stored in this <code>ObjectContainer</code>.
920 <member name="M:com.db4o.ext.ExtObjectContainer.getObjectInfo(System.Object)">
923 <see cref="T:com.db4o.ext.ObjectInfo">com.db4o.ext.ObjectInfo</see>
925 <br/><br/>This method will return null, if the passed
926 object is not stored to this <code>ObjectContainer</code>.<br/><br/>
928 <param name="obj">the stored object</param>
931 <see cref="T:com.db4o.ext.ObjectInfo">com.db4o.ext.ObjectInfo</see>
935 <member name="M:com.db4o.ext.ExtObjectContainer.identity">
938 <see cref="T:com.db4o.ext.Db4oDatabase">com.db4o.ext.Db4oDatabase</see>
939 object for this ObjectContainer.
943 <member name="M:com.db4o.ext.ExtObjectContainer.isActive(System.Object)">
944 <summary>tests if an object is activated.</summary>
946 tests if an object is activated.
947 <br /><br /><code>isActive</code> returns <code>false</code> if an object is not
948 stored within the <code>ObjectContainer</code>.<br /><br />
950 <param name="obj">to be tested<br /><br /></param>
951 <returns><code>true</code> if the passed object is active.</returns>
953 <member name="M:com.db4o.ext.ExtObjectContainer.isCached(System.Int64)">
954 <summary>tests if an object with this ID is currently cached.</summary>
956 tests if an object with this ID is currently cached.
959 <param name="ID">the internal ID</param>
961 <member name="M:com.db4o.ext.ExtObjectContainer.isClosed">
962 <summary>tests if this <code>ObjectContainer</code> is closed.</summary>
964 tests if this <code>ObjectContainer</code> is closed.
967 <returns><code>true</code> if this <code>ObjectContainer</code> is closed.</returns>
969 <member name="M:com.db4o.ext.ExtObjectContainer.isStored(System.Object)">
970 <summary>tests if an object is stored in this <code>ObjectContainer</code>.</summary>
972 tests if an object is stored in this <code>ObjectContainer</code>.
975 <param name="obj">to be tested<br /><br /></param>
976 <returns><code>true</code> if the passed object is stored.</returns>
978 <member name="M:com.db4o.ext.ExtObjectContainer.knownClasses">
980 returns all class representations that are known to this
981 ObjectContainer because they have been used or stored.
984 returns all class representations that are known to this
985 ObjectContainer because they have been used or stored.
988 all class representations that are known to this
989 ObjectContainer because they have been used or stored.
992 <member name="M:com.db4o.ext.ExtObjectContainer.Lock">
993 <summary>returns the main synchronisation lock.</summary>
995 returns the main synchronisation lock.
997 Synchronize over this object to ensure exclusive access to
998 the ObjectContainer.<br /><br />
999 Handle the use of this functionality with extreme care,
1000 since deadlocks can be produced with just two lines of code.
1002 <returns>Object the ObjectContainer lock object</returns>
1004 <member name="M:com.db4o.ext.ExtObjectContainer.migrateFrom(com.db4o.ObjectContainer)">
1005 <summary>aids migration of objects between ObjectContainers.</summary>
1007 aids migration of objects between ObjectContainers.
1008 <br/><br/>When objects are migrated from one ObjectContainer to another, it is
1009 desirable to preserve virtual object attributes such as the object version number
1010 or the UUID. Use this method to signal to an ObjectContainer that it should read
1011 existing version numbers and UUIDs from another ObjectContainer. This method should
1012 also be used during the
1013 <see cref="!:com.db4o.tools.Defragment">Defragment</see>
1014 operation. It is included in the default
1015 implementation supplied in Defragment.java/Defragment.cs.<br/><br/>
1017 <param name="objectContainer">
1019 <see cref="T:com.db4o.ObjectContainer">com.db4o.ObjectContainer</see>
1020 objects are to be migrated
1021 from or <code>null</code> to denote that migration is completed.
1024 <member name="M:com.db4o.ext.ExtObjectContainer.peekPersisted(System.Object,System.Int32,System.Boolean)">
1026 returns a transient copy of a persistent object with all members set
1027 to the values that are currently stored to the database.
1030 returns a transient copy of a persistent object with all members set
1031 to the values that are currently stored to the database.
1033 The returned objects have no connection to the database.<br/><br/>
1034 With the <code>committed</code> parameter it is possible to specify,
1035 whether the desired object should contain the committed values or the
1036 values that were set by the running transaction with
1037 <see cref="M:com.db4o.ObjectContainer.set(System.Object)">com.db4o.ObjectContainer.set</see>
1039 <br/><br/>A possible usecase for this feature:<br/>
1040 An application might want to check all changes applied to an object
1041 by the running transaction.<br/><br/>
1043 <param name="_object">the object that is to be cloned</param>
1044 <param name="depth">the member depth to which the object is to be instantiated</param>
1045 <param name="committed">whether committed or set values are to be returned</param>
1046 <returns>the object</returns>
1048 <member name="M:com.db4o.ext.ExtObjectContainer.purge">
1049 <summary>unloads all clean indices from memory and frees unused objects.</summary>
1051 unloads all clean indices from memory and frees unused objects.
1052 <br /><br />Call commit() and purge() consecutively to achieve the best
1053 result possible. This method can have a negative impact
1054 on performance since indices will have to be reread before further
1055 inserts, updates or queries can take place.
1058 <member name="M:com.db4o.ext.ExtObjectContainer.purge(System.Object)">
1059 <summary>unloads a specific object from the db4o reference mechanism.</summary>
1061 unloads a specific object from the db4o reference mechanism.
1062 <br /><br />db4o keeps references to all newly stored and
1063 instantiated objects in memory, to be able to manage object identities.
1064 <br /><br />With calls to this method it is possible to remove an object from the
1065 reference mechanism, to allow it to be garbage collected. You are not required to
1066 call this method in the .NET and JDK 1.2 versions, since objects are
1067 referred to by weak references and garbage collection happens
1068 automatically.<br /><br />An object removed with <code>purge(Object)</code> is not
1069 "known" to the <code>ObjectContainer</code> afterwards, so this method may also be
1070 used to create multiple copies of objects.<br /><br /> <code>purge(Object)</code> has
1071 no influence on the persistence state of objects. "Purged" objects can be
1072 reretrieved with queries.<br /><br />
1074 <param name="obj">the object to be removed from the reference mechanism.</param>
1076 <member name="M:com.db4o.ext.ExtObjectContainer.reflector">
1077 <summary>Return the reflector currently being used by db4objects.</summary>
1078 <remarks>Return the reflector currently being used by db4objects.</remarks>
1079 <returns>the current Reflector.</returns>
1081 <member name="M:com.db4o.ext.ExtObjectContainer.refresh(System.Object,System.Int32)">
1082 <summary>refreshs all members on a stored object to the specified depth.</summary>
1084 refreshs all members on a stored object to the specified depth.
1085 <br/><br/>If a member object is not activated, it will be activated by this method.
1086 <br/><br/>The isolation used is READ COMMITTED. This method will read all objects
1087 and values that have been committed by other transactions.<br/><br/>
1089 <param name="obj">the object to be refreshed.</param>
1090 <param name="depth">
1092 <see cref="M:com.db4o.config.Configuration.activationDepth(System.Int32)">depth</see>
1093 to which refresh is to cascade.
1096 <member name="M:com.db4o.ext.ExtObjectContainer.releaseSemaphore(System.String)">
1097 <summary>releases a semaphore, if the calling transaction is the owner.</summary>
1098 <remarks>releases a semaphore, if the calling transaction is the owner.</remarks>
1099 <param name="name">the name of the semaphore to be released.</param>
1101 <member name="M:com.db4o.ext.ExtObjectContainer.replicationBegin(com.db4o.ObjectContainer,com.db4o.replication.ReplicationConflictHandler)">
1103 prepares for replication with another
1104 <see cref="T:com.db4o.ObjectContainer">com.db4o.ObjectContainer</see>
1107 <see cref="T:com.db4o.ObjectContainer">com.db4o.ObjectContainer</see>
1108 can only be involved in a replication
1109 process with one other
1110 <see cref="T:com.db4o.ObjectContainer">com.db4o.ObjectContainer</see>
1111 at the same time.<br/><br/>
1113 <see cref="T:com.db4o.replication.ReplicationProcess">com.db4o.replication.ReplicationProcess
1115 interface provides methods to commit
1116 and to cancel the replication process.
1117 <br/><br/>This ObjectContainer will be "peerA" for the
1118 returned ReplicationProcess. The other ObjectContainer will be "peerB".
1120 <param name="peerB">
1122 <see cref="T:com.db4o.ObjectContainer">com.db4o.ObjectContainer</see>
1125 <param name="conflictHandler">
1126 the conflict handler for this ReplicationProcess.
1129 <see cref="M:com.db4o.replication.ReplicationProcess.replicate(System.Object)">com.db4o.replication.ReplicationProcess.replicate
1132 object that was modified in both ObjectContainers since the last
1133 replication run between the two. Upon a conflict the
1134 <see cref="M:com.db4o.replication.ReplicationConflictHandler.resolveConflict(com.db4o.replication.ReplicationProcess,System.Object,System.Object)">com.db4o.replication.ReplicationConflictHandler.resolveConflict
1136 method will be called in the conflict handler.
1140 <see cref="T:com.db4o.replication.ReplicationProcess">com.db4o.replication.ReplicationProcess
1142 interface for this replication process.
1145 <member name="M:com.db4o.ext.ExtObjectContainer.set(System.Object,System.Int32)">
1146 <summary>deep update interface to store or update objects.</summary>
1148 deep update interface to store or update objects.
1149 <br/><br/>In addition to the normal storage interface,
1150 <see cref="M:com.db4o.ObjectContainer.set(System.Object)">ObjectContainer#set(Object)</see>
1152 this method allows a manual specification of the depth, the passed object is to be updated.<br/><br/>
1154 <param name="obj">the object to be stored or updated.</param>
1155 <param name="depth">the depth to which the object is to be updated</param>
1156 <seealso cref="M:com.db4o.ObjectContainer.set(System.Object)">com.db4o.ObjectContainer.set</seealso>
1158 <member name="M:com.db4o.ext.ExtObjectContainer.setSemaphore(System.String,System.Int32)">
1159 <summary>attempts to set a semaphore.</summary>
1161 attempts to set a semaphore.
1163 Semaphores are transient multi-purpose named flags for
1164 <see cref="T:com.db4o.ObjectContainer">ObjectContainers</see>
1167 A transaction that successfully sets a semaphore becomes
1168 the owner of the semaphore. Semaphores can only be owned
1169 by a single transaction at one point in time.<br/><br/>
1170 This method returns true, if the transaction already owned
1171 the semaphore before the method call or if it successfully
1172 acquires ownership of the semaphore.<br/><br/>
1173 The waitForAvailability parameter allows to specify a time
1174 in milliseconds to wait for other transactions to release
1175 the semaphore, in case the semaphore is already owned by
1176 another transaction.<br/><br/>
1177 Semaphores are released by the first occurence of one of the
1179 - the transaction releases the semaphore with
1180 <see cref="M:com.db4o.ext.ExtObjectContainer.releaseSemaphore(System.String)">com.db4o.ext.ExtObjectContainer.releaseSemaphore
1182 <br/> - the transaction is closed with
1183 <see cref="M:com.db4o.ObjectContainer.close">com.db4o.ObjectContainer.close</see>
1184 <br/> - C/S only: the corresponding
1185 <see cref="T:com.db4o.ObjectServer">com.db4o.ObjectServer</see>
1187 closed.<br/> - C/S only: the client
1188 <see cref="T:com.db4o.ObjectContainer">com.db4o.ObjectContainer</see>
1189 looses the connection and is timed
1190 out.<br/><br/> Semaphores are set immediately. They are independant of calling
1191 <see cref="M:com.db4o.ObjectContainer.commit">com.db4o.ObjectContainer.commit</see>
1193 <see cref="M:com.db4o.ObjectContainer.rollback">com.db4o.ObjectContainer.rollback</see>
1194 .<br/><br/> <b>Possible usecases
1195 for semaphores:</b><br/> - prevent other clients from inserting a singleton at the same time.
1196 A suggested name for the semaphore: "SINGLETON_" + Object#getClass().getName().<br/> - lock
1197 objects. A suggested name: "LOCK_" +
1198 <see cref="M:com.db4o.ext.ExtObjectContainer.getID(System.Object)">getID(Object)</see>
1200 generate a unique client ID. A suggested name: "CLIENT_" +
1201 System.currentTimeMillis().<br/><br/>
1203 <param name="name">the name of the semaphore to be set</param>
1204 <param name="waitForAvailability">
1205 the time in milliseconds to wait for other
1206 transactions to release the semaphore. The parameter may be zero, if
1207 the method is to return immediately.
1211 <br/><code>true</code>, if the semaphore could be set or if the
1212 calling transaction already owned the semaphore.
1213 <br/><code>false</code>, if the semaphore is owned by another
1217 <member name="M:com.db4o.ext.ExtObjectContainer.storedClass(System.Object)">
1220 <see cref="T:com.db4o.ext.StoredClass">com.db4o.ext.StoredClass</see>
1221 meta information object.
1223 There are three options how to use this method.<br/>
1224 Any of the following parameters are possible:<br/>
1225 - a fully qualified classname.<br/>
1226 - a Class object.<br/>
1227 - any object to be used as a template.<br/><br/>
1229 <param name="clazz">class name, Class object, or example object.<br/><br/></param>
1232 <see cref="T:com.db4o.ext.StoredClass">com.db4o.ext.StoredClass</see>
1233 meta information object.
1236 <member name="M:com.db4o.ext.ExtObjectContainer.storedClasses">
1238 returns an array of all
1239 <see cref="T:com.db4o.ext.StoredClass">com.db4o.ext.StoredClass</see>
1240 meta information objects.
1243 <member name="M:com.db4o.ext.ExtObjectContainer.version">
1244 <summary>returns the current transaction serial number.</summary>
1246 returns the current transaction serial number.
1247 <br /><br />This serial number can be used to query for modified objects
1248 and for replication purposes.
1250 <returns>the current transaction serial number.</returns>
1252 <member name="T:com.db4o.types.TransientClass">
1253 <summary>Marker interface to denote that a class should not be stored by db4o.</summary>
1254 <remarks>Marker interface to denote that a class should not be stored by db4o.</remarks>
1256 <member name="M:com.db4o.YapStream.activate2(com.db4o.Transaction,System.Object,System.Int32)">
1257 <summary>internal call interface, does not reset i_justActivated</summary>
1259 <member name="M:com.db4o.YapStream.bind1(com.db4o.Transaction,System.Object,System.Int64)">
1260 <summary>TODO: This is not transactional yet.</summary>
1261 <remarks>TODO: This is not transactional yet.</remarks>
1263 <member name="M:com.db4o.YapStream.db4oTypeStored(com.db4o.Transaction,System.Object)">
1264 <summary>allows special handling for all Db4oType objects.</summary>
1266 allows special handling for all Db4oType objects.
1267 Redirected here from #set() so only instanceof check is necessary
1268 in the #set() method.
1270 <returns>object if handled here and #set() should not continue processing</returns>
1272 <member name="M:com.db4o.YapStream.initialize2">
1273 <summary>before file is open</summary>
1275 <member name="M:com.db4o.YapStream.initialize2b">
1276 <summary>overridden in YapObjectCarrier</summary>
1278 <member name="M:com.db4o.YapStream.isClient">
1280 overridden in YapClient
1281 This method will make it easier to refactor than
1282 an "instanceof YapClient" check.
1285 overridden in YapClient
1286 This method will make it easier to refactor than
1287 an "instanceof YapClient" check.
1290 <member name="M:com.db4o.YapStream.showInternalClasses(System.Boolean)">
1292 Objects implementing the "Internal" marker interface are
1293 not visible to queries, unless this flag is set to true.
1296 Objects implementing the "Internal" marker interface are
1297 not visible to queries, unless this flag is set to true.
1298 The caller should reset the flag after the call.
1301 <member name="M:com.db4o.YapStream.stillTo1(com.db4o.List4,com.db4o.Tree[],System.Object,System.Int32,System.Boolean)">
1303 returns true in case an unknown single object is passed
1304 This allows deactivating objects before queries are called.
1307 returns true in case an unknown single object is passed
1308 This allows deactivating objects before queries are called.
1311 <member name="T:com.db4o.ext.ExtClient">
1313 extended client functionality for the
1314 <see cref="T:com.db4o.ext.ExtObjectContainer">ExtObjectContainer</see>
1317 <see cref="M:com.db4o.Db4o.openClient(System.String,System.Int32,System.String,System.String)">Db4o.openClient()</see>
1319 return an <code>ExtClient</code> object so a cast is possible.<br/><br/>
1320 The ObjectContainer functionality is split into multiple interfaces to allow newcomers to
1321 focus on the essential methods.
1324 <member name="M:com.db4o.ext.ExtClient.switchToFile(System.String)">
1325 <summary>requests opening a different server database file for this client session.
1328 requests opening a different server database file for this client session.
1330 This method can be used to switch between database files from the client
1331 side while not having to open a new socket connection or closing the
1334 If the database file does not exist on the server, it will be created.
1336 A typical usecase:<br />
1337 The main database file is used for login, user and rights management only.
1338 Only one single db4o server session needs to be run. Multiple satellite
1339 database files are used for different applications or multiple user circles.
1340 Storing the data to multiple database files has the following advantages:<br />
1341 - easier rights management<br />
1342 - easier backup<br />
1343 - possible later load balancing to multiple servers<br />
1344 - better performance of smaller individual database files<br />
1345 - special debugging database files can be used
1347 User authorization to the alternative database file will not be checked.
1349 All persistent references to objects that are currently in memory
1350 are discarded during the switching process.<br /><br />
1352 <param name="fileName">the fully qualified path of the requested database file.</param>
1354 <member name="M:com.db4o.ext.ExtClient.switchToMainFile">
1356 requests switching back to the main database file after a previous call
1357 to <code>switchToFile(String fileName)</code>.
1360 requests switching back to the main database file after a previous call
1361 to <code>switchToFile(String fileName)</code>.
1363 All persistent references to objects that are currently in memory
1364 are discarded during the switching process.<br /><br />
1367 <member name="M:com.db4o.YapClient.getResponse">
1368 <summary>may return null, if no message is returned.</summary>
1370 may return null, if no message is returned. Error handling is weak and
1371 should ideally be able to trigger some sort of state listener
1372 (connection dead) on the client.
1375 <member name="T:com.db4o.P1Object">
1376 <summary>base class for all database aware objects</summary>
1379 <member name="T:com.db4o.Db4oTypeImpl">
1380 <summary>marker interface for special db4o datatypes</summary>
1382 <member name="T:com.db4o.types.Blob">
1384 the db4o Blob type to store blobs independant of the main database
1385 file and allows to perform asynchronous upload and download operations.
1388 the db4o Blob type to store blobs independant of the main database
1389 file and allows to perform asynchronous upload and download operations.
1392 - Define Blob fields on your user classes.<br />
1393 - As soon as an object of your class is stored, db4o automatically
1394 takes care that the Blob field is set.<br />
1395 - Call readFrom to read a blob file into the db4o system.<br />
1396 - Call writeTo to write a blob file from within the db4o system.<br />
1397 - getStatus may help you to determine, whether data has been
1398 previously stored. It may also help you to track the completion
1399 of the current process.
1401 db4o client/server carries out all blob operations in a seperate
1402 thread on a specially dedicated socket. One socket is used for
1403 all blob operations and operations are queued. Your application
1404 may continue to access db4o while a blob is transferred in the
1408 <member name="T:com.db4o.types.Db4oType">
1409 <summary>marker interface for all special db4o types.</summary>
1410 <remarks>marker interface for all special db4o types.</remarks>
1412 <member name="M:com.db4o.types.Blob.getFileName">
1413 <summary>returns the name of the file the blob was stored to.</summary>
1415 returns the name of the file the blob was stored to.
1416 <br /><br />The method may return null, if the file was never
1419 <returns>String the name of the file.</returns>
1421 <member name="M:com.db4o.types.Blob.getStatus">
1422 <summary>returns the status after the last read- or write-operation.</summary>
1424 returns the status after the last read- or write-operation.
1425 <br/><br/>The status value returned may be any of the following:<br/>
1426 Status.UNUSED no data was ever stored to the Blob field.<br/>
1427 Status.AVAILABLE available data was previously stored to the Blob field.<br/>
1428 Status.QUEUED an operation was triggered and is waiting for it's turn in the Blob queue.<br/>
1429 Status.COMPLETED the last operation on this field was completed successfully.<br/>
1430 Status.PROCESSING for internal use only.<br/>
1431 Status.ERROR the last operation failed.<br/>
1432 or a double between 0 and 1 that signifies the current completion percentage of the currently
1433 running operation.<br/><br/> the five STATUS constants defined in this interface or a double
1434 between 0 and 1 that signifies the completion of the currently running operation.<br/><br/>
1436 <returns>status - the current status</returns>
1437 <seealso cref="T:com.db4o.ext.Status">STATUS constants</seealso>
1439 <member name="M:com.db4o.types.Blob.readFrom(j4o.io.File)">
1440 <summary>reads a file into the db4o system and stores it as a blob.</summary>
1442 reads a file into the db4o system and stores it as a blob.
1444 In Client/Server mode db4o will open an additional socket and
1445 process writing data in an additional thread.
1448 <param name="file">the file the blob is to be read from.</param>
1449 <exception cref="T:j4o.io.IOException">in case of errors</exception>
1451 <member name="M:com.db4o.types.Blob.readLocal(j4o.io.File)">
1452 <summary>reads a file into the db4o system and stores it as a blob.</summary>
1454 reads a file into the db4o system and stores it as a blob.
1456 db4o will use the local file system in Client/Server mode also.
1459 <param name="file">the file the blob is to be read from.</param>
1460 <exception cref="T:j4o.io.IOException">in case of errors</exception>
1462 <member name="M:com.db4o.types.Blob.writeLocal(j4o.io.File)">
1463 <summary>writes stored blob data to a file.</summary>
1465 writes stored blob data to a file.
1467 db4o will use the local file system in Client/Server mode also.
1470 <exception cref="T:j4o.io.IOException">
1471 in case of errors and in case no blob
1474 <param name="file">the file the blob is to be written to.</param>
1476 <member name="M:com.db4o.types.Blob.writeTo(j4o.io.File)">
1477 <summary>writes stored blob data to a file.</summary>
1479 writes stored blob data to a file.
1481 In Client/Server mode db4o will open an additional socket and
1482 process writing data in an additional thread.
1485 <exception cref="T:j4o.io.IOException">
1486 in case of errors and in case no blob
1489 <param name="file">the file the blob is to be written to.</param>
1491 <member name="T:com.db4o.reflect.generic.GenericArrayClass">
1494 <member name="T:com.db4o.reflect.generic.GenericClass">
1497 <member name="T:com.db4o.reflect.ReflectClass">
1498 <summary>representation for java.lang.Class.</summary>
1500 representation for java.lang.Class.
1501 <br/><br/>See the respective documentation in the JDK API.
1503 <seealso cref="T:com.db4o.reflect.Reflector">com.db4o.reflect.Reflector</seealso>
1505 <member name="M:com.db4o.reflect.ReflectClass.skipConstructor(System.Boolean)">
1507 instructs to install or uninstall a special constructor for the
1508 respective platform that avoids calling the constructor for the
1512 true to try to install a special constructor, false if
1513 such a constructor is to be removed if present
1515 <returns>true if the special constructor is in place after the call</returns>
1517 <member name="T:com.db4o.YapStringIOUnicode">
1520 <member name="T:com.db4o.YapStringIO">
1523 <member name="T:com.db4o.YapDataType">
1526 <member name="M:com.db4o.YapDataType.readArray(System.Object,com.db4o.YapWriter)">
1527 <summary>performance optimized read (only used for byte[] so far)</summary>
1529 <member name="M:com.db4o.YapDataType.writeArray(System.Object,com.db4o.YapWriter)">
1530 <summary>performance optimized write (only used for byte[] so far)</summary>
1532 <member name="M:com.db4o.YapJavaClass.primitiveClassReflector">
1533 <summary>classReflector() has to be called first, before this returns a value</summary>
1535 <member name="T:com.db4o.QE">
1536 <summary>Query Evaluator - Represents such things as >, >=, <, <=, EQUAL, LIKE, etc.
1538 <remarks>Query Evaluator - Represents such things as >, >=, <, <=, EQUAL, LIKE, etc.
1542 <member name="M:com.db4o.QE.indexBitMap(System.Boolean[])">
1543 <summary>Specifies which part of the index to take.</summary>
1545 Specifies which part of the index to take.
1552 <param name="bits"></param>
1554 <member name="T:com.db4o.YapIndependantType">
1556 Common base class for YapString and YapArray:
1557 There is one indirection in the database file to this.
1560 Common base class for YapString and YapArray:
1561 There is one indirection in the database file to this.
1565 <member name="M:com.db4o.YapIndependantType.deleteEmbedded(com.db4o.YapWriter)">
1566 <summary>overriden in YapArray</summary>
1568 <member name="T:com.db4o.MClassNameForID">
1569 <summary>get the classname for an internal ID</summary>
1571 <member name="T:com.db4o.foundation.SimpleTimer">
1574 <member name="T:com.db4o.IxRemove">
1575 <summary>A node to represent an entry removed from an Index</summary>
1577 <member name="T:com.db4o.IxPatch">
1578 <summary>Node for index tree, can be addition or removal node</summary>
1580 <member name="T:com.db4o.Tree">
1583 <member name="M:com.db4o.Tree.compare(com.db4o.Tree)">
1585 returns 0, if keys are equal
1586 returns negative if compared key (a_to) is smaller
1587 returns positive if compared key (a_to) is greater
1590 <member name="M:com.db4o.Tree.nodes">
1591 <returns>the number of nodes in this tree for balancing</returns>
1593 <member name="M:com.db4o.Tree.size">
1594 <returns>the number of objects represented.</returns>
1596 <member name="T:com.db4o.ext.Db4oDatabase">
1597 <summary>Class to identify a database by it's signature.</summary>
1599 Class to identify a database by it's signature.
1600 <br /><br />db4o UUID handling uses a reference to the Db4oDatabase object, that
1601 represents the database an object was created on.
1604 <member name="T:com.db4o.Internal">
1605 <summary>Marker interface to denote that a class is used for db4o internals.</summary>
1606 <remarks>Marker interface to denote that a class is used for db4o internals.</remarks>
1609 <member name="F:com.db4o.ext.Db4oDatabase.i_signature">
1610 <summary>Field is public for implementation reasons, DO NOT TOUCH!</summary>
1612 <member name="F:com.db4o.ext.Db4oDatabase.i_uuid">
1613 <summary>Field is public for implementation reasons, DO NOT TOUCH!</summary>
1615 <member name="F:com.db4o.ext.Db4oDatabase.i_stream">
1616 <summary>cached ObjectContainer for getting the own ID.</summary>
1617 <remarks>cached ObjectContainer for getting the own ID.</remarks>
1619 <member name="F:com.db4o.ext.Db4oDatabase.i_id">
1620 <summary>cached ID, only valid in combination with i_objectContainer</summary>
1622 <member name="M:com.db4o.ext.Db4oDatabase.generate">
1623 <summary>generates a new Db4oDatabase object with a unique signature.</summary>
1624 <remarks>generates a new Db4oDatabase object with a unique signature.</remarks>
1626 <member name="M:com.db4o.ext.Db4oDatabase.Equals(System.Object)">
1627 <summary>comparison by signature.</summary>
1628 <remarks>comparison by signature.</remarks>
1630 <member name="M:com.db4o.ext.Db4oDatabase.getID(com.db4o.Transaction)">
1631 <summary>gets the db4o ID, and may cache it for performance reasons.</summary>
1632 <remarks>gets the db4o ID, and may cache it for performance reasons.</remarks>
1633 <param name="a_oc">the ObjectContainer</param>
1634 <returns>the db4o ID for the ObjectContainer</returns>
1636 <member name="T:com.db4o.Iterator4">
1639 <member name="T:com.db4o.reflect.Reflector">
1640 <summary>root of the reflection implementation API.</summary>
1642 root of the reflection implementation API.
1643 <br/><br/>The open reflection interface is supplied to allow to implement
1644 reflection functionality on JDKs that do not come with the
1645 java.lang.reflect.* package.<br/><br/>
1646 See the code in com.db4o.samples.reflect for a reference implementation
1647 that uses java.lang.reflect.*.
1650 <see cref="M:com.db4o.config.Configuration.reflectWith(com.db4o.reflect.Reflector)">Db4o.configure().reflectWith(IReflect reflector)
1652 to register the use of your implementation before opening database
1656 <member name="M:com.db4o.reflect.Reflector.array">
1657 <summary>returns an IArray object, the equivalent to java.lang.reflect.Array.</summary>
1658 <remarks>returns an IArray object, the equivalent to java.lang.reflect.Array.</remarks>
1660 <member name="M:com.db4o.reflect.Reflector.constructorCallsSupported">
1661 <summary>specifiy whether parameterized Constructors are supported.</summary>
1663 specifiy whether parameterized Constructors are supported.
1664 <br /><br />The support of Constructors is optional. If Constructors
1665 are not supported, every persistent class needs a public default
1666 constructor with zero parameters.
1669 <member name="M:com.db4o.reflect.Reflector.forClass(j4o.lang.Class)">
1670 <summary>returns an IClass for a Class</summary>
1672 <member name="M:com.db4o.reflect.Reflector.forName(System.String)">
1674 returns an IClass class reflector for a class name or null
1675 if no such class is found
1678 <member name="M:com.db4o.reflect.Reflector.forObject(System.Object)">
1679 <summary>returns an IClass for an object or null if the passed object is null.</summary>
1680 <remarks>returns an IClass for an object or null if the passed object is null.</remarks>
1682 <member name="T:com.db4o.reflect.generic.GenericArray">
1685 <member name="T:com.db4o.reflect.generic.GenericObject">
1688 <member name="T:com.db4o.config.Entry">
1691 <member name="T:com.db4o.config.Compare">
1692 <summary>allows special comparison behaviour during query evaluation.</summary>
1694 allows special comparison behaviour during query evaluation.
1695 <br /><br />db4o will use the Object returned by the <code>compare()</code>
1696 method for all query comparisons.
1699 <member name="M:com.db4o.config.Compare.compare">
1700 <summary>return the Object to be compared during query evaluation.</summary>
1701 <remarks>return the Object to be compared during query evaluation.</remarks>
1703 <member name="T:com.db4o.types.SecondClass">
1704 <summary>marks objects as second class objects.</summary>
1706 marks objects as second class objects.
1707 <br /><br />Currently this interface is for internal use only
1708 to help discard com.db4o.config.Entry objects in the
1710 <br /><br />For future versions this interface is planned to
1711 mark objects that:<br />
1712 - are not to be held in the reference mechanism<br />
1713 - should always be activated with their parent objects<br />
1714 - should always be deleted with their parent objects<br />
1715 - should always be deleted if they are not referenced any
1719 <member name="T:com.db4o.YapFile">
1722 <member name="T:com.db4o.QEMulti">
1725 <member name="T:com.db4o.query.Candidate">
1728 <see cref="T:com.db4o.query.Evaluation">com.db4o.query.Evaluation</see>
1732 <see cref="M:com.db4o.query.Query.execute">query execution</see>
1734 <see cref="T:com.db4o.query.Evaluation">com.db4o.query.Evaluation</see>
1736 handlers are called with
1737 <see cref="T:com.db4o.query.Candidate">com.db4o.query.Candidate</see>
1738 proxies that represent the persistent objects that
1740 <see cref="T:com.db4o.query.Query">com.db4o.query.Query</see>
1744 <see cref="T:com.db4o.query.Candidate">com.db4o.query.Candidate</see>
1745 provides access to the persistent object it
1746 represents and allows to specify, whether it is to be included in the
1747 <see cref="T:com.db4o.ObjectSet">com.db4o.ObjectSet</see>
1751 <member name="M:com.db4o.query.Candidate.getObject">
1753 returns the persistent object that is represented by this query
1754 <see cref="T:com.db4o.query.Candidate">com.db4o.query.Candidate</see>
1757 <returns>Object the persistent object.</returns>
1759 <member name="M:com.db4o.query.Candidate.include(System.Boolean)">
1761 specify whether the Candidate is to be included in the
1762 <see cref="T:com.db4o.ObjectSet">com.db4o.ObjectSet</see>
1765 This method may be called multiple times. The last call prevails.
1767 <param name="flag">inclusion.</param>
1769 <member name="M:com.db4o.query.Candidate.objectContainer">
1772 <see cref="T:com.db4o.ObjectContainer">com.db4o.ObjectContainer</see>
1773 the Candidate object is stored in.
1777 <see cref="T:com.db4o.ObjectContainer">com.db4o.ObjectContainer</see>
1780 <member name="T:com.db4o.List4">
1781 <summary>elements in linked list Collection4</summary>
1784 <member name="F:com.db4o.List4.i_next">
1785 <summary>next element in list</summary>
1787 <member name="F:com.db4o.List4.i_object">
1788 <summary>carried object</summary>
1790 <member name="T:com.db4o.reflect.ReflectField">
1791 <summary>representation for java.lang.reflect.Field.</summary>
1793 representation for java.lang.reflect.Field.
1794 <br/><br/>See the respective documentation in the JDK API.
1796 <seealso cref="T:com.db4o.reflect.Reflector">com.db4o.reflect.Reflector</seealso>
1798 <member name="T:com.db4o.P1ListElement">
1799 <summary>element of linked lists</summary>
1802 <member name="T:com.db4o.YapArrayN">
1803 <summary>n-dimensional array</summary>
1805 <member name="T:com.db4o.Collection4">
1806 <summary>Fast linked list for all usecases.</summary>
1807 <remarks>Fast linked list for all usecases.</remarks>
1810 <member name="F:com.db4o.Collection4.i_first">
1811 <summary>first element of the linked list</summary>
1813 <member name="F:com.db4o.Collection4.i_size">
1814 <summary>number of elements collected</summary>
1816 <member name="F:com.db4o.Collection4.emptyIterator">
1817 <summary>performance trick only: no object creation</summary>
1819 <member name="M:com.db4o.Collection4.containsByIdentity(System.Object)">
1820 <summary>tests if the object is in the Collection.</summary>
1822 tests if the object is in the Collection.
1826 <member name="M:com.db4o.Collection4.get(System.Object)">
1828 returns the first object found in the Collections
1829 that equals() the passed object
1832 <member name="M:com.db4o.Collection4.ensure(System.Object)">
1833 <summary>makes sure the passed object is in the Collection.</summary>
1835 makes sure the passed object is in the Collection.
1836 equals() comparison.
1839 <member name="M:com.db4o.Collection4.remove(System.Object)">
1841 removes an object from the Collection
1843 returns the removed object or null, if none found
1846 <member name="M:com.db4o.Collection4.toArray(System.Object[])">
1847 <summary>This is a non reflection implementation for more speed.</summary>
1849 This is a non reflection implementation for more speed.
1850 In contrast to the JDK behaviour, the passed array has
1851 to be initialized to the right length.
1854 <member name="T:com.db4o.foundation.Cool">
1855 <summary>A collection of cool static methods that should be part of the runtime environment but are not.
1857 <remarks>A collection of cool static methods that should be part of the runtime environment but are not.
1861 <member name="T:com.db4o.YapMemoryFile">
1864 <member name="T:com.db4o.reflect.net.NetArray">
1865 <remarks>Reflection implementation for Array to map to .NET reflection.</remarks>
1867 <member name="T:com.db4o.reflect.ReflectArray">
1868 <summary>representation for java.lang.reflect.Array.</summary>
1870 representation for java.lang.reflect.Array.
1871 <br/><br/>See the respective documentation in the JDK API.
1873 <seealso cref="T:com.db4o.reflect.Reflector">com.db4o.reflect.Reflector</seealso>
1875 <member name="T:com.db4o.YapField">
1878 <member name="T:com.db4o.ext.StoredField">
1879 <summary>the internal representation of a field on a stored class.</summary>
1880 <remarks>the internal representation of a field on a stored class.</remarks>
1882 <member name="M:com.db4o.ext.StoredField.get(System.Object)">
1883 <summary>returns the field value on the passed object.</summary>
1885 returns the field value on the passed object.
1886 <br /><br />This method will also work, if the field is not present in the current
1887 version of the class.
1888 <br /><br />It is recommended to use this method for refactoring purposes, if fields
1889 are removed and the field values need to be copied to other fields.
1892 <member name="M:com.db4o.ext.StoredField.getName">
1893 <summary>returns the name of the field.</summary>
1894 <remarks>returns the name of the field.</remarks>
1896 <member name="M:com.db4o.ext.StoredField.getStoredType">
1897 <summary>returns the Class (Java) / Type (.NET) of the field.</summary>
1899 returns the Class (Java) / Type (.NET) of the field.
1900 <br /><br />For array fields this method will return the type of the array.
1901 Use {link #isArray()} to detect arrays.
1904 <member name="M:com.db4o.ext.StoredField.isArray">
1905 <summary>returns true if the field is an array.</summary>
1906 <remarks>returns true if the field is an array.</remarks>
1908 <member name="M:com.db4o.ext.StoredField.rename(System.String)">
1909 <summary>modifies the name of this stored field.</summary>
1911 modifies the name of this stored field.
1912 <br /><br />After renaming one or multiple fields the ObjectContainer has
1913 to be closed and reopened to allow internal caches to be refreshed.<br /><br />
1915 <param name="name">the new name</param>
1917 <member name="M:com.db4o.YapField.getOrCreate(com.db4o.Transaction,System.Object)">
1919 dirty hack for com.db4o.types some of them need to be set automatically
1920 TODO: Derive from YapField for Db4oTypes
1923 <member name="T:com.db4o.YapObjectCarrier">
1929 navigation by ID only both sides need synchronised ClassCollections and
1930 MetaInformationCaches
1934 <member name="T:com.db4o.Hashtable4">
1937 <member name="T:com.db4o.types.Db4oCollections">
1938 <summary>factory and other methods for database-aware collections.</summary>
1939 <remarks>factory and other methods for database-aware collections.</remarks>
1941 <member name="M:com.db4o.types.Db4oCollections.newLinkedList">
1942 <summary>creates a new database-aware linked list.</summary>
1944 creates a new database-aware linked list.
1945 <br/><br/>Usage:<br/>
1946 - declare a <code>java.util.List</code> variable in your persistent class.<br/>
1947 - fill this variable with this method.<br/><br/>
1948 <b>Example:</b><br/><br/>
1953 MyClass myObject = new MyClass();
1954 myObject.myList = objectContainer.ext().collections().newLinkedList();</pre></code><br/><br/>
1958 <see cref="T:com.db4o.types.Db4oList">com.db4o.types.Db4oList</see>
1960 <seealso cref="T:com.db4o.types.Db4oList">com.db4o.types.Db4oList</seealso>
1962 <member name="M:com.db4o.types.Db4oCollections.newHashMap(System.Int32)">
1963 <summary>creates a new database-aware HashMap.</summary>
1965 creates a new database-aware HashMap.
1967 This map will call the hashCode() method on the key objects to calculate the
1968 hash value. Since the hash value is stored to the ObjectContainer, key objects
1969 will have to return the same hashCode() value in every VM session.
1972 - declare a <code>java.util.Map</code> variable in your persistent class.<br/>
1973 - fill the variable with this method.<br/><br/>
1974 <b>Example:</b><br/><br/>
1979 MyClass myObject = new MyClass();
1980 myObject.myMap = objectContainer.ext().collections().newHashMap(0);</pre></code><br/><br/>
1982 <param name="initialSize">the initial size of the HashMap</param>
1985 <see cref="T:com.db4o.types.Db4oMap">com.db4o.types.Db4oMap</see>
1987 <seealso cref="T:com.db4o.types.Db4oMap">com.db4o.types.Db4oMap</seealso>
1989 <member name="M:com.db4o.types.Db4oCollections.newIdentityHashMap(System.Int32)">
1990 <summary>creates a new database-aware IdentityHashMap.</summary>
1992 creates a new database-aware IdentityHashMap.
1994 Only first class objects already stored to the ObjectContainer (Objects with a db4o ID)
1995 can be used as keys for this type of Map. The internal db4o ID will be used as
1999 - declare a <code>java.util.Map</code> variable in your persistent class.<br/>
2000 - fill the variable with this method.<br/><br/>
2001 <b>Example:</b><br/><br/>
2006 MyClass myObject = new MyClass();
2007 myObject.myMap = objectContainer.ext().collections().newIdentityMap(0);</pre></code><br/><br/>
2009 <param name="initialSize">the initial size of the HashMap</param>
2012 <see cref="T:com.db4o.types.Db4oMap">com.db4o.types.Db4oMap</see>
2014 <seealso cref="T:com.db4o.types.Db4oMap">com.db4o.types.Db4oMap</seealso>
2016 <member name="T:com.db4o.reflect.net.NetClass">
2017 <summary>Reflection implementation for Class to map to .NET reflection.</summary>
2018 <remarks>Reflection implementation for Class to map to .NET reflection.</remarks>
2020 <member name="T:com.db4o.config.ObjectField">
2021 <summary>configuration interface for fields of classes.</summary>
2023 configuration interface for fields of classes.
2024 <br/><br/><b>Examples: ../com/db4o/samples/translators.</b><br/><br/>
2025 Use the global Configuration object to configure db4o before opening an
2026 <see cref="T:com.db4o.ObjectContainer">ObjectContainer</see>
2028 <b>Example:</b><br/>
2030 Configuration config = Db4o.configure();<br/>
2031 ObjectClass oc = config.objectClass("package.className");<br/>
2032 ObjectField of = oc.objectField("fieldName");
2033 of.rename("newFieldName");
2034 of.queryEvaluation(false);
2038 <member name="M:com.db4o.config.ObjectField.cascadeOnActivate(System.Boolean)">
2039 <summary>sets cascaded activation behaviour.</summary>
2041 sets cascaded activation behaviour.
2043 Setting cascadeOnActivate to true will result in the activation
2044 of the object attribute stored in this field if the parent object
2047 The default setting is <b>false</b>.<br/><br/>
2049 <param name="flag">whether activation is to be cascaded to the member object.</param>
2050 <seealso cref="M:com.db4o.config.Configuration.activationDepth(System.Int32)">Why activation?</seealso>
2051 <seealso cref="M:com.db4o.config.ObjectClass.cascadeOnActivate(System.Boolean)">com.db4o.config.ObjectClass.cascadeOnActivate
2053 <seealso cref="M:com.db4o.ObjectContainer.activate(System.Object,System.Int32)">com.db4o.ObjectContainer.activate
2055 <seealso cref="T:com.db4o.ext.ObjectCallbacks">Using callbacks</seealso>
2057 <member name="M:com.db4o.config.ObjectField.cascadeOnDelete(System.Boolean)">
2058 <summary>sets cascaded delete behaviour.</summary>
2060 sets cascaded delete behaviour.
2062 Setting cascadeOnDelete to true will result in the deletion of
2063 the object attribute stored in this field on the parent object
2064 if the parent object is passed to
2065 <see cref="M:com.db4o.ObjectContainer.delete(System.Object)">ObjectContainer#delete()</see>
2068 <b>Caution !</b><br/>
2069 This setting will also trigger deletion of the old member object, on
2071 <see cref="M:com.db4o.ObjectContainer.set(System.Object)">ObjectContainer#set()</see>
2073 An example of the behaviour can be found in
2074 <see cref="M:com.db4o.config.ObjectClass.cascadeOnDelete(System.Boolean)">ObjectClass#cascadeOnDelete()
2077 The default setting is <b>false</b>.<br/><br/>
2079 <param name="flag">whether deletes are to be cascaded to the member object.</param>
2080 <seealso cref="M:com.db4o.config.ObjectClass.cascadeOnDelete(System.Boolean)">com.db4o.config.ObjectClass.cascadeOnDelete
2082 <seealso cref="M:com.db4o.ObjectContainer.delete(System.Object)">com.db4o.ObjectContainer.delete</seealso>
2083 <seealso cref="T:com.db4o.ext.ObjectCallbacks">Using callbacks</seealso>
2085 <member name="M:com.db4o.config.ObjectField.cascadeOnUpdate(System.Boolean)">
2086 <summary>sets cascaded update behaviour.</summary>
2088 sets cascaded update behaviour.
2090 Setting cascadeOnUpdate to true will result in the update
2091 of the object attribute stored in this field if the parent object
2093 <see cref="M:com.db4o.ObjectContainer.set(System.Object)">ObjectContainer#set()</see>
2096 The default setting is <b>false</b>.<br/><br/>
2098 <param name="flag">whether updates are to be cascaded to the member object.</param>
2099 <seealso cref="M:com.db4o.ObjectContainer.set(System.Object)">com.db4o.ObjectContainer.set</seealso>
2100 <seealso cref="M:com.db4o.config.ObjectClass.cascadeOnUpdate(System.Boolean)">com.db4o.config.ObjectClass.cascadeOnUpdate
2102 <seealso cref="M:com.db4o.config.ObjectClass.updateDepth(System.Int32)">com.db4o.config.ObjectClass.updateDepth
2104 <seealso cref="T:com.db4o.ext.ObjectCallbacks">Using callbacks</seealso>
2106 <member name="M:com.db4o.config.ObjectField.indexed(System.Boolean)">
2107 <summary>turns indexing on or off.</summary>
2109 turns indexing on or off.
2110 <br/><br/>Field indices dramatically improve query performance but they may
2111 considerably reduce storage and update performance.<br/>The best benchmark whether
2112 or not an index on a field achieves the desired result is the completed application
2113 - with a data load that is typical for it's use.<br/><br/>This configuration setting
2114 is only checked when the
2115 <see cref="T:com.db4o.ObjectContainer">com.db4o.ObjectContainer</see>
2117 setting is set to <code>true</code> and an index does not exist, the index will be
2118 created. If the setting is set to <code>false</code> and an index does exist the
2119 index will be dropped.<br/><br/>
2122 specify <code>true</code> or <code>false</code> to turn indexing on for
2126 <member name="M:com.db4o.config.ObjectField.rename(System.String)">
2127 <summary>renames a field of a stored class.</summary>
2129 renames a field of a stored class.
2130 <br /><br />Use this method to refactor classes.
2131 <br /><br /><b>Examples: ../com/db4o/samples/rename.</b><br /><br />
2133 <param name="newName">the new fieldname.</param>
2135 <member name="M:com.db4o.config.ObjectField.queryEvaluation(System.Boolean)">
2136 <summary>toggles query evaluation.</summary>
2138 toggles query evaluation.
2139 <br /><br />All fields are evaluated by default. Use this method to turn query
2140 evaluation of for specific fields.<br /><br />
2142 <param name="flag">specify <code>false</code> to ignore this field during query evaluation.
2145 <member name="T:com.db4o.QELike">
2148 <member name="T:com.db4o.QEAbstract">
2151 <member name="T:com.db4o.replication.ReplicationProcess">
2152 <summary>db4o replication interface.</summary>
2153 <remarks>db4o replication interface.</remarks>
2154 <seealso cref="M:com.db4o.ext.ExtObjectContainer.replicationBegin(com.db4o.ObjectContainer,com.db4o.replication.ReplicationConflictHandler)">com.db4o.ext.ExtObjectContainer.replicationBegin
2157 <member name="M:com.db4o.replication.ReplicationProcess.checkConflict(System.Object)">
2159 checks if an object has been modified in both ObjectContainers involved
2160 in the replication process since the last time the two ObjectContainers
2164 checks if an object has been modified in both ObjectContainers involved
2165 in the replication process since the last time the two ObjectContainers
2168 <param name="obj">- the object to check for a conflict.</param>
2170 <member name="M:com.db4o.replication.ReplicationProcess.commit">
2171 <summary>commits the replication task to both involved ObjectContainers.</summary>
2173 commits the replication task to both involved ObjectContainers.
2174 <br /><br />Call this method after replication is completed to
2175 write all changes back to the database files. This method
2176 synchronizes both ObjectContainers by setting the transaction
2177 serial number (@link ExtObjectContainer#version()) on both
2178 ObjectContainers to be equal
2179 to the higher version number among the two. A record with
2180 information about this replication task, including the
2181 synchronized version number is stored to both ObjectContainers
2182 to allow future incremental replication.
2185 <member name="M:com.db4o.replication.ReplicationProcess.peerA">
2186 <summary>returns the "peerA" ObjectContainer involved in this ReplicationProcess.
2188 <remarks>returns the "peerA" ObjectContainer involved in this ReplicationProcess.
2191 <member name="M:com.db4o.replication.ReplicationProcess.peerB">
2192 <summary>returns the "peerB" ObjectContainer involved in this ReplicationProcess.
2194 <remarks>returns the "peerB" ObjectContainer involved in this ReplicationProcess.
2197 <member name="M:com.db4o.replication.ReplicationProcess.replicate(System.Object)">
2198 <summary>replicates an object.</summary>
2200 replicates an object.
2201 <br /><br />By default the version number of the object is checked in
2202 both ObjectContainers involved in the replication process. If the
2203 version number has not changed since the last time the two
2204 ObjectContainers were replicated
2206 <param name="obj"></param>
2208 <member name="M:com.db4o.replication.ReplicationProcess.rollback">
2209 <summary>ends a replication task without committing any changes.</summary>
2210 <remarks>ends a replication task without committing any changes.</remarks>
2212 <member name="M:com.db4o.replication.ReplicationProcess.setDirection(com.db4o.ObjectContainer,com.db4o.ObjectContainer)">
2214 modifies the replication policy, what to do on a call to
2215 <see cref="M:com.db4o.replication.ReplicationProcess.replicate(System.Object)">com.db4o.replication.ReplicationProcess.replicate
2218 <br/><br/>If no direction is set, the replication process will be bidirectional by
2221 <param name="relicateFrom">the ObjectContainer to replicate from</param>
2222 <param name="replicateTo">the ObjectContainer to replicate to</param>
2224 <member name="M:com.db4o.replication.ReplicationProcess.whereModified(com.db4o.query.Query)">
2226 adds a constraint to the passed Query to query only for objects that
2227 were modified since the last replication process between the two
2228 ObjectContainers involved in this replication process.
2231 adds a constraint to the passed Query to query only for objects that
2232 were modified since the last replication process between the two
2233 ObjectContainers involved in this replication process.
2235 <param name="query">the Query to be constrained</param>
2237 <member name="M:com.db4o.ReplicationImpl.tryToHandle(com.db4o.YapStream,System.Object)">
2238 <summary>called by YapStream.set()</summary>
2240 id of reference in caller or 0 if not handled or -1
2241 if #set() should stop processing because of a direction
2245 <member name="T:com.db4o.QENot">
2248 <member name="T:com.db4o.SerializedRoot">
2251 <member name="T:com.db4o.YapReader">
2252 <summary>public for .NET conversion reasons.</summary>
2253 <remarks>public for .NET conversion reasons.</remarks>
2256 <member name="M:com.db4o.YapReader.read(com.db4o.YapStream,System.Int32,System.Int32)">
2257 <summary>non-encrypted read, used for indexes</summary>
2258 <param name="a_stream"></param>
2259 <param name="a_address"></param>
2261 <member name="T:com.db4o.ext.StoredClass">
2262 <summary>the internal representation of a stored class.</summary>
2263 <remarks>the internal representation of a stored class.</remarks>
2265 <member name="M:com.db4o.ext.StoredClass.getName">
2266 <summary>returns the name of this stored class.</summary>
2267 <remarks>returns the name of this stored class.</remarks>
2269 <member name="M:com.db4o.ext.StoredClass.getIDs">
2270 <summary>returns an array of IDs of all stored object instances of this stored class.
2272 <remarks>returns an array of IDs of all stored object instances of this stored class.
2275 <member name="M:com.db4o.ext.StoredClass.getParentStoredClass">
2276 <summary>returns the StoredClass for the parent of the class, this StoredClass represents.
2278 <remarks>returns the StoredClass for the parent of the class, this StoredClass represents.
2281 <member name="M:com.db4o.ext.StoredClass.getStoredFields">
2282 <summary>returns all stored fields of this stored class.</summary>
2283 <remarks>returns all stored fields of this stored class.</remarks>
2285 <member name="M:com.db4o.ext.StoredClass.rename(System.String)">
2286 <summary>renames this stored class.</summary>
2288 renames this stored class.
2289 <br /><br />After renaming one or multiple classes the ObjectContainer has
2290 to be closed and reopened to allow internal caches to be refreshed.
2291 <br /><br />.NET: As the name you should provide [Classname, Assemblyname]<br /><br />
2293 <param name="name">the new name</param>
2295 <member name="M:com.db4o.ext.StoredClass.storedField(System.String,System.Object)">
2296 <summary>returns an existing stored field of this stored class.</summary>
2297 <remarks>returns an existing stored field of this stored class.</remarks>
2298 <param name="name">the name of the field</param>
2300 the type of the field.
2301 There are four possibilities how to supply the type:<br/>
2302 - a Class object. (.NET: a Type object)<br/>
2303 - a fully qualified classname.<br/>
2304 - any object to be used as a template.<br/><br/>
2305 - null, if the first found field should be returned.
2309 <see cref="T:com.db4o.ext.StoredField">com.db4o.ext.StoredField</see>
2312 <member name="T:com.db4o.QCandidates">
2313 <summary>Holds the tree of QCandidate objects and the list of QContraints during query evaluation.
2316 Holds the tree of QCandidate objects and the list of QContraints during query evaluation.
2317 The query work (adding and removing nodes) happens here.
2318 Candidates during query evaluation. QCandidate objects are stored in i_root
2322 <member name="T:com.db4o.reflect.net.SerializationConstructor">
2323 <summary>Constructs objects by using System.Runtime.Serialization.FormatterServices.GetUninitializedObject
2324 and bypasses calls to user contructors this way. Not available on CompactFramework
2327 <member name="T:com.db4o.reflect.ReflectConstructor">
2328 <summary>representation for java.lang.reflect.Constructor.</summary>
2330 representation for java.lang.reflect.Constructor.
2331 <br/><br/>See the respective documentation in the JDK API.
2333 <seealso cref="T:com.db4o.reflect.Reflector">com.db4o.reflect.Reflector</seealso>
2335 <member name="T:com.db4o.ext.Db4oCallback">
2336 <summary>generic callback interface.</summary>
2337 <remarks>generic callback interface.</remarks>
2339 <member name="M:com.db4o.ext.Db4oCallback.callback(System.Object)">
2340 <summary>the callback method</summary>
2341 <param name="obj">the object passed to the callback method</param>
2343 <member name="T:com.db4o.YapMeta">
2346 <member name="T:com.db4o.Unobfuscated">
2349 <member name="T:com.db4o.QOrder">
2352 <member name="T:com.db4o.TNull">
2355 <member name="T:com.db4o.config.ObjectTranslator">
2356 <summary>translator interface to translate objects on storage and activation.</summary>
2358 translator interface to translate objects on storage and activation.
2359 <br /><br /><b>Examples: ../com/db4o/samples/translators.</b><br /><br />
2360 By writing classes that implement this interface, it is possible to
2361 define how application classes are to be converted to be stored more efficiently.
2363 Before starting a db4o session, translator classes need to be registered. An example:<br />
2365 Configuration config = Db4o.configure();<br />
2366 ObjectClass oc = config.objectClass("package.className");<br />
2367 oc.translate(new FooTranslator());</code><br /><br />
2370 <member name="M:com.db4o.config.ObjectTranslator.onStore(com.db4o.ObjectContainer,System.Object)">
2371 <summary>db4o calls this method during storage and query evaluation.</summary>
2372 <remarks>db4o calls this method during storage and query evaluation.</remarks>
2373 <param name="container">the ObjectContainer used</param>
2374 <param name="applicationObject">the Object to be translated</param>
2376 return the object to store.<br/>It needs to be of the class
2377 <see cref="M:com.db4o.config.ObjectTranslator.storedClass">storedClass()</see>
2381 <member name="M:com.db4o.config.ObjectTranslator.onActivate(com.db4o.ObjectContainer,System.Object,System.Object)">
2382 <summary>db4o calls this method during activation.</summary>
2383 <remarks>db4o calls this method during activation.</remarks>
2384 <param name="container">the ObjectContainer used</param>
2385 <param name="applicationObject">the object to set the members on</param>
2386 <param name="storedObject">the object that was stored</param>
2388 <member name="M:com.db4o.config.ObjectTranslator.storedClass">
2389 <summary>return the Class you are converting to.</summary>
2390 <remarks>return the Class you are converting to.</remarks>
2392 the Class of the object you are returning with the method
2393 <see cref="M:com.db4o.config.ObjectTranslator.onStore(com.db4o.ObjectContainer,System.Object)">onStore()</see>
2396 <member name="T:com.db4o.TreeReader">
2399 <member name="T:com.db4o.YapClass">
2402 <member name="T:com.db4o.UseSystemTransaction">
2403 <summary>marker interface to distinguish, which transaction to use</summary>
2405 <member name="M:com.db4o.YapClass.isStrongTyped">
2406 <summary>no any, primitive, array or other tricks.</summary>
2408 no any, primitive, array or other tricks. overriden in YapClassAny and
2412 <member name="T:com.db4o.reflect.generic.GenericField">
2415 <member name="T:com.db4o.Dynamic">
2418 <member name="T:com.db4o.config.TSerializable">
2420 translator for types that are marked with the Serializable attribute.
2421 The Serializable translator is provided to allow persisting objects that
2422 do not supply a convenient constructor. The use of this translator is
2423 recommended only if:<br />
2424 - the persistent type will never be refactored<br />
2425 - querying for type members is not necessary<br />
2428 <member name="T:com.db4o.config.ObjectConstructor">
2429 <summary>interface to allow instantiating objects by calling specific constructors.
2432 interface to allow instantiating objects by calling specific constructors.
2433 <br/><br/><b>Examples: ../com/db4o/samples/translators.</b><br/><br/>
2434 By writing classes that implement this interface, it is possible to
2435 define which constructor is to be used during the instantiation of a stored object.
2437 Before starting a db4o session, translator classes that implement the
2438 <code>ObjectConstructor</code> or
2439 <see cref="T:com.db4o.config.ObjectTranslator">ObjectTranslator</see>
2440 need to be registered.<br/><br/>
2443 Configuration config = Db4o.configure();<br/>
2444 ObjectClass oc = config.objectClass("package.className");<br/>
2445 oc.translate(new FooTranslator());</code><br/><br/>
2448 <member name="M:com.db4o.config.ObjectConstructor.onInstantiate(com.db4o.ObjectContainer,System.Object)">
2449 <summary>db4o calls this method when a stored object needs to be instantiated.</summary>
2451 db4o calls this method when a stored object needs to be instantiated.
2454 <param name="container">the ObjectContainer used</param>
2455 <param name="storedObject">
2456 the object stored with
2457 <see cref="M:com.db4o.config.ObjectTranslator.onStore(com.db4o.ObjectContainer,System.Object)">ObjectTranslator.onStore</see>
2460 <returns>the instantiated object.</returns>
2462 <member name="T:com.db4o.Transient">
2464 Marks a field as transient.
2467 Transient fields are not stored by db4o.
2469 If you don't want a field to be stored by db4o,
2470 simply mark it with this attribute.
2474 <member name="T:com.db4o.QEContains">
2477 <member name="T:com.db4o.MetaClass">
2479 Class metadata to be stored to the database file
2483 Class metadata to be stored to the database file
2488 <member name="T:com.db4o.ObjectServer">
2489 <summary>the db4o server class.</summary>
2490 <remarks>the db4o server class.</remarks>
2491 <seealso cref="M:com.db4o.Db4o.openServer(System.String,System.Int32)">Db4o.openServer</seealso>
2492 <seealso cref="T:com.db4o.ext.ExtObjectServer">ExtObjectServer for extended functionality
2495 <member name="M:com.db4o.ObjectServer.close">
2496 <summary>closes the <code>ObjectServer</code> and writes all cached data.</summary>
2498 closes the <code>ObjectServer</code> and writes all cached data.
2502 true - denotes that the last instance connected to the
2503 used database file was closed.
2506 <member name="M:com.db4o.ObjectServer.ext">
2507 <summary>returns an ObjectServer with extended functionality.</summary>
2509 returns an ObjectServer with extended functionality.
2510 <br /><br />Use this method as a convient accessor to extended methods.
2511 Every ObjectServer can be casted to an ExtObjectServer.
2512 <br /><br />The functionality is split to two interfaces to allow newcomers to
2513 focus on the essential methods.
2516 <member name="M:com.db4o.ObjectServer.grantAccess(System.String,System.String)">
2517 <summary>grants client access to the specified user with the specified password.</summary>
2519 grants client access to the specified user with the specified password.
2520 <br /><br />If the user already exists, the password is changed to
2521 the specified password.<br /><br />
2523 <param name="userName">the name of the user</param>
2524 <param name="password">the password to be used</param>
2526 <member name="M:com.db4o.ObjectServer.openClient">
2527 <summary>opens a client against this server.</summary>
2529 opens a client against this server.
2530 <br/><br/>A client opened with this method operates within the same VM
2531 as the server. Since an embedded client can use direct communication, without
2532 an in-between socket connection, performance will be better than a client
2534 <see cref="M:com.db4o.Db4o.openClient(System.String,System.Int32,System.String,System.String)">com.db4o.Db4o.openClient</see>
2535 <br/><br/>Every client has it's own transaction and uses it's own cache
2536 for it's own version of all peristent objects.
2539 <member name="T:com.db4o.QResult">
2542 <member name="T:com.db4o.ObjectSet">
2543 <summary>query resultset.</summary>
2546 <br/><br/>The <code>ObjectSet</code> class serves as a cursor to
2547 iterate through a set of objects retrieved by a
2549 <see cref="M:com.db4o.ObjectContainer.get(System.Object)">ObjectContainer.get(template)</see>
2551 <br/><br/>An <code>ObjectSet</code> can easily be wrapped to a
2552 <code>java.util.List</code> (Java) / <code>System.Collections.IList</code> (.NET)
2553 using the source code supplied in ../com/db4o/wrap/
2554 <br/><br/>Note that the used
2555 <see cref="T:com.db4o.ObjectContainer">ObjectContainer</see>
2556 needs to remain opened during the
2557 use of an <code>ObjectSet</code> to allow lazy instantiation.
2559 <seealso cref="T:com.db4o.ext.ExtObjectSet">for extended functionality.</seealso>
2561 <member name="M:com.db4o.ObjectSet.ext">
2562 <summary>returns an ObjectSet with extended functionality.</summary>
2564 returns an ObjectSet with extended functionality.
2565 <br /><br />Every ObjectSet that db4o provides can be casted to
2566 an ExtObjectSet. This method is supplied for your convenience
2567 to work without a cast.
2568 <br /><br />The ObjectSet functionality is split to two interfaces
2569 to allow newcomers to focus on the essential methods.
2572 <member name="M:com.db4o.ObjectSet.hasNext">
2573 <summary>returns <code>true</code> if the <code>ObjectSet</code> has more elements.
2575 <remarks>returns <code>true</code> if the <code>ObjectSet</code> has more elements.
2578 boolean - <code>true</code> if the <code>ObjectSet</code> has more
2582 <member name="M:com.db4o.ObjectSet.next">
2583 <summary>returns the next object in the <code>ObjectSet</code>.</summary>
2585 returns the next object in the <code>ObjectSet</code>.
2587 Before returning the Object, next() triggers automatic activation of the
2588 Object with the respective
2589 <see cref="M:com.db4o.config.Configuration.activationDepth(System.Int32)">global</see>
2591 <see cref="M:com.db4o.config.ObjectClass.maximumActivationDepth(System.Int32)">class specific</see>
2594 <returns>the next object in the <code>ObjectSet</code>.</returns>
2596 <member name="M:com.db4o.ObjectSet.reset">
2597 <summary>resets the <code>ObjectSet</code> cursor before the first element.</summary>
2599 resets the <code>ObjectSet</code> cursor before the first element.
2600 <br /><br />A subsequent call to <code>next()</code> will return the first element.
2603 <member name="M:com.db4o.ObjectSet.size">
2604 <summary>returns the number of elements in the <code>ObjectSet</code>.</summary>
2605 <remarks>returns the number of elements in the <code>ObjectSet</code>.</remarks>
2606 <returns>the number of elements in the <code>ObjectSet</code>.</returns>
2608 <member name="T:com.db4o.ext.ExtObjectSet">
2610 extended functionality for the
2611 <see cref="T:com.db4o.ObjectSet">ObjectSet</see>
2613 <br/><br/>Every db4o
2614 <see cref="T:com.db4o.ObjectSet">ObjectSet</see>
2615 always is an ExtObjectSet so a cast is possible.<br/><br/>
2616 <see cref="M:com.db4o.ObjectSet.ext">ObjectSet.ext()</see>
2617 is a convenient method to perform the cast.<br/><br/>
2618 The ObjectSet functionality is split to two interfaces to allow newcomers to
2619 focus on the essential methods.
2622 <member name="M:com.db4o.ext.ExtObjectSet.getIDs">
2623 <summary>returns an array of internal IDs that correspond to the contained objects.
2626 returns an array of internal IDs that correspond to the contained objects.
2629 <seealso cref="M:com.db4o.ext.ExtObjectContainer.getID(System.Object)">com.db4o.ext.ExtObjectContainer.getID
2631 <seealso cref="M:com.db4o.ext.ExtObjectContainer.getByID(System.Int64)">com.db4o.ext.ExtObjectContainer.getByID
2634 <member name="T:com.db4o.QField">
2637 <member name="T:com.db4o.TreeInt">
2638 <summary>Base class for balanced trees.</summary>
2639 <remarks>Base class for balanced trees.</remarks>
2642 <member name="T:com.db4o.Queue4">
2644 Using the CollectionElement the other way around:
2645 CollectionElement.i_next points to the previous element
2649 <member name="T:com.db4o.ext.ObjectInfo">
2651 interface to the internal reference that an ObjectContainer
2652 holds for a stored object.
2655 interface to the internal reference that an ObjectContainer
2656 holds for a stored object.
2659 <member name="M:com.db4o.ext.ObjectInfo.getObject">
2660 <summary>returns the object that is referenced.</summary>
2662 returns the object that is referenced.
2663 <br /><br />This method may return null, if the object has
2664 been garbage collected.
2667 the referenced object or null, if the object has
2668 been garbage collected.
2671 <member name="M:com.db4o.ext.ObjectInfo.getUUID">
2672 <summary>returns a UUID representation of the referenced object.</summary>
2674 returns a UUID representation of the referenced object.
2675 UUID generation has to be turned on, in order to be able
2676 to use this feature:
2677 <see cref="M:com.db4o.config.Configuration.generateUUIDs(System.Int32)">com.db4o.config.Configuration.generateUUIDs
2680 <returns>the UUID of the referenced object.</returns>
2682 <member name="M:com.db4o.ext.ObjectInfo.getVersion">
2684 returns the transaction serial number ("version") the
2685 referenced object was stored with last.
2688 returns the transaction serial number ("version") the
2689 referenced object was stored with last.
2690 Version number generation has to be turned on, in order to
2691 be able to use this feature:
2692 <see cref="M:com.db4o.config.Configuration.generateVersionNumbers(System.Int32)">com.db4o.config.Configuration.generateVersionNumbers
2695 <returns>the version number.</returns>
2697 <member name="T:com.db4o.ReplicationRecord">
2699 tracks the version of the last replication between
2700 two Objectcontainers.
2703 tracks the version of the last replication between
2704 two Objectcontainers.
2708 <member name="T:com.db4o.MetaIndex">
2709 <summary>The index record that is written to the database file.</summary>
2711 The index record that is written to the database file.
2716 <member name="T:com.db4o.QEEqual">
2719 <member name="T:com.db4o.YapConst">
2722 <member name="T:com.db4o.MetaField">
2723 <summary>Field MetaData to be stored to the database file.</summary>
2725 Field MetaData to be stored to the database file.
2730 <member name="T:com.db4o.reflect.generic.GenericVirtualField">
2733 <member name="T:com.db4o.config.TDictionary">
2736 <member name="T:com.db4o.YapObject">
2739 <member name="M:com.db4o.YapObject.continueSet(com.db4o.Transaction,System.Int32)">
2740 <summary>return false if class not completely initialized, otherwise true *</summary>
2742 <member name="M:com.db4o.YapObject.store(com.db4o.Transaction,com.db4o.YapClass,System.Object,System.Int32)">
2744 return true for complex objects to instruct YapStream to add to lookup trees
2745 and to perform delayed storage through call to continueset further up the stack.
2748 return true for complex objects to instruct YapStream to add to lookup trees
2749 and to perform delayed storage through call to continueset further up the stack.
2752 <member name="M:com.db4o.YapObject.hc_add(com.db4o.YapObject)">
2753 <summary>HCTREE ****</summary>
2755 <member name="M:com.db4o.YapObject.id_add(com.db4o.YapObject)">
2756 <summary>IDTREE ****</summary>
2758 <member name="T:com.db4o.JDK">
2761 <member name="M:com.db4o.JDK.methodIsAvailable(System.String,System.String,j4o.lang.Class[])">
2763 use for system classes only, since not ClassLoader
2767 <member name="T:com.db4o.ext.ExtObjectServer">
2768 <summary>extended functionality for the ObjectServer interface.</summary>
2770 extended functionality for the ObjectServer interface.
2771 <br/><br/>Every ObjectServer also always is an ExtObjectServer
2772 so a cast is possible.<br/><br/>
2773 <see cref="M:com.db4o.ObjectServer.ext">ObjectServer.ext()</see>
2774 is a convenient method to perform the cast.<br/><br/>
2775 The functionality is split to two interfaces to allow newcomers to
2776 focus on the essential methods.
2779 <member name="M:com.db4o.ext.ExtObjectServer.backup(System.String)">
2780 <summary>backs up the database file used by the ObjectServer.</summary>
2782 backs up the database file used by the ObjectServer.
2783 <br /><br />While the backup is running, the ObjectServer can continue to be
2784 used. Changes that are made while the backup is in progress, will be applied to
2785 the open ObjectServer and to the backup.<br /><br />
2786 While the backup is running, the ObjectContainer should not be closed.<br /><br />
2787 If a file already exists at the specified path, it will be overwritten.<br /><br />
2789 <param name="path">a fully qualified path</param>
2791 <member name="M:com.db4o.ext.ExtObjectServer.configure">
2794 <see cref="T:com.db4o.config.Configuration">com.db4o.config.Configuration</see>
2795 context for this ObjectServer.
2797 Upon opening an ObjectServer with any of the factory methods in the
2798 <see cref="T:com.db4o.Db4o">com.db4o.Db4o</see>
2800 <see cref="T:com.db4o.config.Configuration">com.db4o.config.Configuration</see>
2802 is copied into the ObjectServer. The
2803 <see cref="T:com.db4o.config.Configuration">com.db4o.config.Configuration</see>
2804 can be modified individually for
2805 each ObjectServer without any effects on the global settings.<br/><br/>
2807 <returns>the Configuration context for this ObjectServer</returns>
2808 <seealso cref="M:com.db4o.Db4o.configure">com.db4o.Db4o.configure</seealso>
2810 <member name="M:com.db4o.ext.ExtObjectServer.objectContainer">
2811 <summary>returns the ObjectContainer used by the server.</summary>
2813 returns the ObjectContainer used by the server.
2816 <returns>the ObjectContainer used by the server</returns>
2818 <member name="M:com.db4o.ext.ExtObjectServer.revokeAccess(System.String)">
2819 <summary>removes client access permissions for the specified user.</summary>
2821 removes client access permissions for the specified user.
2824 <param name="userName">the name of the user</param>
2826 <member name="T:com.db4o.StaticField">
2829 <member name="T:com.db4o.Config4Impl">
2830 <summary>Configuration template for creating new db4o files</summary>
2833 <member name="T:com.db4o.config.Configuration">
2834 <summary>configuration interface for db4o.</summary>
2836 configuration interface for db4o.
2837 <br/><br/>This interface contains methods to configure db4o. All methods
2838 should be called <b>before</b> starting the db4o engine.
2840 <see cref="M:com.db4o.Db4o.configure">Db4o.configure()</see>
2841 returns the single global Configuration object.
2844 <member name="M:com.db4o.config.Configuration.activationDepth(System.Int32)">
2845 <summary>sets the activation depth to the specified value.</summary>
2847 sets the activation depth to the specified value.
2848 <br/><br/><b>Why activation?</b><br/>
2849 During the instantiation
2850 of stored objects from persistent storage, the instantiation of members
2851 needs to be limited to a certain depth. Otherwise a possible root object
2852 would completely instantiate all stored objects to memory.<br/><br/><b>db4o uses a
2853 preconfigured "activation depth" of 5.</b><br/><br/>If an object is returned in an
2854 <see cref="T:com.db4o.ObjectSet">ObjectSet</see>
2856 <see cref="M:com.db4o.ObjectContainer.get(System.Object)">query</see>
2858 object.member1.member2.member3.member4.member5</code> will be instantiated.
2859 member5 will have all it's members set to null. Primitive
2860 types will have the default values respectively. In db4o terminology, the
2861 state of member5 is called <code>DEACTIVATED</code>. member5 can be
2862 activated by calling
2863 <see cref="M:com.db4o.ObjectContainer.activate(System.Object,System.Int32)">ObjectContainer#activate(member5, depth)
2867 Note that raising the global activation depth will consume more memory and
2868 have negative effects on the performance of first-time retrievals. Lowering
2869 the global activation depth needs more individual activation work but can
2870 increase performance of queries.<br/><br/>
2871 <see cref="M:com.db4o.ObjectContainer.deactivate(System.Object,System.Int32)">ObjectContainer#deactivate(Object, depth)
2873 can be used to manually free memory by deactivating objects.
2874 <br/><br/><b>Examples: ../com/db4o/samples/activate.</b><br/><br/>
2876 <param name="depth">the desired global activation depth.</param>
2877 <seealso cref="M:com.db4o.config.ObjectClass.maximumActivationDepth(System.Int32)">configuring classes individually
2880 <member name="M:com.db4o.config.Configuration.automaticShutDown(System.Boolean)">
2881 <summary>turns automatic shutdown of the engine on and off.</summary>
2883 turns automatic shutdown of the engine on and off.
2884 <br /><br />Depending on the JDK, db4o uses one of the following
2885 two methods to shut down, if no more references to the ObjectContainer
2886 are being held or the JVM terminates:<br />
2887 - JDK 1.3 and above: <code>Runtime.addShutdownHook()</code><br />
2888 - JDK 1.2 and below: <code>System.runFinalizersOnExit(true)</code> and code
2889 in the finalizer.<br /><br />
2890 Some JVMs have severe problems with both methods. For these rare cases the
2891 autoShutDown feature may be turned off.<br /><br />
2892 The default and recommended setting is <code>true</code>.<br /><br />
2894 <param name="flag">whether db4o should shut down automatically.</param>
2896 <member name="M:com.db4o.config.Configuration.blockSize(System.Int32)">
2897 <summary>sets the storage data blocksize for new ObjectContainers.</summary>
2899 sets the storage data blocksize for new ObjectContainers.
2900 <br /><br />The standard setting is 1 allowing for a maximum
2901 database file size of 2GB. This value can be increased
2902 to allow larger database files, although some space will
2903 be lost to padding because the size of some stored objects
2904 will not be an exact multiple of the block size. A
2905 recommended setting for large database files is 8, since
2906 internal pointers have this length.
2908 <param name="bytes">the size in bytes from 1 to 127</param>
2910 <member name="M:com.db4o.config.Configuration.callbacks(System.Boolean)">
2911 <summary>turns callback methods on and off.</summary>
2913 turns callback methods on and off.
2914 <br/><br/>Callbacks are turned on by default.<br/><br/>
2915 A tuning hint: If callbacks are not used, you can turn this feature off, to
2916 prevent db4o from looking for callback methods in persistent classes. This will
2917 increase the performance on system startup.<br/><br/>
2919 <param name="flag">false to turn callback methods off</param>
2920 <seealso cref="T:com.db4o.ext.ObjectCallbacks">Using callbacks</seealso>
2922 <member name="M:com.db4o.config.Configuration.callConstructors(System.Boolean)">
2924 advises db4o to try instantiating objects with/without calling
2928 advises db4o to try instantiating objects with/without calling
2931 Not all JDKs / .NET-environments support this feature. db4o will
2932 attempt, to follow the setting as good as the enviroment supports.
2933 In doing so, it may call implementation-specific features like
2934 sun.reflect.ReflectionFactory#newConstructorForSerialization on the
2935 Sun Java 1.4.x/5 VM (not available on other VMs) and
2936 FormatterServices.GetUninitializedObject() on
2937 the .NET framework (not available on CompactFramework).
2938 This setting may also be overridden for individual classes in
2939 <see cref="M:com.db4o.config.ObjectClass.callConstructor(System.Boolean)">com.db4o.config.ObjectClass.callConstructor
2944 - specify true, to request calling constructors, specify
2945 false to request <b>not</b> calling constructors.
2947 <seealso cref="M:com.db4o.config.ObjectClass.callConstructor(System.Boolean)">com.db4o.config.ObjectClass.callConstructor
2950 <member name="M:com.db4o.config.Configuration.classActivationDepthConfigurable(System.Boolean)">
2953 <see cref="M:com.db4o.config.ObjectClass.maximumActivationDepth(System.Int32)">individual class activation depth configuration
2957 <br/><br/>This feature is turned on by default.<br/><br/>
2960 false to turn the possibility to individually configure class
2961 activation depths off
2963 <seealso cref="M:com.db4o.config.Configuration.activationDepth(System.Int32)">Why activation?</seealso>
2965 <member name="M:com.db4o.config.Configuration.detectSchemaChanges(System.Boolean)">
2967 tuning feature: configures whether db4o checks all persistent classes upon system
2968 startup, for added or removed fields.
2971 tuning feature: configures whether db4o checks all persistent classes upon system
2972 startup, for added or removed fields.
2973 <br /><br />In a production environment this setting can be set to <code>false</code>,
2974 if all necessary classes have been stored to the database file and none of them
2975 have been modified since the last use.
2976 <br /><br />Default value:<br />
2979 <param name="flag">the desired setting</param>
2981 <member name="M:com.db4o.config.Configuration.disableCommitRecovery">
2982 <summary>turns commit recovery off.</summary>
2984 turns commit recovery off.
2985 <br /><br />db4o uses a two-phase commit algorithm. In a first step all intended
2986 changes are written to a free place in the database file, the "transaction commit
2987 record". In a second step the
2988 actual changes are performed. If the system breaks down during commit, the
2989 commit process is restarted when the database file is opened the next time.
2990 On very rare occasions (possibilities: hardware failure or editing the database
2991 file with an external tool) the transaction commit record may be broken. In this
2992 case, this method can be used to try to open the database file without commit
2993 recovery. The method should only be used in emergency situations after consulting
2997 <member name="M:com.db4o.config.Configuration.discardFreeSpace(System.Int32)">
2999 tuning feature: configures the minimum size of free space slots in the database file
3000 that are to be reused.
3003 tuning feature: configures the minimum size of free space slots in the database file
3004 that are to be reused.
3005 <br /><br />When objects are updated or deleted, the space previously occupied in the
3006 database file is marked as "free", so it can be reused. db4o maintains two lists
3007 in RAM, sorted by address and by size. Adjacent entries are merged. After a large
3008 number of updates or deletes have been executed, the lists can become large, causing
3009 RAM consumption and performance loss for maintenance. With this method you can
3010 specify an upper bound for the byte slot size to discard.
3011 <br /><br />Pass <code>Integer.MAX_VALUE</code> to this method to discard all free slots for
3012 the best possible startup time.<br /><br />
3013 The downside of setting this value: Database files will necessarily grow faster.
3014 <br /><br />Default value:<br />
3015 <code>0</code> all space is reused
3017 <param name="byteCount">Slots with this size or smaller will be lost.</param>
3019 <member name="M:com.db4o.config.Configuration.encrypt(System.Boolean)">
3020 <summary>configures the use of encryption.</summary>
3022 configures the use of encryption.
3023 <br/><br/>This method needs to be called <b>before</b> a database file
3024 is created with the first
3025 <see cref="M:com.db4o.Db4o.openFile(System.String)">Db4o.openFile()</see>
3027 <br/><br/>If encryption is set to true,
3028 you need to supply a password to seed the encryption mechanism.<br/><br/>
3029 db4o database files keep their encryption format after creation.<br/><br/>
3032 true for turning encryption on, false for turning encryption
3035 <seealso cref="M:com.db4o.config.Configuration.password(System.String)">com.db4o.config.Configuration.password
3038 <member name="M:com.db4o.config.Configuration.exceptionsOnNotStorable(System.Boolean)">
3039 <summary>configures whether Exceptions are to be thrown, if objects can not be stored.
3042 configures whether Exceptions are to be thrown, if objects can not be stored.
3043 <br/><br/>db4o requires the presence of a constructor that can be used to
3044 instantiate objects. If no default public constructor is present, all
3045 available constructors are tested, whether an instance of the class can
3046 be instantiated. Null is passed to all constructor parameters.
3047 The first constructor that is successfully tested will
3048 be used throughout the running db4o session. If an instance of the class
3049 can not be instantiated, the object will not be stored. By default,
3050 execution will continue without any message or error. This method can
3051 be used to configure db4o to throw an
3052 <see cref="T:com.db4o.ext.ObjectNotStorableException">ObjectNotStorableException</see>
3053 if an object can not be stored.
3055 The default for this setting is <b>false</b>.<br/><br/>
3057 <param name="flag">true to throw Exceptions if objects can not be stored.</param>
3059 <member name="M:com.db4o.config.Configuration.generateUUIDs(System.Int32)">
3060 <summary>configures db4o to generate UUIDs for stored objects.</summary>
3061 <remarks>configures db4o to generate UUIDs for stored objects.</remarks>
3062 <param name="setting">
3063 one of the following values:<br />
3065 1 - configure classes individually<br />
3066 Integer.MAX_Value - on for all classes
3069 <member name="M:com.db4o.config.Configuration.generateVersionNumbers(System.Int32)">
3070 <summary>configures db4o to generate version numbers for stored objects.</summary>
3071 <remarks>configures db4o to generate version numbers for stored objects.</remarks>
3072 <param name="setting">
3073 one of the following values:<br />
3075 1 - configure classes individually<br />
3076 Integer.MAX_Value - on for all classes
3079 <member name="M:com.db4o.config.Configuration.getMessageSender">
3080 <summary>returns the MessageSender for this Configuration context.</summary>
3081 <remarks>returns the MessageSender for this Configuration context.</remarks>
3082 <returns>MessageSender</returns>
3084 <member name="M:com.db4o.config.Configuration.io(com.db4o.io.IoAdapter)">
3085 <summary>allows to configure db4o to use a customized byte IO adapter.</summary>
3087 allows to configure db4o to use a customized byte IO adapter.
3088 <br/><br/>Derive from the abstract class
3089 <see cref="T:com.db4o.io.IoAdapter">com.db4o.io.IoAdapter</see>
3091 write your own. Possible usecases could be improved performance
3092 with a native library, mirrored write to two files or
3093 read-on-write fail-safety control.<br/><br/>Sample IoAdapters
3094 are supplied with the distribution as source code.
3096 <param name="adapter">- the IoAdapter</param>
3098 <member name="M:com.db4o.config.Configuration.markTransient(System.String)">
3099 <summary>allows to mark fields as transient with custom attributes.</summary>
3101 allows to mark fields as transient with custom attributes.
3102 <br /><br />.NET only: Call this method with the attribute name that you
3103 wish to use to mark fields as transient. Multiple transient attributes
3104 are possible by calling this method multiple times with different
3105 attribute names.<br /><br />
3107 <param name="attributeName">
3108 - the fully qualified name of the attribute, including
3112 <member name="M:com.db4o.config.Configuration.messageLevel(System.Int32)">
3113 <summary>sets the detail level of db4o messages.</summary>
3115 sets the detail level of db4o messages.
3117 Level 0 - no messages<br/>
3118 Level 1 - open and close messages<br/>
3119 Level 2 - messages for new, update and delete<br/>
3120 Level 3 - messages for activate and deactivate<br/><br/>
3122 <param name="level">integer from 0 to 3</param>
3123 <seealso cref="M:com.db4o.config.Configuration.setOut(j4o.io.PrintStream)">com.db4o.config.Configuration.setOut
3126 <member name="M:com.db4o.config.Configuration.lockDatabaseFile(System.Boolean)">
3127 <summary>can be used to turn the database file locking thread off.</summary>
3129 can be used to turn the database file locking thread off.
3130 <br /><br />Since Java does not support file locking up to JDK 1.4,
3131 db4o uses an additional thread per open database file to prohibit
3132 concurrent access to the same database file by different db4o
3133 sessions in different VMs.<br /><br />
3134 To improve performance and to lower ressource consumption, this
3135 method provides the possibility to prevent the locking thread
3136 from being started.<br /><br /><b>Caution!</b><br />If database file
3137 locking is turned off, concurrent write access to the same
3138 database file from different JVM sessions will <b>corrupt</b> the
3139 database file immediately.<br /><br /> This method
3140 has no effect on open ObjectContainers. It will only affect how
3141 ObjectContainers are opened.<br /><br />
3142 The default setting is <code>true</code>.<br /><br />
3144 <param name="flag"><code>false</code> to turn database file locking off.</param>
3146 <member name="M:com.db4o.config.Configuration.objectClass(System.Object)">
3149 <see cref="T:com.db4o.config.ObjectClass">ObjectClass</see>
3151 to configure the specified class.
3153 There are three options how to use this method.<br/>
3154 Any of the following parameters are possible:<br/>
3155 - a fully qualified classname.<br/>
3156 - a Class object.<br/>
3157 - any object to be used as a template.<br/><br/>
3159 <param name="clazz">class name, Class object, or example object.<br/><br/></param>
3162 <see cref="T:com.db4o.config.ObjectClass">ObjectClass</see>
3163 object for configuration.
3166 <member name="M:com.db4o.config.Configuration.password(System.String)">
3167 <summary>protects the database file with a password.</summary>
3169 protects the database file with a password.
3170 <br/><br/>To set a password for a database file, this method needs to be
3171 called <b>before</b> a database file is created with the first
3172 <see cref="M:com.db4o.Db4o.openFile(System.String)">Db4o.openFile()</see>
3174 <br/><br/>All further attempts to open
3175 the file, are required to set the same password.<br/><br/>The password
3176 is used to seed the encryption mechanism, which makes it impossible
3177 to read the database file without knowing the password.<br/><br/>
3179 <param name="pass">the password to be used.</param>
3181 <member name="M:com.db4o.config.Configuration.readOnly(System.Boolean)">
3182 <summary>turns readOnly mode on and off.</summary>
3184 turns readOnly mode on and off.
3185 <br/><br/>This method configures the mode in which subsequent calls to
3186 <see cref="M:com.db4o.Db4o.openFile(System.String)">Db4o.openFile()</see>
3188 <br/><br/>Readonly mode allows to open an unlimited number of reading
3189 processes on one database file. It is also convenient
3190 for deploying db4o database files on CD-ROM.<br/><br/>If mixed access
3191 using many readOnly and one readWrite session is used, there is no
3192 guarantee that the data in the readOnly sessions will be kept up-to-date.
3196 <code>true</code> for configuring readOnly mode for subsequent
3198 <see cref="M:com.db4o.Db4o.openFile(System.String)">Db4o.openFile()</see>
3202 <member name="M:com.db4o.config.Configuration.reflectWith(com.db4o.reflect.Reflector)">
3203 <summary>configures the use of a specially designed reflection implementation.</summary>
3205 configures the use of a specially designed reflection implementation.
3207 db4o internally uses java.lang.reflect.* by default. On platforms that
3208 do not support this package, customized implementations may be written
3209 to supply all the functionality of the interfaces in the com.db4o.reflect
3210 package. This method can be used to install a custom reflection
3214 <member name="M:com.db4o.config.Configuration.refreshClasses">
3215 <summary>forces analysation of all Classes during a running session.</summary>
3217 forces analysation of all Classes during a running session.
3219 This method may be useful in combination with a modified ClassLoader and
3220 allows exchanging classes during a running db4o session.<br/><br/>
3221 Calling this method on the global Configuration context will refresh
3222 the classes in all db4o sessions in the running VM. Calling this method
3223 in an ObjectContainer Configuration context, only the classes of the
3224 respective ObjectContainer will be refreshed.<br/><br/>
3226 <seealso cref="M:com.db4o.config.Configuration.setClassLoader(j4o.lang.ClassLoader)">com.db4o.config.Configuration.setClassLoader
3229 <member name="M:com.db4o.config.Configuration.reserveStorageSpace(System.Int64)">
3230 <summary>tuning feature only: reserves a number of bytes in database files.</summary>
3232 tuning feature only: reserves a number of bytes in database files.
3233 <br/><br/>The global setting is used for the creation of new database
3234 files. Continous calls on an ObjectContainer Configuration context
3236 <see cref="M:com.db4o.ext.ExtObjectContainer.configure">com.db4o.ext.ExtObjectContainer.configure
3239 continually allocate space.
3240 <br/><br/>The allocation of a fixed number of bytes at one time
3241 makes it more likely that the database will be stored in one
3242 chunk on the mass storage. Less read/write head movevement can result
3243 in improved performance.<br/><br/>
3244 <b>Note:</b><br/> Allocated space will be lost on abnormal termination
3245 of the database engine (hardware crash, VM crash). A Defragment run
3246 will recover the lost space. For the best possible performance, this
3247 method should be called before the Defragment run to configure the
3248 allocation of storage space to be slightly greater than the anticipated
3250 <br/><br/> Default configuration: 0<br/><br/>
3252 <param name="byteCount">the number of bytes to reserve</param>
3254 <member name="M:com.db4o.config.Configuration.setBlobPath(System.String)">
3256 configures the path to be used to store and read
3260 configures the path to be used to store and read
3264 <param name="path">the path to be used</param>
3266 <member name="M:com.db4o.config.Configuration.setClassLoader(j4o.lang.ClassLoader)">
3267 <summary>configures db4o to use a custom ClassLoader.</summary>
3269 configures db4o to use a custom ClassLoader.
3272 <param name="classLoader">the ClassLoader to be used</param>
3274 <member name="M:com.db4o.config.Configuration.setMessageRecipient(com.db4o.messaging.MessageRecipient)">
3275 <summary>sets the MessageRecipient to receive Client Server messages.</summary>
3277 sets the MessageRecipient to receive Client Server messages.
3280 <param name="messageRecipient">the MessageRecipient to be used</param>
3282 <member name="M:com.db4o.config.Configuration.setOut(j4o.io.PrintStream)">
3283 <summary>assigns a <code>PrintStream</code> where db4o is to print its event messages.
3286 assigns a <code>PrintStream</code> where db4o is to print its event messages.
3287 <br/><br/>Messages are useful for debugging purposes and for learning
3288 to understand, how db4o works. The message level can be raised with
3289 <see cref="M:com.db4o.config.Configuration.messageLevel(System.Int32)">Db4o.configure().messageLevel()
3291 to produce more detailed messages.
3292 <br/><br/>Use <code>setOut(System.out)</code> to print messages to the
3295 <param name="outStream">the new <code>PrintStream</code> for messages.</param>
3297 <member name="M:com.db4o.config.Configuration.singleThreadedClient(System.Boolean)">
3299 configures the client messaging system to be single threaded
3303 configures the client messaging system to be single threaded
3305 <br /><br />Recommended settings:<br />
3306 - <code>true</code> for low ressource systems.<br />
3307 - <code>false</code> for best asynchronous performance and fast
3309 <br /><br />Default value:<br />
3310 - .NET Compactframework: <code>true</code><br />
3311 - all other plaforms: <code>false</code><br /><br />
3313 <param name="flag">the desired setting</param>
3315 <member name="M:com.db4o.config.Configuration.testConstructors(System.Boolean)">
3317 tuning feature: configures whether db4o should try to instantiate one instance
3318 of each persistent class on system startup.
3321 tuning feature: configures whether db4o should try to instantiate one instance
3322 of each persistent class on system startup.
3323 <br /><br />In a production environment this setting can be set to <code>false</code>,
3324 if all persistent classes have public default constructors.
3325 <br /><br />Default value:<br />
3328 <param name="flag">the desired setting</param>
3330 <member name="M:com.db4o.config.Configuration.timeoutClientSocket(System.Int32)">
3332 configures the time a client waits for a message
3333 response from the server.
3336 configures the time a client waits for a message
3337 response from the server.
3338 <br /><br />Default value: 300000ms (5 minutes)<br /><br />
3340 <param name="milliseconds">time in milliseconds</param>
3342 <member name="M:com.db4o.config.Configuration.timeoutServerSocket(System.Int32)">
3343 <summary>configures the timeout of the serverside socket.</summary>
3345 configures the timeout of the serverside socket.
3346 <br /><br />All server connection threads jump out of the
3347 socket read statement on a regular interval to check
3348 if the server was shut down. Use this method to configure
3349 the duration of the interval.<br /><br />
3350 Default value: 5000ms (5 seconds)<br /><br />
3352 <param name="milliseconds">time in milliseconds</param>
3354 <member name="M:com.db4o.config.Configuration.timeoutPingClients(System.Int32)">
3356 configures the delay time after which the server starts pinging
3357 connected clients to check the connection.
3360 configures the delay time after which the server starts pinging
3361 connected clients to check the connection.
3362 <br/><br/>If no client messages are received by the server for the
3363 configured interval, the server sends a "PING" message to the
3364 client and wait's for an "OK" response. After 5 unsuccessful
3365 attempts, the client connection is closed.
3366 <br/><br/>This value may need to be increased for single-threaded
3367 clients, since they can't respond instantaneously.
3368 <br/><br/>Default value: 180000ms (3 minutes)<br/><br/>
3370 <param name="milliseconds">time in milliseconds</param>
3371 <seealso cref="M:com.db4o.config.Configuration.singleThreadedClient(System.Boolean)"></seealso>
3373 <member name="M:com.db4o.config.Configuration.unicode(System.Boolean)">
3374 <summary>configures the storage format of Strings.</summary>
3376 configures the storage format of Strings.
3377 <br/><br/>This method needs to be called <b>before</b> a database file
3378 is created with the first
3379 <see cref="M:com.db4o.Db4o.openFile(System.String)">Db4o.openFile()</see>
3381 db4o database files keep their string format after creation.<br/><br/>
3382 Turning Unicode support off reduces the file storage space for strings
3383 by factor 2 and improves performance.<br/><br/>
3384 Default setting: <b>true</b><br/><br/>
3387 <code>true</code> for turning Unicode support on, <code>false</code> for turning
3388 Unicode support off.
3391 <member name="M:com.db4o.config.Configuration.updateDepth(System.Int32)">
3392 <summary>specifies the global updateDepth.</summary>
3394 specifies the global updateDepth.
3395 <br/><br/>see the documentation of
3396 <see cref="M:com.db4o.ObjectContainer.set(System.Object)">ObjectContainer.set()</see>
3397 for further details.<br/><br/>
3398 The value be may be overridden for individual classes.<br/><br/>
3399 The default setting is 0: Only the object passed to
3400 <see cref="M:com.db4o.ObjectContainer.set(System.Object)">ObjectContainer.set()</see>
3401 will be updated.<br/><br/>
3403 <param name="depth">the depth of the desired update.</param>
3404 <seealso cref="M:com.db4o.config.ObjectClass.updateDepth(System.Int32)">com.db4o.config.ObjectClass.updateDepth
3406 <seealso cref="M:com.db4o.config.ObjectClass.cascadeOnUpdate(System.Boolean)">com.db4o.config.ObjectClass.cascadeOnUpdate
3408 <seealso cref="T:com.db4o.ext.ObjectCallbacks">Using callbacks</seealso>
3410 <member name="M:com.db4o.config.Configuration.weakReferences(System.Boolean)">
3411 <summary>turns weak reference management on or off.</summary>
3413 turns weak reference management on or off.
3415 Performance may be improved by running db4o without weak
3416 reference memory management at the cost of higher
3417 memory consumption or by alternatively implementing a manual
3418 memory management using
3419 <see cref="M:com.db4o.ext.ExtObjectContainer.purge">com.db4o.ext.ExtObjectContainer.purge
3421 <br/><br/>The default setting is <code>true</code>.
3422 <br/><br/>Ignored on JDKs before 1.2.
3425 <member name="M:com.db4o.config.Configuration.weakReferenceCollectionInterval(System.Int32)">
3426 <summary>configures the timer for WeakReference collection.</summary>
3428 configures the timer for WeakReference collection.
3429 <br /><br />The default setting is 1000 milliseconds.
3430 <br /><br />Configure this setting to zero to turn WeakReference
3432 <br /><br />Ignored on JDKs before 1.2.<br /><br />
3434 <param name="milliseconds">the time in milliseconds</param>
3436 <member name="T:com.db4o.messaging.MessageSender">
3437 <summary>message sender for client/server messaging.</summary>
3439 message sender for client/server messaging.
3440 <br/><br/>db4o allows using the client/server TCP connection to send
3441 messages from the client to the server. Any object that can be
3442 stored to a db4o database file may be used as a message.<br/><br/>
3443 See the sample in ../com/db4o/samples/messaging/ on how to
3444 use the messaging feature. It is also used to stop the server
3445 in ../com/db4o/samples/clientserver/StopServer.java<br/><br/>
3446 <b>See Also:</b><br/>
3447 <see cref="M:com.db4o.config.Configuration.getMessageSender">com.db4o.config.Configuration.getMessageSender
3450 <see cref="T:com.db4o.messaging.MessageRecipient">com.db4o.messaging.MessageRecipient
3453 <see cref="M:com.db4o.config.Configuration.setMessageRecipient(com.db4o.messaging.MessageRecipient)">com.db4o.config.Configuration.setMessageRecipient
3457 <member name="M:com.db4o.messaging.MessageSender.send(System.Object)">
3458 <summary>sends a message to the server.</summary>
3459 <remarks>sends a message to the server.</remarks>
3460 <param name="obj">the message parameter, any object may be used.</param>
3462 <member name="M:com.db4o.Config4Impl.send(System.Object)">
3463 <summary>The ConfigImpl also is our messageSender</summary>
3465 <member name="T:com.db4o.config.TType">
3468 <member name="T:com.db4o.ext.ObjectCallbacks">
3469 <summary>callback methods.</summary>
3472 <br /><br /><b>Examples: ../com/db4o/samples/callbacks.</b><br /><br />
3473 This interface only serves as a lists of all available callback methods.
3474 Every method is called individually, independant of implementing this interface.<br /><br />
3475 <b>Using callbacks</b><br />
3476 Simply implement one or more of the listed methods in your application classes to
3477 do tasks before activation, deactivation, delete, new or update, to cancel the
3478 action about to be performed and to respond to the performed task.
3479 <br /><br />Callback methods are typically used for:
3480 <br />- cascaded delete
3481 <br />- cascaded update
3482 <br />- cascaded activation
3483 <br />- restoring transient members on instantiation
3484 <br /><br />Callback methods follow regular calling conventions. Methods in superclasses
3485 need to be called explicitely.
3486 <br /><br />All method calls are implemented to occur only once, upon one event.
3489 <member name="M:com.db4o.ext.ObjectCallbacks.objectCanActivate(com.db4o.ObjectContainer)">
3490 <summary>called before an Object is activated.</summary>
3491 <remarks>called before an Object is activated.</remarks>
3492 <param name="container">the <code>ObjectContainer</code> the object is stored in.
3494 <returns>false to prevent activation.</returns>
3496 <member name="M:com.db4o.ext.ObjectCallbacks.objectCanDeactivate(com.db4o.ObjectContainer)">
3497 <summary>called before an Object is deactivated.</summary>
3498 <remarks>called before an Object is deactivated.</remarks>
3499 <param name="container">the <code>ObjectContainer</code> the object is stored in.
3501 <returns>false to prevent deactivation.</returns>
3503 <member name="M:com.db4o.ext.ObjectCallbacks.objectCanDelete(com.db4o.ObjectContainer)">
3504 <summary>called before an Object is deleted.</summary>
3506 called before an Object is deleted.
3507 <br /><br />In a client/server setup this callback method will be executed on
3510 <param name="container">the <code>ObjectContainer</code> the object is stored in.
3512 <returns>false to prevent the object from being deleted.</returns>
3514 <member name="M:com.db4o.ext.ObjectCallbacks.objectCanNew(com.db4o.ObjectContainer)">
3515 <summary>called before an Object is stored the first time.</summary>
3516 <remarks>called before an Object is stored the first time.</remarks>
3517 <param name="container">the <code>ObjectContainer</code> is about to be stored to.
3519 <returns>false to prevent the object from being stored.</returns>
3521 <member name="M:com.db4o.ext.ObjectCallbacks.objectCanUpdate(com.db4o.ObjectContainer)">
3522 <summary>called before a persisted Object is updated.</summary>
3523 <remarks>called before a persisted Object is updated.</remarks>
3524 <param name="container">the <code>ObjectContainer</code> the object is stored in.
3526 <returns>false to prevent the object from being updated.</returns>
3528 <member name="M:com.db4o.ext.ObjectCallbacks.objectOnActivate(com.db4o.ObjectContainer)">
3529 <summary>called upon activation of an object.</summary>
3530 <remarks>called upon activation of an object.</remarks>
3531 <param name="container">the <code>ObjectContainer</code> the object is stored in.
3534 <member name="M:com.db4o.ext.ObjectCallbacks.objectOnDeactivate(com.db4o.ObjectContainer)">
3535 <summary>called upon deactivation of an object.</summary>
3536 <remarks>called upon deactivation of an object.</remarks>
3537 <param name="container">the <code>ObjectContainer</code> the object is stored in.
3540 <member name="M:com.db4o.ext.ObjectCallbacks.objectOnDelete(com.db4o.ObjectContainer)">
3541 <summary>called after an object was deleted.</summary>
3543 called after an object was deleted.
3544 <br /><br />In a client/server setup this callback method will be executed on
3547 <param name="container">the <code>ObjectContainer</code> the object was stored in.
3550 <member name="M:com.db4o.ext.ObjectCallbacks.objectOnNew(com.db4o.ObjectContainer)">
3551 <summary>called after a new object was stored.</summary>
3552 <remarks>called after a new object was stored.</remarks>
3553 <param name="container">the <code>ObjectContainer</code> the object is stored to.
3556 <member name="M:com.db4o.ext.ObjectCallbacks.objectOnUpdate(com.db4o.ObjectContainer)">
3557 <summary>called after an object was updated.</summary>
3558 <remarks>called after an object was updated.</remarks>
3559 <param name="container">the <code>ObjectContainer</code> the object is stored in.
3562 <member name="T:com.db4o.reflect.generic.GenericReflector">
3565 <member name="T:com.db4o.query.Query">
3566 <summary>handle to a node in the query graph.</summary>
3568 handle to a node in the query graph.
3570 A node in the query graph can represent multiple
3571 classes, one class or an attribute of a class.<br/><br/>The graph
3572 is automatically extended with attributes of added constraints
3574 <see cref="M:com.db4o.query.Query.constrain(System.Object)">com.db4o.query.Query.constrain</see>
3576 <see cref="M:com.db4o.query.Query.descend(System.String)">descend()</see>
3577 that request nodes that do not yet exist.
3579 References to joined nodes in the query graph can be obtained
3580 by "walking" along the nodes of the graph with the method
3581 <see cref="M:com.db4o.query.Query.descend(System.String)">descend()</see>
3584 <see cref="M:com.db4o.query.Query.execute">com.db4o.query.Query.execute</see>
3585 evaluates the entire graph against all persistent objects.
3587 <see cref="M:com.db4o.query.Query.execute">com.db4o.query.Query.execute</see>
3588 can be called from any
3589 <see cref="T:com.db4o.query.Query">com.db4o.query.Query</see>
3591 of the graph. It will return an
3592 <see cref="T:com.db4o.ObjectSet">com.db4o.ObjectSet</see>
3594 objects of the class/classes that the node, it was called from,
3598 <member name="M:com.db4o.query.Query.constrain(System.Object)">
3599 <summary>adds a constraint to this node.</summary>
3601 adds a constraint to this node.
3603 If the constraint contains attributes that are not yet
3604 present in the query graph, the query graph is extended
3607 Special behaviour for:
3610 <see cref="T:j4o.lang.Class">j4o.lang.Class</see>
3611 : confine the result to objects of one
3612 class or to objects implementing an interface.</li>
3614 <see cref="T:com.db4o.query.Evaluation">com.db4o.query.Evaluation</see>
3616 evaluation callbacks against all candidates.</li>
3619 <param name="constraint">the constraint to be added to this Query.</param>
3622 <see cref="T:com.db4o.query.Constraint">com.db4o.query.Constraint</see>
3624 <see cref="T:com.db4o.query.Constraint">com.db4o.query.Constraint</see>
3626 query node or <code>null</code> for objects implementing the
3627 <see cref="T:com.db4o.query.Evaluation">com.db4o.query.Evaluation</see>
3631 <member name="M:com.db4o.query.Query.constraints">
3634 <see cref="T:com.db4o.query.Constraints">com.db4o.query.Constraints</see>
3635 object that holds an array of all constraints on this node.
3639 <see cref="T:com.db4o.query.Constraints">com.db4o.query.Constraints</see>
3643 <member name="M:com.db4o.query.Query.descend(System.String)">
3644 <summary>returns a reference to a descendant node in the query graph.</summary>
3646 returns a reference to a descendant node in the query graph.
3647 <br/><br/>If the node does not exist, it will be created.
3649 All classes represented in the query node are tested, whether
3650 they contain a field with the specified field name. The
3651 descendant Query node will be created from all possible candidate
3654 <param name="fieldName">path to the descendant.</param>
3657 <see cref="T:com.db4o.query.Query">com.db4o.query.Query</see>
3661 <member name="M:com.db4o.query.Query.execute">
3664 <see cref="T:com.db4o.query.Query">com.db4o.query.Query</see>
3669 <see cref="T:com.db4o.ObjectSet">com.db4o.ObjectSet</see>
3671 <see cref="T:com.db4o.query.Query">com.db4o.query.Query</see>
3675 <member name="M:com.db4o.query.Query.orderAscending">
3677 adds an ascending ordering criteria to this node of
3681 adds an ascending ordering criteria to this node of
3682 the query graph. Multiple ordering criteria will be applied
3683 in the order they were called.
3687 <see cref="T:com.db4o.query.Query">com.db4o.query.Query</see>
3688 object to allow the chaining of method calls.
3691 <member name="M:com.db4o.query.Query.orderDescending">
3693 adds a descending order criteria to this node of
3697 adds a descending order criteria to this node of
3698 the query graph. Multiple ordering criteria will be applied
3699 in the order they were called.
3703 <see cref="T:com.db4o.query.Query">com.db4o.query.Query</see>
3704 object to allow the chaining of method calls.
3707 <member name="T:com.db4o.ext.Status">
3708 <summary>Static constants to describe the status of objects.</summary>
3709 <remarks>Static constants to describe the status of objects.</remarks>
3711 <member name="T:com.db4o.reflect.net.NetConstructor">
3712 <remarks>Reflection implementation for Constructor to map to JDK reflection.</remarks>
3714 <member name="T:com.db4o.types.Db4oCollection">
3715 <summary>base interface for db4o collections</summary>
3717 <member name="M:com.db4o.types.Db4oCollection.activationDepth(System.Int32)">
3718 <summary>configures the activation depth for objects returned from this collection.
3721 configures the activation depth for objects returned from this collection.
3722 <br /><br />Specify a value less than zero to use the default activation depth
3723 configured for the ObjectContainer or for individual objects.
3725 <param name="depth">the desired depth</param>
3727 <member name="M:com.db4o.types.Db4oCollection.deleteRemoved(System.Boolean)">
3729 configures objects are to be deleted from the database file if they are
3730 removed from this collection.
3733 configures objects are to be deleted from the database file if they are
3734 removed from this collection.
3735 <br /><br />Default value: <code>false</code>
3737 <param name="flag">the desired setting</param>
3739 <member name="T:com.db4o.config.TStack">
3742 <member name="T:com.db4o.User">
3745 <member name="T:com.db4o.config.TQueue">
3748 <member name="T:com.db4o.ext.ObjectNotStorableException">
3750 this Exception is thrown, if objects can not be stored and if
3751 db4o is configured to throw Exceptions on storage failures.
3754 this Exception is thrown, if objects can not be stored and if
3755 db4o is configured to throw Exceptions on storage failures.
3757 <seealso cref="M:com.db4o.config.Configuration.exceptionsOnNotStorable(System.Boolean)">com.db4o.config.Configuration.exceptionsOnNotStorable
3760 <member name="T:com.db4o.BlobImpl">
3762 Transfer of blobs to and from the db4o system,
3763 if users use the Blob Db4oType.
3766 Transfer of blobs to and from the db4o system,
3767 if users use the Blob Db4oType.
3771 <member name="T:com.db4o.Transaction">
3774 <member name="T:com.db4o.IxTraverser">
3775 <summary>Index traverser</summary>
3777 <member name="T:com.db4o.ext.VirtualField">
3778 <summary>intended for future virtual fields on classes.</summary>
3780 intended for future virtual fields on classes. Currently only
3781 the constant for the virtual version field is found here.
3785 <member name="F:com.db4o.ext.VirtualField.VERSION">
3787 the field name of the virtual version field, to be used
3791 the field name of the virtual version field, to be used
3795 <member name="T:com.db4o.QQuery">
3796 <summary>QQuery is the users hook on our graph.</summary>
3798 QQuery is the users hook on our graph.
3799 A QQuery is defined by it's constraints.
3803 <member name="M:com.db4o.QQuery.constrain(System.Object)">
3804 <summary>Search for slot that corresponds to class.</summary>
3806 Search for slot that corresponds to class. <br />If not found add it.
3807 <br />Constrain it. <br />
3810 <member name="T:com.db4o.ext.ExtDb4o">
3811 <summary>extended factory class with static methods to open special db4o sessions.
3813 <remarks>extended factory class with static methods to open special db4o sessions.
3816 <member name="T:com.db4o.Db4o">
3817 <summary>factory class with static methods to configure and start the engine.</summary>
3819 factory class with static methods to configure and start the engine.
3820 <br/><br/>This class serves as a factory class, to open
3821 <see cref="T:com.db4o.ObjectContainer">ObjectContainer</see>
3822 instances on database files.<br/><br/>
3824 <see cref="T:com.db4o.config.Configuration">Configuration</see>
3825 object for the running Java session is available through the
3826 <see cref="M:com.db4o.Db4o.configure">configure</see>
3828 <br/><br/>On running the <code>Db4o</code> class it prints the current
3829 version to System.out.
3831 <seealso cref="T:com.db4o.ext.ExtDb4o">ExtDb4o for extended functionality.</seealso>
3833 <member name="M:com.db4o.Db4o.Main(System.String)">
3834 <summary>prints the version name of this version to <code>System.out</code>.</summary>
3835 <remarks>prints the version name of this version to <code>System.out</code>.</remarks>
3837 <member name="M:com.db4o.Db4o.configure">
3839 returns the global db4o
3840 <see cref="T:com.db4o.config.Configuration">Configuration</see>
3842 for the running JVM session.
3845 <see cref="T:com.db4o.config.Configuration">Configuration</see>
3846 can be overriden in each
3847 <see cref="M:com.db4o.ext.ExtObjectContainer.configure">ObjectContainer</see>
3852 <see cref="T:com.db4o.config.Configuration">configuration</see>
3856 <member name="M:com.db4o.Db4o.licensedTo(System.String)">
3857 <summary>enters the licensing information into licensed versions.</summary>
3858 <remarks>enters the licensing information into licensed versions.</remarks>
3860 <member name="M:com.db4o.Db4o.openClient(System.String,System.Int32,System.String,System.String)">
3863 <see cref="T:com.db4o.ObjectContainer">ObjectContainer</see>
3864 client and connects it to the specified named server and port.
3867 <see cref="M:com.db4o.ObjectServer.grantAccess(System.String,System.String)">allow access</see>
3868 for the specified user and password.
3871 <see cref="T:com.db4o.ObjectContainer">ObjectContainer</see>
3873 <see cref="T:com.db4o.ext.ExtClient">ExtClient</see>
3875 <see cref="T:com.db4o.ext.ExtObjectContainer">ExtObjectContainer</see>
3878 <see cref="T:com.db4o.ext.ExtClient">ExtClient</see>
3882 <param name="hostName">the host name</param>
3883 <param name="port">the port the server is using</param>
3884 <param name="user">the user name</param>
3885 <param name="password">the user password</param>
3888 <see cref="T:com.db4o.ObjectContainer">ObjectContainer</see>
3890 <seealso cref="M:com.db4o.ObjectServer.grantAccess(System.String,System.String)">com.db4o.ObjectServer.grantAccess
3893 <member name="M:com.db4o.Db4o.openFile(System.String)">
3896 <see cref="T:com.db4o.ObjectContainer">ObjectContainer</see>
3897 on the specified database file for local use.
3898 <br/><br/>Subsidiary calls with the same database file name will return the same
3899 <see cref="T:com.db4o.ObjectContainer">ObjectContainer</see>
3901 Every call to <code>openFile()</code> requires a corresponding
3902 <see cref="M:com.db4o.ObjectContainer.close">ObjectContainer.close</see>
3904 Database files can only be accessed for readwrite access from one process
3905 (one Java VM) at one time. All versions except for db4o mobile edition use an
3906 internal mechanism to lock the database file for other processes.
3909 <param name="databaseFileName">the full path to the database file</param>
3912 <see cref="T:com.db4o.ObjectContainer">ObjectContainer</see>
3914 <seealso cref="M:com.db4o.config.Configuration.readOnly(System.Boolean)">com.db4o.config.Configuration.readOnly
3916 <seealso cref="M:com.db4o.config.Configuration.encrypt(System.Boolean)">com.db4o.config.Configuration.encrypt
3918 <seealso cref="M:com.db4o.config.Configuration.password(System.String)">com.db4o.config.Configuration.password
3921 <member name="M:com.db4o.Db4o.openServer(System.String,System.Int32)">
3924 <see cref="T:com.db4o.ObjectServer">ObjectServer</see>
3925 on the specified database file and port.
3927 If the server does not need to listen on a port because it will only be used
3928 in embedded mode with
3929 <see cref="M:com.db4o.ObjectServer.openClient">com.db4o.ObjectServer.openClient</see>
3930 , specify '0' as the
3933 <param name="databaseFileName">the full path to the database file</param>
3935 the port to be used, or 0, if the server should not open a port,
3936 because it will only be used with
3937 <see cref="M:com.db4o.ObjectServer.openClient">com.db4o.ObjectServer.openClient</see>
3941 <see cref="T:com.db4o.ObjectServer">ObjectServer</see>
3943 on the specified port.
3945 <seealso cref="M:com.db4o.config.Configuration.readOnly(System.Boolean)">com.db4o.config.Configuration.readOnly
3947 <seealso cref="M:com.db4o.config.Configuration.encrypt(System.Boolean)">com.db4o.config.Configuration.encrypt
3949 <seealso cref="M:com.db4o.config.Configuration.password(System.String)">com.db4o.config.Configuration.password
3952 <member name="M:com.db4o.Db4o.version">
3953 <summary>returns the version name of the used db4o version.</summary>
3955 returns the version name of the used db4o version.
3958 <returns>version information as a <code>String</code>.</returns>
3960 <member name="M:com.db4o.ext.ExtDb4o.openMemoryFile(com.db4o.ext.MemoryFile)">
3963 <see cref="T:com.db4o.ObjectContainer">com.db4o.ObjectContainer</see>
3965 <br/><br/>In-memory ObjectContainers are useful for maximum performance
3966 on small databases, for swapping objects or for storing db4o format data
3967 to other media or other databases.<br/><br/>Be aware of the danger of running
3968 into OutOfMemory problems or complete loss of all data, in case of hardware
3969 or JVM failures.<br/><br/>
3971 <param name="memoryFile">
3973 <see cref="T:com.db4o.ext.MemoryFile">MemoryFile</see>
3975 to store the raw byte data.
3979 <see cref="T:com.db4o.ObjectContainer">ObjectContainer</see>
3981 <seealso cref="T:com.db4o.ext.MemoryFile">com.db4o.ext.MemoryFile</seealso>
3983 <member name="T:com.db4o.ext.Db4oUUID">
3984 <summary>a unique universal identify for an object.</summary>
3986 a unique universal identify for an object.
3987 <br/><br/>The db4o UUID consists of two parts:<br/>
3988 - an indexed long for fast access,<br/>
3989 - the signature of the
3990 <see cref="T:com.db4o.ObjectContainer">ObjectContainer</see>
3993 <br/><br/>Db4oUUIDs are valid representations of objects
3994 over multiple ObjectContainers
3997 <member name="M:com.db4o.ext.Db4oUUID.getLongPart">
3998 <summary>returns the long part of this UUID.</summary>
4000 returns the long part of this UUID.
4001 <br/><br/>To uniquely identify an object universally, db4o
4002 uses an indexed long and a reference to the
4003 <see cref="T:com.db4o.ext.Db4oDatabase">com.db4o.ext.Db4oDatabase</see>
4004 object it was created on.
4006 <returns>the long part of this UUID.</returns>
4008 <member name="M:com.db4o.ext.Db4oUUID.getSignaturePart">
4009 <summary>returns the signature part of this UUID.</summary>
4011 returns the signature part of this UUID.
4013 <br/><br/>To uniquely identify an object universally, db4o
4014 uses an indexed long and a reference to the
4015 <see cref="T:com.db4o.ext.Db4oDatabase">com.db4o.ext.Db4oDatabase</see>
4016 singleton object of the
4017 <see cref="T:com.db4o.ObjectContainer">ObjectContainer</see>
4019 This method returns the signature of the Db4oDatabase object of
4020 the ObjectContainer: the signature of the origin ObjectContainer.
4022 <returns>the signature of the Db4oDatabase for this UUID.</returns>
4024 <member name="T:com.db4o.TransactionListener">
4026 allows registration with a transaction to be notified of
4031 <member name="T:com.db4o.query.Evaluation">
4032 <summary>for implementation of callback evaluations.</summary>
4034 for implementation of callback evaluations.
4037 <see cref="T:com.db4o.query.Query">com.db4o.query.Query</see>
4038 node with your own callback
4039 <code>Evaluation</code>, construct an object that implements the
4040 <code>Evaluation</code> interface and register it by passing it
4042 <see cref="M:com.db4o.query.Query.constrain(System.Object)">com.db4o.query.Query.constrain</see>
4045 Evaluations are called as the last step during query execution,
4046 after all other constraints have been applied. Evaluations in higher
4048 <see cref="T:com.db4o.query.Query">com.db4o.query.Query</see>
4049 nodes in the query graph are called first.
4050 <br/><br/>Java client/server only:<br/>
4051 db4o first attempts to use Java Serialization to allow to pass final
4052 variables to the server. Please make sure that all variables that are
4053 used within the evaluate() method are Serializable. This may include
4054 the class an anonymous Evaluation object is created in. If db4o is
4055 not successful at using Serialization, the Evaluation is transported
4056 to the server in a db4o MemoryFile. In this case final variables can
4060 <member name="M:com.db4o.query.Evaluation.evaluate(com.db4o.query.Candidate)">
4062 callback method during
4063 <see cref="M:com.db4o.query.Query.execute">query execution</see>
4066 <param name="candidate">reference to the candidate persistent object.</param>
4068 <member name="T:com.db4o.YapClassAny">
4069 <summary>Undefined YapClass used for members of type Object.</summary>
4070 <remarks>Undefined YapClass used for members of type Object.</remarks>
4072 <member name="T:com.db4o.Tuning">
4073 <summary>Tuning switches for customized versions.</summary>
4074 <remarks>Tuning switches for customized versions.</remarks>
4077 <member name="M:com.db4o.Session.closeInstance">
4078 <summary>returns true, if session is to be closed completely</summary>
4080 <member name="T:com.db4o.QConJoin">
4083 <member name="T:com.db4o.YapConfigBlock">
4085 configuration and agent to write the configuration block
4086 The configuration block also contains the timer lock and
4087 a pointer to the running transaction.
4090 configuration and agent to write the configuration block
4091 The configuration block also contains the timer lock and
4092 a pointer to the running transaction.
4095 <member name="M:com.db4o.YapConfigBlock.read(com.db4o.YapWriter)">
4096 <summary>returns true if Unicode check is necessary</summary>
4098 <member name="T:com.db4o.IxFieldTransaction">
4099 <summary>Index root holder for a field and a transaction.</summary>
4100 <remarks>Index root holder for a field and a transaction.</remarks>
4102 <member name="M:com.db4o.IxFieldTransaction.visit(System.Object)">
4104 Visitor functionality for merge:<br />
4108 <member name="T:com.db4o.QCandidate">
4109 <summary>Represents an actual object in the database.</summary>
4111 Represents an actual object in the database. Forms a tree structure,
4112 indexed by id. Can have dependents that are doNotInclude'd in the
4113 query result when this is doNotInclude'd.
4117 <member name="M:com.db4o.QCandidate.include(System.Boolean)">
4118 <summary>For external interface use only.</summary>
4120 For external interface use only. Call doNotInclude() internally so
4121 dependancies can be checked.
4124 <member name="T:com.db4o.TreeIntObject">
4127 <member name="T:com.db4o.Rename">
4129 Renaming actions are stored to the database file to make
4130 sure that they are only performed once.
4133 Renaming actions are stored to the database file to make
4134 sure that they are only performed once.
4138 <member name="T:com.db4o.StaticClass">
4141 <member name="T:com.db4o.YapString">
4144 Legacy rename for C# obfuscator production trouble
4148 <member name="M:com.db4o.YapString.compare(com.db4o.YapReader,com.db4o.YapReader)">
4150 returns: -x for left is greater and +x for right is greater
4151 TODO: You will need collators here for different languages.
4154 returns: -x for left is greater and +x for right is greater
4155 TODO: You will need collators here for different languages.
4158 <member name="T:com.db4o.IxFileRange">
4159 <summary>A range of index entries in the database file.</summary>
4160 <remarks>A range of index entries in the database file.</remarks>
4162 <member name="T:com.db4o.YapRandomAccessFile">
4165 <member name="T:com.db4o.TreeStringObject">
4168 <member name="T:com.db4o.TreeString">
4171 <member name="T:com.db4o.config.ObjectAttribute">
4172 <summary>generic interface to allow returning an attribute of an object.</summary>
4173 <remarks>generic interface to allow returning an attribute of an object.</remarks>
4175 <member name="M:com.db4o.config.ObjectAttribute.attribute(System.Object)">
4176 <summary>generic method to return an attribute of a parent object.</summary>
4177 <remarks>generic method to return an attribute of a parent object.</remarks>
4178 <param name="parent">the parent object</param>
4179 <returns>Object - the attribute</returns>
4181 <member name="T:com.db4o.YapClassCollection">
4184 <member name="M:com.db4o.YapClassCollection.classAddMembers(com.db4o.YapClass)">
4185 <summary>We always work from parent to child.</summary>
4187 We always work from parent to child. If the Child is a member on the
4188 parent, we have a circular dependancy problem. This method takes care.
4191 <member name="T:com.db4o.ClassIndexClient">
4192 <summary>client class index.</summary>
4194 client class index. Largly intended to do nothing or
4195 redirect functionality to the server.
4198 <member name="T:com.db4o.ClassIndex">
4199 <summary>representation to collect and hold all IDs of one class</summary>
4201 <member name="F:com.db4o.ClassIndex.i_root">
4202 <summary>contains TreeInt with object IDs</summary>
4204 <member name="T:com.db4o.YapHandlers">
4207 <member name="M:com.db4o.YapHandlers.handlerForClass(com.db4o.YapStream,com.db4o.reflect.ReflectClass)">
4209 Can't return ANY class for interfaces, since that would kill the
4210 translators built into the architecture.
4213 Can't return ANY class for interfaces, since that would kill the
4214 translators built into the architecture.
4217 <member name="T:com.db4o.QResultClient">
4220 <member name="T:com.db4o.messaging.MessageRecipient">
4221 <summary>message recipient for client/server messaging.</summary>
4223 message recipient for client/server messaging.
4224 <br/><br/>db4o allows using the client/server TCP connection to send
4225 messages from the client to the server. Any object that can be
4226 stored to a db4o database file may be used as a message.<br/><br/>
4227 See the sample in ../com/db4o/samples/messaging/ on how to
4228 use the messaging feature. It is also used to stop the server
4229 in ../com/db4o/samples/clientserver/StopServer.java<br/><br/>
4230 <b>See Also:</b><br/>
4231 <see cref="M:com.db4o.config.Configuration.setMessageRecipient(com.db4o.messaging.MessageRecipient)">Configuration.setMessageRecipient(MessageRecipient)
4234 <see cref="T:com.db4o.messaging.MessageSender">com.db4o.messaging.MessageSender</see>
4236 <see cref="M:com.db4o.config.Configuration.getMessageSender">com.db4o.config.Configuration.getMessageSender
4241 <member name="M:com.db4o.messaging.MessageRecipient.processMessage(com.db4o.ObjectContainer,System.Object)">
4242 <summary>the method called upon the arrival of messages.</summary>
4243 <remarks>the method called upon the arrival of messages.</remarks>
4244 <param name="con">the ObjectContainer the message was sent to.</param>
4245 <param name="message">the message received.</param>
4247 <member name="T:com.db4o.ext.MemoryFile">
4248 <summary>carries in-memory data for db4o in-memory operation.</summary>
4250 carries in-memory data for db4o in-memory operation.
4251 <br/><br/>In-memory ObjectContainers are useful for maximum performance
4252 on small databases, for swapping objects or for storing db4o format data
4253 to other media or other databases.<br/><br/>Be aware of the danger of running
4254 into OutOfMemory problems or complete loss of all data, in case of hardware
4258 <seealso cref="M:com.db4o.ext.ExtDb4o.openMemoryFile(com.db4o.ext.MemoryFile)">com.db4o.ext.ExtDb4o.openMemoryFile
4261 <member name="M:com.db4o.ext.MemoryFile.getBytes">
4262 <summary>returns the raw byte data.</summary>
4264 returns the raw byte data.
4265 <br /><br />Use this method to get the byte data from the MemoryFile
4266 to store it to other media or databases, for backup purposes or
4267 to create other MemoryFile sessions.
4268 <br /><br />The byte data from a MemoryFile should only be used
4269 after it is closed.<br /><br />
4271 <returns>bytes the raw byte data.</returns>
4273 <member name="M:com.db4o.ext.MemoryFile.getIncrementSizeBy">
4275 returns the size the MemoryFile is to be enlarged, if it grows beyond
4279 returns the size the MemoryFile is to be enlarged, if it grows beyond
4282 <returns>size in bytes</returns>
4284 <member name="M:com.db4o.ext.MemoryFile.getInitialSize">
4285 <summary>returns the initial size of the MemoryFile.</summary>
4286 <remarks>returns the initial size of the MemoryFile.</remarks>
4287 <returns>size in bytes</returns>
4289 <member name="M:com.db4o.ext.MemoryFile.setBytes(System.Byte[])">
4290 <summary>sets the raw byte data.</summary>
4292 sets the raw byte data.
4293 <br /><br /><b>Caution!</b><br />Calling this method during a running
4294 Memory File session may produce unpreditable results.
4296 <param name="bytes">the raw byte data.</param>
4298 <member name="M:com.db4o.ext.MemoryFile.setIncrementSizeBy(System.Int32)">
4300 configures the size the MemoryFile is to be enlarged by, if it grows
4301 beyond the current size.
4304 configures the size the MemoryFile is to be enlarged by, if it grows
4305 beyond the current size.
4306 <br/><br/>Call this method before passing the MemoryFile to
4307 <see cref="M:com.db4o.ext.ExtDb4o.openMemoryFile(com.db4o.ext.MemoryFile)">ExtDb4o#openMemoryFile(MemoryFile)
4311 This parameter can be modified to tune the maximum performance of
4312 a MemoryFile for a specific usecase. To produce the best results,
4313 test the speed of your application with real data.<br/><br/>
4315 <param name="byteCount">the desired size in bytes</param>
4317 <member name="M:com.db4o.ext.MemoryFile.setInitialSize(System.Int32)">
4318 <summary>configures the initial size of the MemoryFile.</summary>
4320 configures the initial size of the MemoryFile.
4321 <br/><br/>Call this method before passing the MemoryFile to
4322 <see cref="M:com.db4o.ext.ExtDb4o.openMemoryFile(com.db4o.ext.MemoryFile)">ExtDb4o#openMemoryFile(MemoryFile)
4326 This parameter can be modified to tune the maximum performance of
4327 a MemoryFile for a specific usecase. To produce the best results,
4328 test speed and memory consumption of your application with
4329 real data.<br/><br/>
4331 <param name="byteCount">the desired size in bytes</param>
4333 <member name="T:com.db4o.QEGreater">
4336 <member name="T:com.db4o.Messages">
4339 <member name="T:com.db4o.YapWriter">
4340 <summary>public for .NET conversion reasons</summary>
4343 <member name="T:com.db4o.QEIdentity">
4346 <member name="T:com.db4o.QPending">
4349 <member name="T:com.db4o.P1HashElement">
4352 <member name="T:com.db4o.YapSocketFake">
4353 <summary>Fakes a socket connection for an embedded client.</summary>
4354 <remarks>Fakes a socket connection for an embedded client.</remarks>
4356 <member name="T:com.db4o.Deploy">
4359 <member name="T:com.db4o.IxPath">
4361 Index Path to represent a list of traversed index tree entries,
4365 <member name="T:com.db4o.ext.DatabaseFileLockedException">
4367 this Exception is thrown during any of the db4o open calls
4368 if the database file is locked by another process.
4371 this Exception is thrown during any of the db4o open calls
4372 if the database file is locked by another process.
4374 <seealso cref="M:com.db4o.Db4o.openFile(System.String)">com.db4o.Db4o.openFile</seealso>
4376 <member name="T:j4o.lang.AssemblyNameHint">
4378 holds a pair of short and long assembly name to help Type.forName()<br />
4379 Instances of this class are stored to the db4o database files.
4383 <member name="T:com.db4o.Platform">
4386 <member name="T:com.db4o.PBootRecord">
4387 <summary>database boot record.</summary>
4389 database boot record. Responsible for ID generation, version generation and
4390 holding a reference to the Db4oDatabase object of the ObjectContainer
4394 <member name="T:com.db4o.io.MemoryIoAdapter">
4395 <summary>IoAdapter for in-memory operation.</summary>
4397 IoAdapter for in-memory operation.
4398 <br/><br/>Configure db4o to operate with this in-memory IoAdapter with
4399 <code>MemoryIoAdapter memoryIoAdapter = new MemoryIoAdapter();<br/>
4400 Db4o.configure().io(memoryIoAdapter);</code><br/>
4401 <br/><br/>Use the normal #openFile() and #openServer() commands to
4402 open ObjectContainers and ObjectServers. The names specified as
4403 file names will be used to identify the
4404 <code>byte[]</code> content of the in-memory files in
4405 the _memoryFiles Hashtable in the adapter. After working with an
4406 in-memory ObjectContainer/ObjectServer the <code>byte[]</code> content
4407 is available in the MemoryIoAdapter by using
4408 <see cref="M:com.db4o.io.MemoryIoAdapter.get(System.String)">com.db4o.io.MemoryIoAdapter.get</see>
4409 . To add old existing database
4410 <code>byte[]</code> content to a MemoryIoAdapter use
4411 <see cref="M:com.db4o.io.MemoryIoAdapter.put(System.String,System.Byte[])">com.db4o.io.MemoryIoAdapter.put</see>
4412 . To reduce memory consumption of memory
4413 file names that will no longer be used call
4414 <see cref="M:com.db4o.io.MemoryIoAdapter.put(System.String,System.Byte[])">com.db4o.io.MemoryIoAdapter.put</see>
4415 and pass an empty byte array.
4418 <member name="M:com.db4o.io.MemoryIoAdapter.put(System.String,System.Byte[])">
4420 creates an in-memory database with the passed content bytes and
4421 adds it to the adapter for the specified name.
4424 creates an in-memory database with the passed content bytes and
4425 adds it to the adapter for the specified name.
4427 <param name="name">the name to be use for #openFile() or #openServer() calls</param>
4428 <param name="bytes">the database content</param>
4430 <member name="M:com.db4o.io.MemoryIoAdapter.get(System.String)">
4431 <summary>returns the content bytes for a database with the given name.</summary>
4432 <remarks>returns the content bytes for a database with the given name.</remarks>
4433 <param name="name">the name to be use for #openFile() or #openServer() calls</param>
4434 <returns>the content bytes</returns>
4436 <member name="M:com.db4o.io.MemoryIoAdapter.growBy(System.Int32)">
4438 configures the length a memory file should grow, if no more
4439 free slots are found within.
4442 configures the length a memory file should grow, if no more
4443 free slots are found within.
4444 <br /><br />Specify a large value (100,000 or more) for best performance.
4445 Specify a small value (100) for the smallest memory consumption. The
4446 default setting is 10,000.
4448 <param name="length">the length in bytes</param>
4450 <member name="M:com.db4o.io.MemoryIoAdapter.close">
4451 <summary>for internal processing only.</summary>
4452 <remarks>for internal processing only.</remarks>
4454 <member name="M:com.db4o.io.MemoryIoAdapter.exists(System.String)">
4455 <summary>for internal processing only.</summary>
4456 <remarks>for internal processing only.</remarks>
4458 <member name="M:com.db4o.io.MemoryIoAdapter.getLength">
4459 <summary>for internal processing only.</summary>
4460 <remarks>for internal processing only.</remarks>
4462 <member name="M:com.db4o.io.MemoryIoAdapter.open(System.String,System.Boolean,System.Int64)">
4463 <summary>for internal processing only.</summary>
4464 <remarks>for internal processing only.</remarks>
4466 <member name="M:com.db4o.io.MemoryIoAdapter.read(System.Byte[],System.Int32)">
4467 <summary>for internal processing only.</summary>
4468 <remarks>for internal processing only.</remarks>
4470 <member name="M:com.db4o.io.MemoryIoAdapter.seek(System.Int64)">
4471 <summary>for internal processing only.</summary>
4472 <remarks>for internal processing only.</remarks>
4474 <member name="M:com.db4o.io.MemoryIoAdapter.sync">
4475 <summary>for internal processing only.</summary>
4476 <remarks>for internal processing only.</remarks>
4478 <member name="M:com.db4o.io.MemoryIoAdapter.write(System.Byte[],System.Int32)">
4479 <summary>for internal processing only.</summary>
4480 <remarks>for internal processing only.</remarks>
4482 <member name="T:com.db4o.JDKReflect">
4484 package and class name are hard-referenced in JavaOnly#jdk()
4485 TODO: may need to use this on instead of JDK on .NET.
4488 package and class name are hard-referenced in JavaOnly#jdk()
4489 TODO: may need to use this on instead of JDK on .NET. Check!
4492 <member name="M:com.db4o.JDKReflect.methodIsAvailable(System.String,System.String,j4o.lang.Class[])">
4494 use for system classes only, since not ClassLoader
4498 <member name="M:com.db4o.JDKReflect.invoke(System.Object,System.String,j4o.lang.Class[],System.Object[])">
4500 use for system classes only, since not ClassLoader
4504 <member name="M:com.db4o.JDKReflect.invoke(System.String,System.String,j4o.lang.Class[],System.Object[],System.Object)">
4506 use for system classes only, since not ClassLoader
4510 <member name="M:com.db4o.JDKReflect.getMethod(System.String,System.String,j4o.lang.Class[])">
4512 calling this "method" will break C# conversion with the old converter
4513 use for system classes only, since not ClassLoader
4517 <member name="T:com.db4o.QConClass">
4520 <member name="T:com.db4o.QConObject">
4521 <summary>Object constraint</summary>
4524 <member name="T:com.db4o.DTrace">
4527 <member name="T:com.db4o.reflect.generic.GenericArrayReflector">
4530 <member name="T:com.db4o.config.TList">
4533 <member name="T:com.db4o.QConPath">
4534 <summary>non-constraint, only necessary to attach children.</summary>
4536 non-constraint, only necessary to attach children.
4537 Added upon call to Query#descendant, if there is no
4538 other place to hook in.
4542 <member name="T:com.db4o.UserException">
4544 TODO: Do we need this class? Possibly it's initialized by reflection
4545 during a license check to bypass hacks.
4548 TODO: Do we need this class? Possibly it's initialized by reflection
4549 during a license check to bypass hacks.
4552 <member name="T:com.db4o.TransactionObjectCarrier">
4553 <summary>TODO: Check if all time-consuming stuff is overridden!</summary>
4555 <member name="T:com.db4o.IxAdd">
4556 <summary>An addition to a field index.</summary>
4557 <remarks>An addition to a field index.</remarks>
4559 <member name="T:com.db4o.ByteBuffer4">
4561 Transport buffer for C/S mode to simulate a
4562 socket connection in memory.
4565 Transport buffer for C/S mode to simulate a
4566 socket connection in memory.
4569 <member name="T:com.db4o.replication.ReplicationConflictHandler">
4572 <see cref="T:com.db4o.replication.ReplicationProcess">com.db4o.replication.ReplicationProcess
4575 replication conflicts. Conflicts occur whenever
4576 <see cref="M:com.db4o.replication.ReplicationProcess.replicate(System.Object)">com.db4o.replication.ReplicationProcess.replicate
4578 is called with an object that
4579 was modified in both ObjectContainers since the last replication run between
4583 <member name="M:com.db4o.replication.ReplicationConflictHandler.resolveConflict(com.db4o.replication.ReplicationProcess,System.Object,System.Object)">
4584 <summary>the callback method to be implemented to resolve a conflict.</summary>
4586 the callback method to be implemented to resolve a conflict. <br/>
4589 <param name="replicationProcess">
4591 <see cref="T:com.db4o.replication.ReplicationProcess">com.db4o.replication.ReplicationProcess
4594 ReplicationConflictHandler is registered
4596 <param name="a">the object modified in the peerA ObjectContainer</param>
4597 <param name="b">the object modified in the peerB ObjectContainer</param>
4599 the object (a or b) that should prevail in the conflict or null,
4600 if no action is to be taken. If this would violate the direction
4602 <see cref="M:com.db4o.replication.ReplicationProcess.setDirection(com.db4o.ObjectContainer,com.db4o.ObjectContainer)">com.db4o.replication.ReplicationProcess.setDirection
4604 no action will be taken.
4606 <seealso cref="M:com.db4o.replication.ReplicationProcess.peerA">com.db4o.replication.ReplicationProcess.peerA
4608 <seealso cref="M:com.db4o.replication.ReplicationProcess.peerB">com.db4o.replication.ReplicationProcess.peerB
4611 <member name="T:com.db4o.QESmaller">
4614 <member name="T:com.db4o.IxField">
4617 <member name="T:com.db4o.Compat">
4620 <member name="M:com.db4o.Compat.getIdentityHashCodeFunction">
4622 Emits a HashCodeFunction which calls System.Object.GetHashCode
4623 non virtually thus yielding an identity based hash code value.
4626 <member name="T:com.db4o.config.TClass">
4629 <member name="T:com.db4o.QEvaluation">