X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fnetconf%2Fnetconf-cli%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fnetconf%2Fcli%2Freader%2Fimpl%2FLeafReader.java;fp=opendaylight%2Fnetconf%2Fnetconf-cli%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fnetconf%2Fcli%2Freader%2Fimpl%2FLeafReader.java;h=9a847f690a6f557096c6d7d93a7fcb14aef3e070;hp=0000000000000000000000000000000000000000;hb=b3d2a00776a1a5e3a139d73ced859aa557c931af;hpb=d04e0863b86415749a8437241c57df0d32a3b133 diff --git a/opendaylight/netconf/netconf-cli/src/main/java/org/opendaylight/controller/netconf/cli/reader/impl/LeafReader.java b/opendaylight/netconf/netconf-cli/src/main/java/org/opendaylight/controller/netconf/cli/reader/impl/LeafReader.java new file mode 100644 index 0000000000..9a847f690a --- /dev/null +++ b/opendaylight/netconf/netconf-cli/src/main/java/org/opendaylight/controller/netconf/cli/reader/impl/LeafReader.java @@ -0,0 +1,51 @@ +/* + * Copyright (c) 2014 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.controller.netconf.cli.reader.impl; + +import com.google.common.base.Optional; +import com.google.common.collect.Lists; +import java.util.List; +import jline.console.completer.Completer; +import jline.console.completer.StringsCompleter; +import org.opendaylight.controller.netconf.cli.io.BaseConsoleContext; +import org.opendaylight.controller.netconf.cli.io.ConsoleContext; +import org.opendaylight.controller.netconf.cli.io.ConsoleIO; +import org.opendaylight.yangtools.yang.model.api.LeafSchemaNode; +import org.opendaylight.yangtools.yang.model.api.SchemaContext; +import org.opendaylight.yangtools.yang.model.api.TypeDefinition; + +public class LeafReader extends BasicDataHolderReader { + + public LeafReader(final ConsoleIO console, final SchemaContext schemaContext) { + super(console, schemaContext); + } + + public LeafReader(final ConsoleIO console, final SchemaContext schemaContext, final boolean readConfigNode) { + super(console, schemaContext, readConfigNode); + } + + @Override + protected TypeDefinition getType(final LeafSchemaNode schemaNode) { + return schemaNode.getType(); + } + + @Override + protected ConsoleContext getContext(final LeafSchemaNode schemaNode) { + return new BaseConsoleContext(schemaNode) { + @Override + public List getAdditionalCompleters() { + final List completers = Lists. newArrayList(getBaseCompleter(schemaNode)); + final Optional defaultValue = getDefaultValue(schemaNode); + if (defaultValue.isPresent()) { + completers.add(new StringsCompleter(defaultValue.get())); + } + return completers; + } + }; + } +}