2 * Copyright (c) 2015 Cisco Systems, Inc. and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
9 package org.opendaylight.netconf.sal.connect.netconf.listener;
11 import java.util.Collection;
12 import java.util.HashMap;
13 import java.util.HashSet;
16 import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.netconf.node.connection.status.available.capabilities.AvailableCapability;
17 import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.netconf.node.connection.status.unavailable.capabilities.UnavailableCapability.FailureReason;
18 import org.opendaylight.yangtools.yang.common.QName;
20 public final class NetconfDeviceCapabilities {
21 private final Map<QName, FailureReason> unresolvedCapabilites;
22 private final Set<AvailableCapability> resolvedCapabilities;
23 private final Set<AvailableCapability> nonModuleBasedCapabilities;
25 public NetconfDeviceCapabilities() {
26 this.unresolvedCapabilites = new HashMap<>();
27 this.resolvedCapabilities = new HashSet<>();
28 this.nonModuleBasedCapabilities = new HashSet<>();
31 public void addUnresolvedCapability(QName source, FailureReason reason) {
32 unresolvedCapabilites.put(source, reason);
35 public void addUnresolvedCapabilities(Collection<QName> capabilities, FailureReason reason) {
36 for (QName s : capabilities) {
37 unresolvedCapabilites.put(s, reason);
41 public void addCapabilities(Collection<AvailableCapability> availableSchemas) {
42 resolvedCapabilities.addAll(availableSchemas);
45 public void addNonModuleBasedCapabilities(Collection<AvailableCapability> nonModuleCapabilities) {
46 this.nonModuleBasedCapabilities.addAll(nonModuleCapabilities);
49 public Set<AvailableCapability> getNonModuleBasedCapabilities() {
50 return nonModuleBasedCapabilities;
53 public Map<QName, FailureReason> getUnresolvedCapabilites() {
54 return unresolvedCapabilites;
57 public Set<AvailableCapability> getResolvedCapabilities() {
58 return resolvedCapabilities;