import org.opendaylight.yangtools.yang.data.api.InstanceIdentifier.PathArgument;
import org.opendaylight.yangtools.yang.data.impl.schema.builder.api.NormalizedNodeContainerBuilder;
+import com.google.common.base.Preconditions;
+import com.google.common.primitives.UnsignedLong;
+
/**
*
* Helper builder
private final NormalizedNodeContainerBuilder data;
-
private StoreNodeCompositeBuilder(final NormalizedNodeContainerBuilder nodeBuilder) {
this.metadata = StoreMetadataNode.builder();
- this.data = nodeBuilder;
+ this.data = Preconditions.checkNotNull(nodeBuilder);
+ }
+
+ public StoreNodeCompositeBuilder(NormalizedNodeContainerBuilder nodeBuilder, StoreMetadataNode currentMeta) {
+ this.metadata = StoreMetadataNode.builder(currentMeta);
+ this.data = Preconditions.checkNotNull(nodeBuilder);
}
@SuppressWarnings("unchecked")
return this;
}
+ @SuppressWarnings("unchecked")
+ public StoreNodeCompositeBuilder remove(PathArgument id) {
+ metadata.remove(id);
+ data.removeChild(id);
+ return this;
+ }
public StoreMetadataNode build() {
return metadata.setData(data.build()).build();
}
-
public static StoreNodeCompositeBuilder from(final NormalizedNodeContainerBuilder nodeBuilder) {
return new StoreNodeCompositeBuilder(nodeBuilder);
}
- public static StoreNodeCompositeBuilder from(final StoreMetadataNode previous, final NormalizedNodeContainerBuilder nodeBuilder) {
-
- return new StoreNodeCompositeBuilder(nodeBuilder);
+ public static StoreNodeCompositeBuilder from(final NormalizedNodeContainerBuilder nodeBuilder, StoreMetadataNode currentMeta) {
+ return new StoreNodeCompositeBuilder(nodeBuilder, currentMeta);
}
+ @SuppressWarnings("unchecked")
public StoreNodeCompositeBuilder setIdentifier(final PathArgument identifier) {
data.withNodeIdentifier(identifier);
return this;
}
+ public StoreNodeCompositeBuilder setNodeVersion(final UnsignedLong nodeVersion) {
+ metadata.setNodeVersion(nodeVersion);
+ return this;
+ }
+
+ public StoreNodeCompositeBuilder setSubtreeVersion(final UnsignedLong updatedSubtreeVersion) {
+ metadata.setSubtreeVersion(updatedSubtreeVersion);
+ return this;
+ }
}