*/
package org.opendaylight.yangtools.yang.data.impl.schema.builder.impl;
-import com.google.common.base.Optional;
-import com.google.common.base.Preconditions;
+import static java.util.Objects.requireNonNull;
+
+import java.util.Optional;
+import org.eclipse.jdt.annotation.Nullable;
import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier;
import org.opendaylight.yangtools.yang.data.api.schema.ChoiceNode;
import org.opendaylight.yangtools.yang.data.api.schema.DataContainerChild;
import org.opendaylight.yangtools.yang.data.impl.schema.builder.api.DataContainerNodeBuilder;
import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.valid.DataNodeContainerValidator;
import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.valid.DataValidationException;
-import org.opendaylight.yangtools.yang.model.api.ChoiceCaseNode;
+import org.opendaylight.yangtools.yang.model.api.CaseSchemaNode;
import org.opendaylight.yangtools.yang.model.api.ChoiceSchemaNode;
public class ImmutableChoiceNodeSchemaAwareBuilder extends ImmutableChoiceNodeBuilder {
-
private final ChoiceSchemaNode schema;
- private DataNodeContainerValidator validator;
+
+ private @Nullable DataNodeContainerValidator validator = null;
protected ImmutableChoiceNodeSchemaAwareBuilder(final ChoiceSchemaNode schema) {
- this.schema = Preconditions.checkNotNull(schema, "Schema was null");
+ this.schema = requireNonNull(schema, "Schema was null");
super.withNodeIdentifier(NodeIdentifier.create(schema.getQName()));
}
@Override
- public DataContainerNodeBuilder<NodeIdentifier, ChoiceNode> withNodeIdentifier(final NodeIdentifier nodeIdentifier) {
+ public DataContainerNodeBuilder<NodeIdentifier, ChoiceNode> withNodeIdentifier(
+ final NodeIdentifier withNodeIdentifier) {
throw new UnsupportedOperationException("Node identifier created from schema");
}
@Override
- public DataContainerNodeBuilder<NodeIdentifier, ChoiceNode> withChild(final DataContainerChild<?, ?> child) {
+ public DataContainerNodeBuilder<NodeIdentifier, ChoiceNode> withChild(final DataContainerChild child) {
if (validator == null) {
- Optional<ChoiceCaseNode> detectedCaseOpt = SchemaUtils.detectCase(schema, child);
+ Optional<CaseSchemaNode> detectedCaseOpt = SchemaUtils.detectCase(schema, child);
DataValidationException.checkLegalChild(detectedCaseOpt.isPresent(), child.getIdentifier(), schema);
validator = new DataNodeContainerValidator(detectedCaseOpt.get());
}