+++ /dev/null
-/*
- * 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.io;
-
-import com.google.common.base.Optional;
-import com.google.common.base.Preconditions;
-import com.google.common.collect.Lists;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-import jline.console.completer.AggregateCompleter;
-import jline.console.completer.Completer;
-import jline.console.completer.StringsCompleter;
-import org.opendaylight.yangtools.yang.model.api.DataSchemaNode;
-
-public class BaseConsoleContext<T extends DataSchemaNode> implements ConsoleContext {
-
- private static final Completer SKIP_COMPLETER = new StringsCompleter(IOUtil.SKIP);
-
- private final T dataSchemaNode;
-
- public BaseConsoleContext(final T dataSchemaNode) {
- Preconditions.checkNotNull(dataSchemaNode);
- this.dataSchemaNode = dataSchemaNode;
- }
-
- @Override
- public Completer getCompleter() {
- final ArrayList<Completer> completers = Lists.newArrayList(SKIP_COMPLETER);
- completers.addAll(getAdditionalCompleters());
- return new AggregateCompleter(completers);
- }
-
- protected List<Completer> getAdditionalCompleters() {
- return Collections.emptyList();
- }
-
- @Override
- public Optional<String> getPrompt() {
- return Optional.of(dataSchemaNode.getQName().getLocalName());
- }
-
- protected T getDataSchemaNode() {
- return dataSchemaNode;
- }
-}