Campaign

public abstract class Campaign<T extends CampaignMessage>

A base representation of a message campaign, that contains fields and methods common to all campaigns. Actual campaign representations are created extending this abstract class.

Parameters:
  • <T> – the type of messages sent during campaign; must extend base class CampaignMessage

See also: {@linkAbsoluteCampaign}, {@linkCronBasedCampaign}, {@linkDayOfWeekCampaign}, {@linkOffsetCampaign}, {@linkRepeatIntervalCampaign}

Constructors

Campaign

public Campaign()

Campaign

public Campaign(String name, List<T> messages)

Campaign

protected Campaign(String name, List<T> messages, Period maxDuration)

Methods

getCampaignMessage

public abstract T getCampaignMessage(CampaignMessageRecord messageRecord)

Converts domain representation of a campaign message to the message representation of this campaign.

Parameters:
  • messageRecord – domain representation of the campaign message
Returns:

message converted to the type supported by this campaign

getMaxDuration

public Period getMaxDuration()

getMessages

public List<T> getMessages()

getName

public String getName()

setMaxDuration

public void setMaxDuration(Period maxDuration)

setMaxDuration

public void setMaxDuration(String maxDuration)

setMessageRecords

public void setMessageRecords(List<CampaignMessageRecord> messageRecords)

Sets message records for this campaign, from the domain representation.

Parameters:

setMessages

public void setMessages(List<T> messages)

setName

public void setName(String name)

validate

public void validate()

A general validator for the created campaigns. It also triggers validation of all the messages in this campaign.

Throws: