use of org.neo4j.kernel.impl.transaction.state.RecordAccess.Loader in project neo4j by neo4j.
the class Loaders method propertyLoader.
public static Loader<Long, PropertyRecord, PrimitiveRecord> propertyLoader(final PropertyStore store) {
return new Loader<Long, PropertyRecord, PrimitiveRecord>() {
@Override
public PropertyRecord newUnused(Long key, PrimitiveRecord additionalData) {
PropertyRecord record = new PropertyRecord(key);
setOwner(record, additionalData);
return andMarkAsCreated(record);
}
private void setOwner(PropertyRecord record, PrimitiveRecord owner) {
if (owner != null) {
owner.setIdTo(record);
}
}
@Override
public PropertyRecord load(Long key, PrimitiveRecord additionalData) {
PropertyRecord record = store.getRecord(key, store.newRecord(), NORMAL);
setOwner(record, additionalData);
return record;
}
@Override
public void ensureHeavy(PropertyRecord record) {
for (PropertyBlock block : record) {
store.ensureHeavy(block);
}
}
@Override
public PropertyRecord clone(PropertyRecord propertyRecord) {
return propertyRecord.clone();
}
};
}
use of org.neo4j.kernel.impl.transaction.state.RecordAccess.Loader in project neo4j by neo4j.
the class Loaders method relationshipGroupLoader.
public static Loader<Long, RelationshipGroupRecord, Integer> relationshipGroupLoader(final RecordStore<RelationshipGroupRecord> store) {
return new Loader<Long, RelationshipGroupRecord, Integer>() {
@Override
public RelationshipGroupRecord newUnused(Long key, Integer type) {
RelationshipGroupRecord record = new RelationshipGroupRecord(key);
record.setType(type);
return andMarkAsCreated(record);
}
@Override
public RelationshipGroupRecord load(Long key, Integer type) {
return store.getRecord(key, store.newRecord(), NORMAL);
}
@Override
public void ensureHeavy(RelationshipGroupRecord record) {
// Not needed
}
@Override
public RelationshipGroupRecord clone(RelationshipGroupRecord record) {
return record.clone();
}
};
}
Aggregations