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 Identifier
        safi - 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.