Package org.occurrent.subscription
Class PositionAwareCloudEvent
java.lang.Object
org.occurrent.subscription.PositionAwareCloudEvent
- All Implemented Interfaces:
io.cloudevents.CloudEvent,io.cloudevents.CloudEventAttributes,io.cloudevents.CloudEventContext,io.cloudevents.CloudEventExtensions
A wrapper around a
CloudEvent that also includes a SubscriptionPosition so that
it's possible to resume the stream from a particular state. You can treat this cloud event implementation
as a regular cloud event.-
Constructor Summary
ConstructorsConstructorDescriptionPositionAwareCloudEvent(io.cloudevents.CloudEvent cloudEvent, SubscriptionPosition subscriptionPosition) -
Method Summary
Modifier and TypeMethodDescriptionbooleangetAttribute(String attributeName) io.cloudevents.CloudEventDatagetData()getExtension(String extensionName) getId()io.cloudevents.CloudEventio.cloudevents.SpecVersionstatic Optional<SubscriptionPosition>getSubscriptionPosition(io.cloudevents.CloudEvent cloudEvent) static SubscriptionPositiongetSubscriptionPositionOrThrowIAE(io.cloudevents.CloudEvent cloudEvent) getTime()getType()inthashCode()static booleanhasSubscriptionPosition(io.cloudevents.CloudEvent cloudEvent) toString()
-
Constructor Details
-
PositionAwareCloudEvent
public PositionAwareCloudEvent(io.cloudevents.CloudEvent cloudEvent, SubscriptionPosition subscriptionPosition)
-
-
Method Details
-
getData
@Nullable public io.cloudevents.CloudEventData getData()- Specified by:
getDatain interfaceio.cloudevents.CloudEvent
-
getSpecVersion
public io.cloudevents.SpecVersion getSpecVersion()- Specified by:
getSpecVersionin interfaceio.cloudevents.CloudEventAttributes
-
getId
- Specified by:
getIdin interfaceio.cloudevents.CloudEventAttributes
-
getType
- Specified by:
getTypein interfaceio.cloudevents.CloudEventAttributes
-
getSource
- Specified by:
getSourcein interfaceio.cloudevents.CloudEventAttributes
-
getDataContentType
- Specified by:
getDataContentTypein interfaceio.cloudevents.CloudEventAttributes
-
getDataSchema
- Specified by:
getDataSchemain interfaceio.cloudevents.CloudEventAttributes
-
getSubject
- Specified by:
getSubjectin interfaceio.cloudevents.CloudEventAttributes
-
getTime
- Specified by:
getTimein interfaceio.cloudevents.CloudEventAttributes
-
getAttribute
- Specified by:
getAttributein interfaceio.cloudevents.CloudEventAttributes- Throws:
IllegalArgumentException
-
getAttributeNames
- Specified by:
getAttributeNamesin interfaceio.cloudevents.CloudEventAttributes
-
getExtension
- Specified by:
getExtensionin interfaceio.cloudevents.CloudEventExtensions
-
getExtensionNames
- Specified by:
getExtensionNamesin interfaceio.cloudevents.CloudEventExtensions
-
getSubscriptionPosition
-
getOriginalCloudEvent
public io.cloudevents.CloudEvent getOriginalCloudEvent() -
equals
-
hashCode
public int hashCode() -
toString
-
hasSubscriptionPosition
public static boolean hasSubscriptionPosition(io.cloudevents.CloudEvent cloudEvent) -
getSubscriptionPositionOrThrowIAE
public static SubscriptionPosition getSubscriptionPositionOrThrowIAE(io.cloudevents.CloudEvent cloudEvent) -
getSubscriptionPosition
public static Optional<SubscriptionPosition> getSubscriptionPosition(io.cloudevents.CloudEvent cloudEvent)
-