java.lang.Object
io.cloudevents.core.provider.ExtensionProvider
Singleton to materialize CloudEvent extensions as POJOs.
You can materialize an CloudEventExtension POJO with ExtensionProvider.getInstance().parseExtension(DistributedTracingExtension.class, event).
-
Method Summary
Modifier and TypeMethodDescriptionstatic ExtensionProvider<T extends io.cloudevents.CloudEventExtension>
TparseExtension(Class<T> extensionClass, io.cloudevents.CloudEventExtensions eventExtensions) Parse an extension from theCloudEventExtensions, materializing the corresponding POJO.<T extends io.cloudevents.CloudEventExtension>
voidregisterExtension(Class<T> extensionClass, Supplier<T> factory) Register a new extension type.
-
Method Details
-
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 implementingCloudEventExtensionfactory- 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 theCloudEventExtensions, materializing the corresponding POJO.- Type Parameters:
T- the type of the extension- Parameters:
extensionClass- the class implementingCloudEventExtensioneventExtensions- the event extensions to read- Returns:
- the parsed extension
-