@Override
protected StoreMetadataNode applyWrite(final NodeModification modification,
final Optional<StoreMetadataNode> currentMeta, final UnsignedLong subtreeVersion) {
- UnsignedLong nodeVersion = subtreeVersion;
- return StoreMetadataNode.builder().setNodeVersion(nodeVersion).setSubtreeVersion(subtreeVersion)
+ return StoreMetadataNode.builder(subtreeVersion).setSubtreeVersion(subtreeVersion)
.setData(modification.getWrittenValue()).build();
}
@SuppressWarnings("rawtypes")
NormalizedNodeContainerBuilder dataBuilder = createBuilder(newValue);
- StoreNodeCompositeBuilder builder = StoreNodeCompositeBuilder.from(dataBuilder) //
- .setNodeVersion(nodeVersion) //
+ StoreNodeCompositeBuilder builder = StoreNodeCompositeBuilder.create(nodeVersion, dataBuilder) //
.setSubtreeVersion(subtreeVersion);
return mutateChildren(modification.getModifications(), newValueMeta, builder, nodeVersion);
@SuppressWarnings("rawtypes")
NormalizedNodeContainerBuilder dataBuilder = createBuilder(currentMeta.getData());
- StoreNodeCompositeBuilder builder = StoreNodeCompositeBuilder.from(dataBuilder, currentMeta)
- .setIdentifier(modification.getIdentifier()).setNodeVersion(currentMeta.getNodeVersion())
+ StoreNodeCompositeBuilder builder = StoreNodeCompositeBuilder.create(dataBuilder, currentMeta)
+ .setIdentifier(modification.getIdentifier())
.setSubtreeVersion(updatedSubtreeVersion);
return mutateChildren(modification.getModifications(), currentMeta, builder, updatedSubtreeVersion);
Collections.<PathArgument, StoreMetadataNode>emptyMap());
}
- public static Builder builder() {
- return new Builder();
+ public static Builder builder(final UnsignedLong version) {
+ return new Builder(version);
}
- public static Builder builder(StoreMetadataNode node) {
+ public static Builder builder(final StoreMetadataNode node) {
return new Builder(node);
}
public static final StoreMetadataNode createRecursively(final NormalizedNode<?, ?> node,
final UnsignedLong nodeVersion, final UnsignedLong subtreeVersion) {
- Builder builder = builder() //
- .setNodeVersion(nodeVersion) //
+ Builder builder = builder(nodeVersion) //
.setSubtreeVersion(subtreeVersion) //
.setData(node);
if (node instanceof NormalizedNodeContainer<?, ?, ?>) {
public static class Builder {
- private UnsignedLong nodeVersion;
+ private final UnsignedLong nodeVersion;
private UnsignedLong subtreeVersion;
private NormalizedNode<?, ?> data;
private Map<PathArgument, StoreMetadataNode> children;
private boolean dirty = false;
- private Builder() {
+ private Builder(final UnsignedLong version) {
+ this.nodeVersion = Preconditions.checkNotNull(version);
children = new HashMap<>();
}
- private Builder(StoreMetadataNode node) {
+ private Builder(final StoreMetadataNode node) {
+ this.nodeVersion = node.getNodeVersion();
children = new HashMap<>(node.children);
}
- public UnsignedLong getVersion() {
- return nodeVersion;
-
- }
-
- public Builder setNodeVersion(final UnsignedLong version) {
- this.nodeVersion = version;
- return this;
- }
-
public Builder setSubtreeVersion(final UnsignedLong version) {
this.subtreeVersion = version;
return this;
private final NormalizedNodeContainerBuilder data;
- private StoreNodeCompositeBuilder(final NormalizedNodeContainerBuilder nodeBuilder) {
- this.metadata = StoreMetadataNode.builder();
+ private StoreNodeCompositeBuilder(final UnsignedLong version, final NormalizedNodeContainerBuilder nodeBuilder) {
+ this.metadata = StoreMetadataNode.builder(version);
this.data = Preconditions.checkNotNull(nodeBuilder);
}
- public StoreNodeCompositeBuilder(NormalizedNodeContainerBuilder nodeBuilder, StoreMetadataNode currentMeta) {
+ private StoreNodeCompositeBuilder(final NormalizedNodeContainerBuilder nodeBuilder, final StoreMetadataNode currentMeta) {
this.metadata = StoreMetadataNode.builder(currentMeta);
this.data = Preconditions.checkNotNull(nodeBuilder);
}
}
@SuppressWarnings("unchecked")
- public StoreNodeCompositeBuilder remove(PathArgument id) {
+ public StoreNodeCompositeBuilder remove(final PathArgument id) {
metadata.remove(id);
data.removeChild(id);
return this;
return metadata.setData(data.build()).build();
}
- public static StoreNodeCompositeBuilder from(final NormalizedNodeContainerBuilder nodeBuilder) {
- return new StoreNodeCompositeBuilder(nodeBuilder);
+ public static StoreNodeCompositeBuilder create(final UnsignedLong version, final NormalizedNodeContainerBuilder nodeBuilder) {
+ return new StoreNodeCompositeBuilder(version, nodeBuilder);
}
- public static StoreNodeCompositeBuilder from(final NormalizedNodeContainerBuilder nodeBuilder, StoreMetadataNode currentMeta) {
+ public static StoreNodeCompositeBuilder create(final NormalizedNodeContainerBuilder nodeBuilder, final StoreMetadataNode currentMeta) {
return new StoreNodeCompositeBuilder(nodeBuilder, currentMeta);
}
return this;
}
- public StoreNodeCompositeBuilder setNodeVersion(final UnsignedLong nodeVersion) {
- metadata.setNodeVersion(nodeVersion);
- return this;
- }
-
public StoreNodeCompositeBuilder setSubtreeVersion(final UnsignedLong updatedSubtreeVersion) {
metadata.setSubtreeVersion(updatedSubtreeVersion);
return this;