2 * Copyright (c) 2016 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
8 package org.opendaylight.netconf.sal.connect.netconf.listener;
10 import javax.annotation.Nonnull;
13 * DTO with user capabilities to override or merge with device specific capabilities.
15 public class UserPreferences {
17 private final NetconfSessionPreferences sessionPreferences;
18 private final boolean overrideModuleCapabilities;
19 private final boolean overrideNonModuleCapabilities;
21 public UserPreferences(@Nonnull final NetconfSessionPreferences sessionPreferences,
22 boolean overrideModuleCapabilities, boolean overrideNonModuleCapabilities) {
24 if (overrideModuleCapabilities && (sessionPreferences.getModuleBasedCaps() == null
25 || sessionPreferences.getModuleBasedCaps().isEmpty())) {
26 throw new IllegalStateException(
27 "Override module based capabilities flag set true but module based capabilities list is empty.");
29 if (overrideNonModuleCapabilities && (sessionPreferences.getNonModuleCaps() == null
30 || sessionPreferences.getNonModuleCaps().isEmpty())) {
31 throw new IllegalStateException(
32 "Override non-module based capabilities set true but non-module based capabilities list is empty.");
35 this.sessionPreferences = sessionPreferences;
36 this.overrideModuleCapabilities = overrideModuleCapabilities;
37 this.overrideNonModuleCapabilities = overrideNonModuleCapabilities;
40 public NetconfSessionPreferences getSessionPreferences() {
41 return sessionPreferences;
44 public boolean moduleBasedCapsOverrided() {
45 return overrideModuleCapabilities;
48 public boolean nonModuleBasedCapsOverrided() {
49 return overrideNonModuleCapabilities;
53 public String toString() {
54 final StringBuffer sb = new StringBuffer("UserPreferences{");
55 sb.append("sessionPreferences=").append(sessionPreferences);
56 sb.append(", overrideModuleCapabilities=").append(overrideModuleCapabilities);
57 sb.append(", overrideNonModuleCapabilities=").append(overrideNonModuleCapabilities);