2 * Copyright (c) 2019 PANTHEON.tech, s.r.o. and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
8 package org.opendaylight.yangtools.yang.data.impl.schema;
10 import static java.util.Objects.requireNonNull;
12 import java.util.Collection;
13 import org.eclipse.jdt.annotation.NonNull;
14 import org.eclipse.jdt.annotation.Nullable;
15 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument;
16 import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
17 import org.opendaylight.yangtools.yang.data.api.schema.builder.NormalizedNodeBuilder;
18 import org.opendaylight.yangtools.yang.data.api.schema.builder.NormalizedNodeContainerBuilder;
19 import org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizationResult;
21 @SuppressWarnings("rawtypes")
22 final class NormalizationResultBuilder implements NormalizedNodeContainerBuilder {
23 private final @NonNull NormalizationResultHolder holder;
25 NormalizationResultBuilder() {
26 holder = new NormalizationResultHolder();
29 NormalizationResultBuilder(final NormalizationResultHolder holder) {
30 this.holder = requireNonNull(holder);
33 @Nullable NormalizationResult result() {
34 return holder.result();
42 public NormalizedNodeBuilder withValue(final Object value) {
43 throw new UnsupportedOperationException();
47 public NormalizedNodeContainerBuilder withValue(final Collection value) {
48 throw new UnsupportedOperationException();
52 public NormalizedNode build() {
53 throw new IllegalStateException("Can not close NormalizedNodeResult");
57 public NormalizedNodeContainerBuilder withNodeIdentifier(final PathArgument nodeIdentifier) {
58 throw new UnsupportedOperationException();
62 public NormalizedNodeContainerBuilder addChild(final NormalizedNode child) {
63 holder.setData(child);
68 public NormalizedNodeContainerBuilder removeChild(final PathArgument key) {
69 throw new UnsupportedOperationException();