Switch to JDT annotations for Nullable and NonNull
[netvirt.git] / vpnmanager / api / src / main / java / org / opendaylight / netvirt / vpnmanager / api / ICentralizedSwitchProvider.java
1 /*
2  * Copyright © 2016, 2017 Hewlett Packard Enterprise, Co. and others. All rights reserved.
3  *
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
7  */
8
9 package org.opendaylight.netvirt.vpnmanager.api;
10
11 import java.math.BigInteger;
12 import org.eclipse.jdt.annotation.Nullable;
13
14 /**
15  * ICentralizedSwitchProvider allows to create or interrogate centralized
16  * switch:router mappings.<br>
17  * The centralized switch is currently implemented using NAPT switch models
18  * residing in natservice bundle. As the roles of centralized switch will grow
19  * beyond NAT use cases, the associated models and logic need to be renamed
20  * and moved to either vpnmanager or new bundle as part of Carbon model changes.
21  */
22 public interface ICentralizedSwitchProvider {
23
24     /**
25      * Get the primary switch selected for the router if it has previously been
26      * allocated.
27      *
28      * @param routerName The router's name.
29      * @return The primary switch id.
30      */
31     @Nullable
32     BigInteger getPrimarySwitchForRouter(String routerName);
33
34 }