private boolean primitiveHasProperty(PrimitiveRecord record, String propertyName) { int propertyKeyId = propertyKeyTokens.idOf(propertyName); return propertyKeyId != -1 && propertyTraverser.findPropertyRecordContaining( record, propertyKeyId, recordAccess.getPropertyRecords(), false) != Record.NO_NEXT_PROPERTY.intValue(); }
private Map<String, Object> getPropertyChain(long nextProp) { final Map<String, Object> map = new HashMap<>(); propertyTraverser.getPropertyChain( nextProp, recordAccess.getPropertyRecords(), new Listener<PropertyBlock>() { @Override public void receive(PropertyBlock propBlock) { String key = propertyKeyTokens.nameOf(propBlock.getKeyIndexId()); DefinedProperty propertyData = propBlock.newPropertyData(getPropertyStore()); Object value = propertyData.value() != null ? propertyData.value() : propBlock.getType().getValue(propBlock, getPropertyStore()); map.put(key, value); } }); return map; }