private void deletePropertyChain(long nextProp) { PropertyStore propStore = getPropertyStore(); while (nextProp != Record.NO_NEXT_PROPERTY.intValue()) { PropertyRecord propRecord = propStore.getRecord(nextProp); /* * The only reason to loop over the blocks is to handle the dynamic * records that possibly hang under them. Otherwise, we could just * set the property record not in use and be done with it. The * residue of the convenience is that we do not remove individual * property blocks - we just mark the whole record as !inUse. */ for (PropertyBlock propBlock : propRecord.getPropertyBlocks()) { propStore.ensureHeavy(propBlock); for (DynamicRecord rec : propBlock.getValueRecords()) { rec.setInUse(false); propRecord.addDeletedRecord(rec); } } propRecord.setInUse(false); nextProp = propRecord.getNextProp(); propStore.updateRecord(propRecord); } }
public Object getArrayFor(PropertyBlock propertyBlock) { ensureHeavy(propertyBlock); return getArrayFor(propertyBlock.getValueRecords()); }
public String getStringFor(PropertyBlock propertyBlock) { ensureHeavy(propertyBlock); return getStringFor(propertyBlock.getValueRecords()); }