Drop <R, I> generic from RIBSupport
[bgpcep.git] / bgp / rib-spi / src / main / java / org / opendaylight / protocol / bgp / rib / spi / entry / StaleBestPathRoute.java
1 /*
2  * Copyright (c) 2018 AT&T Intellectual Property. 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 package org.opendaylight.protocol.bgp.rib.spi.entry;
9
10 import static java.util.Objects.requireNonNull;
11
12 import java.util.List;
13 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifierWithPredicates;
14
15 /**
16  * Routes to be removed from Data Store.
17  *
18  * @author Claudio D. Gasparini
19  */
20 public abstract class StaleBestPathRoute {
21     private final NodeIdentifierWithPredicates nonAddPathRouteKeyIdentifier;
22
23     protected StaleBestPathRoute(final NodeIdentifierWithPredicates nonAddPathRouteKeyIdentifier) {
24         this.nonAddPathRouteKeyIdentifier = requireNonNull(nonAddPathRouteKeyIdentifier);
25     }
26
27     public final NodeIdentifierWithPredicates getNonAddPathRouteKeyIdentifier() {
28         return nonAddPathRouteKeyIdentifier;
29     }
30
31     /**
32      * Route Identifier List of withdrawn routes to advertize peers supporting additional Path.
33      *
34      * @return Route Identifier List
35      */
36     public abstract List<NodeIdentifierWithPredicates> getStaleRouteKeyIdentifiers();
37
38     /**
39      * Route Identifier List of withdrawn routes to advertize peers supporting additional Path.
40      *
41      * @return Route Identifier List
42      */
43     public abstract List<NodeIdentifierWithPredicates> getAddPathRouteKeyIdentifiers();
44
45     /**
46      * Route Identifier of withdrawn routes to advertize peers no supporting additional Path.
47      *
48      * @return Route Identifier
49      */
50     public abstract boolean isNonAddPathBestPathNew();
51 }