Add ability to configure name for all ChronicleMaps and ChronicleSets via ChronicleHashBuilder.name(). Add ChronicleHash.toIdentityString()

This commit is contained in:
leventov
2016-11-12 15:43:27 -06:00
parent e7b2836e2a
commit d76f838adb
15 changed files with 225 additions and 14 deletions
@@ -66,6 +66,9 @@ public class VanillaChronicleMap<K, V, R>
public int alignment;
public int worstAlignment;
/////////////////////////////////////////////////
private transient String name;
public transient boolean couldNotDetermineAlignmentBeforeAllocation;
/////////////////////////////////////////////////
@@ -134,6 +137,7 @@ public class VanillaChronicleMap<K, V, R>
}
void initTransientsFromBuilder(ChronicleMapBuilder<K, V> builder) {
name = builder.name();
putReturnsNull = builder.putReturnsNull();
removeReturnsNull = builder.removeReturnsNull();
@@ -239,6 +243,22 @@ public class VanillaChronicleMap<K, V, R>
public String toString() {
return mapToString();
}
@Override
public String name() {
return name;
}
@Override
public String toIdentityString() {
if (chronicleSet != null)
return chronicleSet.toIdentityString();
return "ChronicleMap{" +
"name=" + name() +
", file=" + file() +
", identityHashCode=" + System.identityHashCode(this) +
"}";
}
@Override
public void clear() {