For built-in db4o collections:
Java: Db4oCollection.activationDepth(activationDepth)
configures the activation depth for the objects returned from this collection. Default activation depth value for collections is 1, for hashmaps - 2.
01private static void testCollectionDef(){ 02
storeCollection(); 03
Configuration configuration = Db4o.newConfiguration(); 04
configuration.activationDepth(5); 05
ObjectContainer container = Db4o.openFile(configuration, DB4O_FILE_NAME); 06
try { 07
ObjectSet result = container.get(List.class); 08
listResult(result); 09
P2LinkedList list = (P2LinkedList)result.get(0); 10
System.out.println("Default List activation depth: " + list.activationDepth()); 11
for (int i = 0; i < list.size(); i++){ 12
System.out.println("List element: " + list.get(i)); 13
} 14
} finally { 15
container.close(); 16
} 17
}
Let's change the activation depth:
01private static void testCollectionActivation(){ 02
storeCollection(); 03
Configuration configuration = Db4o.newConfiguration(); 04
configuration.activationDepth(5); 05
ObjectContainer container = Db4o.openFile(DB4O_FILE_NAME); 06
try { 07
ObjectSet result = container.get(List.class); 08
listResult(result); 09
P2LinkedList list = (P2LinkedList)result.get(0); 10
System.out.println("Setting list activation depth to 0 "); 11
list.activationDepth(0); 12
for (int i = 0; i < list.size(); i++){ 13
System.out.println("List element: " + list.get(i)); 14
} 15
} finally { 16
container.close(); 17
} 18
}
Specify a value less than zero to use the default activation depth configured for the ObjectContainer or for individual objects.