org.vertexium.accumulo.AccumuloVertexBuilder Maven / Gradle / Ivy
package org.vertexium.accumulo;
import org.vertexium.Authorizations;
import org.vertexium.Vertex;
import org.vertexium.VertexBuilder;
import org.vertexium.Visibility;
public abstract class AccumuloVertexBuilder extends VertexBuilder implements VertexBuilderWithKeyValuePairs {
private final ElementMutationBuilder elementMutationBuilder;
public AccumuloVertexBuilder(String vertexId, Visibility visibility, ElementMutationBuilder elementMutationBuilder) {
super(vertexId, visibility);
this.elementMutationBuilder = elementMutationBuilder;
}
@Override
public Iterable getKeyValuePairs() {
AccumuloVertex vertex = createVertex(new AccumuloAuthorizations());
return getElementMutationBuilder().getKeyValuePairsForVertex(vertex);
}
@Override
public abstract Vertex save(Authorizations authorizations);
protected abstract AccumuloVertex createVertex(Authorizations authorizations);
public ElementMutationBuilder getElementMutationBuilder() {
return elementMutationBuilder;
}
}