.getClassNameListRootDataRecordIdentifier();
} catch (StoreException exception) {
throw new ObjectIOException(exception);
}
if (dataRecordIdentifier != null) {
rootClassNameRecord = new ClassNameRecord(heapRecordableManager,
helperBinaryConversion);
rootClassNameRecord.setDataRecordIdentifier(
/**/dataRecordIdentifier,
/**/true/* exist in file */);
if (!heapRecordableManager.readAndSetState(rootClassNameRecord)) {
throw new ObjectIOException("failed read and set state: "
+ heapRecordableManager.getReadAndSetStateStatus());
}
ClassNameRecord classNameRecord = rootClassNameRecord;
while (dataRecordIdentifier != null) {
final Integer identifier = classNameRecord
.getClassNameIdentifier();
final String className = arrayByteToString(classNameRecord);
if (LOGGER.debugEnabled) {
LOGGER.debug("read: class name id=" + identifier
+ " class name=" + className + " data record id="
+ dataRecordIdentifier);
}
byClassNameIdentifier.put(className, identifier);
byIdentifierClassName.put(identifier, className);
dataRecordIdentifier = classNameRecord
.getNextClassNameRecordDataRecordIdentifier();
if (dataRecordIdentifier != null) {
if (LOGGER.debugEnabled) {// NOPMD
LOGGER.debug("next data record id="
+ dataRecordIdentifier);
}
classNameRecord = newClassNameRecord();
classNameRecord.setDataRecordIdentifier(
/**/dataRecordIdentifier,
/**/true/* exist in file */);
readAndSetState(classNameRecord);
}
}