@Override @SuppressWarnings("unchecked") public LeafNode<T> build() { final T value = getValue(); if (value instanceof byte[]) { return (LeafNode<T>) new ImmutableBinaryLeafNode(getNodeIdentifier(), (byte[]) value, getAttributes()); } return new ImmutableLeafNode<>(getNodeIdentifier(), value, getAttributes()); }
@Override public MapEntryNode build() { super.withNodeIdentifier(constructNodeIdentifier()); return super.build(); }
@Override public LeafSetEntryNode<T> build() { return new ImmutableLeafSetEntryNode<>(getNodeIdentifier(), getValue(), getAttributes()); }
@Override public YangModeledAnyXmlNode build() { return new ImmutableYangModeledAnyXmlNode(getNodeIdentifier(), buildValue(), getAttributes(), contentSchema); }
@Override public ContainerNode build() { return new ImmutableContainerNode(getNodeIdentifier(), buildValue(), getAttributes()); }
@Override public AnyXmlNode build() { return new ImmutableXmlNode(getNodeIdentifier(), getValue(), getAttributes()); }
@Override public UnkeyedListEntryNode build() { return new ImmutableUnkeyedListEntryNode(getNodeIdentifier(), buildValue(), getAttributes()); }
@Override public AugmentationNode build() { return new ImmutableAugmentationNode(getNodeIdentifier(), buildValue()); }
@Override public ChoiceNode build() { return new ImmutableChoiceNode(getNodeIdentifier(), buildValue()); }
@Override public DataContainerNodeAttrBuilder<NodeIdentifierWithPredicates, MapEntryNode> withValue( final Collection<DataContainerChild<? extends PathArgument, ?>> withValue) { fillQnames(withValue, childrenQNamesToPaths); return super.withValue(withValue); }
@Override public ListNodeBuilder<T, LeafSetEntryNode<T>> withChildValue(final T childValue) { // TODO check value type return super.withChildValue(childValue); }
@Override public DataContainerNodeAttrBuilder<I, R> withValue( final Collection<DataContainerChild<? extends PathArgument, ?>> withValue) { return (DataContainerNodeAttrBuilder<I, R>) super.withValue(withValue); }
@Override public NormalizedNodeContainerBuilder<NodeIdentifier, PathArgument, LeafSetEntryNode<T>, LeafSetNode<T>> addChild( final LeafSetEntryNode<T> child) { return withChild(child); }
@Override public NormalizedNodeContainerBuilder<NodeIdentifier, PathArgument, LeafSetEntryNode<T>, LeafSetNode<T>> removeChild(final PathArgument key) { return withoutChild(key); }
@Override @SuppressWarnings("unchecked") public LeafNode<T> build() { final T value = getValue(); if (value instanceof byte[]) { return (LeafNode<T>) new ImmutableBinaryLeafNode(getNodeIdentifier(), (byte[]) value, getAttributes()); } return new ImmutableLeafNode<>(getNodeIdentifier(), value, getAttributes()); }
@Override public YangModeledAnyXmlNode build() { return new ImmutableYangModeledAnyXmlNode(getNodeIdentifier(), buildValue(), getAttributes(), contentSchema); }
@Override public ContainerNode build() { return new ImmutableContainerNode(getNodeIdentifier(), buildValue(), getAttributes()); }
@Override public MapEntryNode build() { super.withNodeIdentifier(constructNodeIdentifier()); return super.build(); }
@Override public AugmentationNode build() { return new ImmutableAugmentationNode(getNodeIdentifier(), buildValue()); }
@Override public DataContainerNodeAttrBuilder<NodeIdentifierWithPredicates, MapEntryNode> withValue( final Collection<DataContainerChild<? extends PathArgument, ?>> withValue) { fillQnames(withValue, childrenQNamesToPaths); return super.withValue(withValue); }