/* * 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.DataSchemaNode; import org.opendaylight.yangtools.yang.model.api.ListSchemaNode; public class ListNodeDataWithSchema extends CompositeNodeDataWithSchema { public ListNodeDataWithSchema(final DataSchemaNode schema) { super(schema); } @Override public void write(final NormalizedNodeStreamWriter writer) throws IOException { final ListSchemaNode schema = (ListSchemaNode) getSchema(); writer.nextDataSchemaNode(schema); if (schema.getKeyDefinition().isEmpty()) { writer.startUnkeyedList(provideNodeIdentifier(), childSizeHint()); } else if (schema.isUserOrdered()) { writer.startOrderedMapNode(provideNodeIdentifier(), childSizeHint()); } else { writer.startMapNode(provideNodeIdentifier(), childSizeHint()); } super.write(writer); writer.endNode(); } }