Class ExtensionProvider

java.lang.Object
io.cloudevents.core.provider.ExtensionProvider

@ParametersAreNonnullByDefault public final class ExtensionProvider extends Object
Singleton to materialize CloudEvent extensions as POJOs.

You can materialize an CloudEventExtension POJO with ExtensionProvider.getInstance().parseExtension(DistributedTracingExtension.class, event).

  • Method Details

    • getInstance

      public static ExtensionProvider getInstance()
      Returns:
      instance of ExtensionProvider
    • registerExtension

      public <T extends io.cloudevents.CloudEventExtension> void registerExtension(Class<T> extensionClass, Supplier<T> factory)
      Register a new extension type.
      Type Parameters:
      T - the type of the extension
      Parameters:
      extensionClass - the class implementing CloudEventExtension
      factory - the empty arguments factory
    • parseExtension

      @Nullable public <T extends io.cloudevents.CloudEventExtension> T parseExtension(Class<T> extensionClass, io.cloudevents.CloudEventExtensions eventExtensions)
      Parse an extension from the CloudEventExtensions, materializing the corresponding POJO.
      Type Parameters:
      T - the type of the extension
      Parameters:
      extensionClass - the class implementing CloudEventExtension
      eventExtensions - the event extensions to read
      Returns:
      the parsed extension