Fired when a batch of a profile's reward points expires because it has passed its expiry date. Raised from RewardService while sweeping expired points balances. It carries the amount that expired, the profile's remaining points balance after expiry and the reward the points were issued against, so a listener can notify the profile or record the change.
Implements: TriggerEvent
Properties
| Property | Returns | Description |
|---|---|---|
| attributes | Map<String,Object> | Extra properties associated with this event: the expired amount, the profile's points balance after expiry, and the reward. |
| eventId | String | The persistence-friendly identifier for this event type. |
| sourceProfile | Profile | The profile whose points expired. |
| triggerItem1 | String | The ID of the reward the expired points were issued against, used as a trigger key. |
| triggerItem2 | String | Not used by this event; always null. |
| triggerItem3 | String | Not used by this event; always null. |
| triggerItem4 | String | Not used by this event; always null. |
| triggerItem5 | String | Not used by this event; always null. |
| website | Website | The website associated with this event. This event is not tied to a specific website. |
Inherited from TriggerEvent
Properties
| Property | Returns | Description |
|---|---|---|
| serialisable | boolean | Whether this event's attributes were built to survive being persisted, ie every value is a plain serialisable value rather than a persistent entity or some other object that only makes sense inside the firing transaction. Only the firing app can know this, so it declares it - see EventBuilder. An agent that subscribes to an event does not run when it fires. The event is written to storage as JSON, buffered with others, and read back minutes later in a different session, so a value that cannot be written and read back is not merely awkward, it breaks the whole delivery. The agent framework therefore ignores any event which does not say yes here. |
Methods
isSerialisable()
Returns: boolean
Whether this event's attributes were built to survive being persisted, ie every value is a plain serialisable value rather than a persistent entity or some other object that only makes sense inside the firing transaction. Only the firing app can know this, so it declares it - see EventBuilder. An agent that subscribes to an event does not run when it fires. The event is written to storage as JSON, buffered with others, and read back minutes later in a different session, so a value that cannot be written and read back is not merely awkward, it breaks the whole delivery. The agent framework therefore ignores any event which does not say yes here.
Methods
getEventId() · getWebsite() · getSourceProfile() · getTriggerItem1() · getTriggerItem2() · getTriggerItem3() · getTriggerItem4() · getTriggerItem5() · getAttributes()
getEventId()
Returns: String
The persistence-friendly identifier for this event type.
getWebsite()
Returns: Website
The website associated with this event. This event is not tied to a specific website.
getSourceProfile()
Returns: Profile
The profile whose points expired.
getTriggerItem1()
Returns: String
The ID of the reward the expired points were issued against, used as a trigger key.
getTriggerItem2()
Returns: String
Not used by this event; always null.
getTriggerItem3()
Returns: String
Not used by this event; always null.
getTriggerItem4()
Returns: String
Not used by this event; always null.
getTriggerItem5()
Returns: String
Not used by this event; always null.
getAttributes()
Returns: Map<String,Object>
Extra properties associated with this event: the expired amount, the profile's points balance after expiry, and the reward.