/*
* Copyright (c) 2016 Cisco Systems, Inc. and others. All rights reserved.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v1.0 which accompanies this distribution,
* and is available at http://www.eclipse.org/legal/epl-v10.html
*/
package org.opendaylight.yangtools.yang.data.util;
import java.io.IOException;
import org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriter;
import org.opendaylight.yangtools.yang.model.api.ChoiceCaseNode;
import org.opendaylight.yangtools.yang.model.api.ChoiceSchemaNode;
import org.opendaylight.yangtools.yang.model.api.DataSchemaNode;
/**
*
* childs - empty augment - only one element can be
*
*/
class ChoiceNodeDataWithSchema extends CompositeNodeDataWithSchema {
private CaseNodeDataWithSchema caseNodeDataWithSchema;
ChoiceNodeDataWithSchema(final ChoiceSchemaNode schema) {
super(schema);
}
@Override
protected CompositeNodeDataWithSchema addCompositeChild(final DataSchemaNode schema) {
CaseNodeDataWithSchema newChild = new CaseNodeDataWithSchema((ChoiceCaseNode) schema);
caseNodeDataWithSchema = newChild;
addCompositeChild(newChild);
return newChild;
}
public CaseNodeDataWithSchema getCase() {
return caseNodeDataWithSchema;
}
@Override
public void write(final NormalizedNodeStreamWriter writer) throws IOException {
writer.nextDataSchemaNode(getSchema());
writer.startChoiceNode(provideNodeIdentifier(), childSizeHint());
super.write(writer);
writer.endNode();
}
}