public abstract class AbstractVpnRIBSupport extends AbstractRIBSupport
RIBSupport.ApplyRoute| Modifier | Constructor and Description | 
|---|---|
| protected  | AbstractVpnRIBSupport(Class<? extends Routes> cazeClass,
                     Class<? extends org.opendaylight.yangtools.yang.binding.DataObject> containerClass,
                     Class<? extends Route> listClass,
                     Class<? extends AddressFamily> afiClass,
                     org.opendaylight.yangtools.yang.common.QName vpnDstContainerClassQname)Default constructor. | 
| Modifier and Type | Method and Description | 
|---|---|
| protected DestinationType | buildDestination(Collection<org.opendaylight.yangtools.yang.data.api.schema.MapEntryNode> routes) | 
| protected DestinationType | buildWithdrawnDestination(Collection<org.opendaylight.yangtools.yang.data.api.schema.MapEntryNode> routes) | 
| com.google.common.collect.ImmutableCollection<Class<? extends org.opendaylight.yangtools.yang.binding.DataObject>> | cacheableAttributeObjects() | 
| com.google.common.collect.ImmutableCollection<Class<? extends org.opendaylight.yangtools.yang.binding.DataObject>> | cacheableNlriObjects() | 
| default org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument | createRouteKeyPathArgument(org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument routeKeyPathArgument)Create a new Path Argument for route Key removing remove Path Id from key
 For non extension which doesnt support Multiple Path this step is not required | 
| default Long | extractPathId(org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode<?,?> normalizedNode)Extract PathId from route change received | 
| protected abstract org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpPrefix | extractPrefix(org.opendaylight.yangtools.yang.data.api.schema.DataContainerNode<? extends org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument> route,
             org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier prefixTypeNid) | 
| protected abstract DestinationType | getAdvertisedDestinationType(List<VpnDestination> dests) | 
| default org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument | getRouteIdAddPath(long pathId,
                 org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument routeId)Construct a PathArgument to an AddPathRoute | 
| protected abstract DestinationType | getWithdrawnDestinationType(List<VpnDestination> dests) | 
| boolean | isComplexRoute()Indicate whether this AFI/SAFI combination is a complex route. | 
| protected void | processDestination(org.opendaylight.controller.md.sal.dom.api.DOMDataWriteTransaction tx,
                  org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier routesPath,
                  org.opendaylight.yangtools.yang.data.api.schema.ContainerNode destination,
                  org.opendaylight.yangtools.yang.data.api.schema.ContainerNode attributes,
                  RIBSupport.ApplyRoute function) | 
buildUpdate, changedRoutes, deleteRoutes, deleteRoutes, emptyRoutes, getAfi, getSafi, putRoutes, putRoutes, routeAttributesIdentifier, routeNid, routePath, routeQName, routesCaseClass, routesContainerClass, routesContainerIdentifier, routesListClassprotected AbstractVpnRIBSupport(Class<? extends Routes> cazeClass, Class<? extends org.opendaylight.yangtools.yang.binding.DataObject> containerClass, Class<? extends Route> listClass, Class<? extends AddressFamily> afiClass, org.opendaylight.yangtools.yang.common.QName vpnDstContainerClassQname)
cazeClass - Binding class of the AFI/SAFI-specific case statement, must not be nullcontainerClass - Binding class of the container in routes choice, must not be null.listClass - Binding class of the route list, nust not be null;protected abstract org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpPrefix extractPrefix(org.opendaylight.yangtools.yang.data.api.schema.DataContainerNode<? extends org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument> route,
                                                                                                                             org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier prefixTypeNid)
protected abstract DestinationType getAdvertisedDestinationType(List<VpnDestination> dests)
protected abstract DestinationType getWithdrawnDestinationType(List<VpnDestination> dests)
@Nonnull protected DestinationType buildDestination(@Nonnull Collection<org.opendaylight.yangtools.yang.data.api.schema.MapEntryNode> routes)
buildDestination in class AbstractRIBSupport@Nonnull protected DestinationType buildWithdrawnDestination(@Nonnull Collection<org.opendaylight.yangtools.yang.data.api.schema.MapEntryNode> routes)
buildWithdrawnDestination in class AbstractRIBSupport@Nonnull public com.google.common.collect.ImmutableCollection<Class<? extends org.opendaylight.yangtools.yang.binding.DataObject>> cacheableAttributeObjects()
@Nonnull public com.google.common.collect.ImmutableCollection<Class<? extends org.opendaylight.yangtools.yang.binding.DataObject>> cacheableNlriObjects()
public boolean isComplexRoute()
RIBSupportprotected void processDestination(org.opendaylight.controller.md.sal.dom.api.DOMDataWriteTransaction tx,
                                  org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier routesPath,
                                  org.opendaylight.yangtools.yang.data.api.schema.ContainerNode destination,
                                  org.opendaylight.yangtools.yang.data.api.schema.ContainerNode attributes,
                                  RIBSupport.ApplyRoute function)
processDestination in class AbstractRIBSupportpublic Long extractPathId(org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode<?,?> normalizedNode)
normalizedNode - Path Id Container@Nullable public org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument getRouteIdAddPath(long pathId, org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument routeId)
pathId - The path identifierrouteId - PathArgument leaf pathpublic org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument createRouteKeyPathArgument(org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument routeKeyPathArgument)
routeKeyPathArgument - routeKey Path ArgumentCopyright © 2018 OpenDaylight. All rights reserved.