Interface RIBExtensionConsumerContext
-
- All Known Subinterfaces:
RIBExtensionProviderContext
- All Known Implementing Classes:
ServiceLoaderRIBExtensionConsumerContext
,SimpleRIBExtensionProviderContext
public interface RIBExtensionConsumerContext
Interface for acquiring AdjRIBsIn factories. In order for a model-driven RIB implementation to work correctly, it has to know how to handle individual NLRI fields, whose encoding is specific to a AFI/SAFI pair. This interface exposes an entry point for locating the AFI/SAFI-specific implementation handler.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description @NonNull org.opendaylight.mdsal.binding.generator.impl.GeneratedClassLoadingStrategy
getClassLoadingStrategy()
Returns class loading strategy for loading YANG modeled classes associated with registered RIB supports.<C extends Routes & org.opendaylight.yangtools.yang.binding.DataObject & org.opendaylight.yangtools.yang.binding.ChoiceIn<Tables>,S extends org.opendaylight.yangtools.yang.binding.ChildOf<C>,R extends Route & org.opendaylight.yangtools.yang.binding.ChildOf<S> & org.opendaylight.yangtools.yang.binding.Identifiable<I>,I extends org.opendaylight.yangtools.yang.binding.Identifier<R>>
@Nullable RIBSupport<C,S,R,I>getRIBSupport(@NonNull Class<? extends AddressFamily> afi, @NonNull Class<? extends SubsequentAddressFamily> safi)
Acquire a RIB implementation factory for a AFI/SAFI combination.<C extends Routes & org.opendaylight.yangtools.yang.binding.DataObject & org.opendaylight.yangtools.yang.binding.ChoiceIn<Tables>,S extends org.opendaylight.yangtools.yang.binding.ChildOf<C>,R extends Route & org.opendaylight.yangtools.yang.binding.ChildOf<S> & org.opendaylight.yangtools.yang.binding.Identifiable<I>,I extends org.opendaylight.yangtools.yang.binding.Identifier<R>>
@Nullable RIBSupport<C,S,R,I>getRIBSupport(@NonNull TablesKey key)
Acquire a RIB implementation factory for a AFI/SAFI combination.<C extends Routes & org.opendaylight.yangtools.yang.binding.DataObject & org.opendaylight.yangtools.yang.binding.ChoiceIn<Tables>,S extends org.opendaylight.yangtools.yang.binding.ChildOf<C>,R extends Route & org.opendaylight.yangtools.yang.binding.ChildOf<S> & org.opendaylight.yangtools.yang.binding.Identifiable<I>,I extends org.opendaylight.yangtools.yang.binding.Identifier<R>>
@Nullable RIBSupport<C,S,R,I>getRIBSupport(@NonNull org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifierWithPredicates key)
Acquire a RIB implementation factory for a AFI/SAFI combination.
-
-
-
Method Detail
-
getRIBSupport
<C extends Routes & org.opendaylight.yangtools.yang.binding.DataObject & org.opendaylight.yangtools.yang.binding.ChoiceIn<Tables>,S extends org.opendaylight.yangtools.yang.binding.ChildOf<C>,R extends Route & org.opendaylight.yangtools.yang.binding.ChildOf<S> & org.opendaylight.yangtools.yang.binding.Identifiable<I>,I extends org.opendaylight.yangtools.yang.binding.Identifier<R>> @Nullable RIBSupport<C,S,R,I> getRIBSupport(@NonNull TablesKey key)
Acquire a RIB implementation factory for a AFI/SAFI combination.- Parameters:
key
- AFI/SAFI key- Returns:
- RIBSupport instance, or null if the AFI/SAFI is not implemented.
-
getRIBSupport
<C extends Routes & org.opendaylight.yangtools.yang.binding.DataObject & org.opendaylight.yangtools.yang.binding.ChoiceIn<Tables>,S extends org.opendaylight.yangtools.yang.binding.ChildOf<C>,R extends Route & org.opendaylight.yangtools.yang.binding.ChildOf<S> & org.opendaylight.yangtools.yang.binding.Identifiable<I>,I extends org.opendaylight.yangtools.yang.binding.Identifier<R>> @Nullable RIBSupport<C,S,R,I> getRIBSupport(@NonNull Class<? extends AddressFamily> afi, @NonNull Class<? extends SubsequentAddressFamily> safi)
Acquire a RIB implementation factory for a AFI/SAFI combination.- Parameters:
afi
- Address Family Identifiersafi
- Subsequent Address Family identifier- Returns:
- RIBSupport instance, or null if the AFI/SAFI is not implemented.
-
getRIBSupport
<C extends Routes & org.opendaylight.yangtools.yang.binding.DataObject & org.opendaylight.yangtools.yang.binding.ChoiceIn<Tables>,S extends org.opendaylight.yangtools.yang.binding.ChildOf<C>,R extends Route & org.opendaylight.yangtools.yang.binding.ChildOf<S> & org.opendaylight.yangtools.yang.binding.Identifiable<I>,I extends org.opendaylight.yangtools.yang.binding.Identifier<R>> @Nullable RIBSupport<C,S,R,I> getRIBSupport(@NonNull org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifierWithPredicates key)
Acquire a RIB implementation factory for a AFI/SAFI combination.- Parameters:
key
- Tables key with AFI/SAFI- Returns:
- RIBSupport instance, or null if the AFI/SAFI is not implemented.
-
getClassLoadingStrategy
@NonNull org.opendaylight.mdsal.binding.generator.impl.GeneratedClassLoadingStrategy getClassLoadingStrategy()
Returns class loading strategy for loading YANG modeled classes associated with registered RIB supports.- Returns:
- Class loading strategy for loading YANG modeled classes.
-
-