package org.neo4j.smack.api;
import org.neo4j.graphdb.PropertyContainer;
import org.neo4j.smack.pipeline.database.event.Invocation;
import org.neo4j.smack.serialization.strategy.PropertyContainerDeserialization;
public class BasePropertyContainerService
{
protected UrlReverseLookerUpper url = new UrlReverseLookerUpper();
protected long getNodeId(Invocation invocation)
{
return invocation.getLongParameter(UrlReverseLookerUpper.NODE_ID_NAME, -1l);
}
protected long getRelationshipId(Invocation invocation)
{
return invocation.getLongParameter(UrlReverseLookerUpper.RELATIONSHIP_ID_NAME, -1l);
}
protected String getPropertyKey(Invocation invocation)
{
return invocation.getStringParameter(UrlReverseLookerUpper.PROPERTY_KEY_NAME, null);
}
protected void setProperties(PropertyContainer entity, PropertyContainerDeserialization props)
{
while(props.hasMoreProperties())
{
props.nextProperty();
entity.setProperty(props.propertyKey(), props.propertyValue());
}
}
protected void removeAllProperties(PropertyContainer entity)
{
for(String key: entity.getPropertyKeys())
{
entity.removeProperty(key);
}
}
}