Interface ComponentEx

  • All Superinterfaces:
    Component
    All Known Implementing Classes:
    Container

    public interface ComponentEx
    extends Component
    Extended version of Component. Allows component to return multiple SPI implementations through an Iterable.
    Since:
    2.2.6
    • Method Detail

      • getIterableSPI

        @NotNull
        <S> Iterable<S> getIterableSPI​(@NotNull
                                       Class<S> spiType)
        Gets an iterator of implementations of the specified SPI.

        This method works as a kind of directory service for SPIs, allowing various components to define private contract and talk to each other. However unlike Component.getSPI(java.lang.Class), this method can support cases where there is an ordered collection (defined by Iterable of implementations. The SPI contract should define whether lookups are for the first appropriate implementation or whether all returned implementations should be used.

        Returns:
        non-null Iterable of the SPI's provided by this object. Iterator may have no values.