mam.agent
Class MarketingAgent

java.lang.Object
  |
  +--java.lang.Thread
        |
        +--mam.agent.Agent
              |
              +--mam.agent.TransactionalAgent
                    |
                    +--mam.agent.MarketingAgent

public class MarketingAgent
extends TransactionalAgent


Field Summary
 protected static StringCAMPAIGN_DELAY_TAG_NAME
           
 protected final static longDEFAULT_CAMPAIGN_DELAY
           
 protected final static longDEFAULT_CLIENT_ACCESS_STATISTICS_UPDATE_DELAY
           
 longm_attrCampaignDelay
           
 longm_attrClientAccessStatisticsUpdateDelay
           
 RoutingTagm_attrClientRoutingTag
           
 Datem_attrLastClientAccessStatisticsUpdate
           
 Datem_attrLastMarketingCampaignDate
           
 booleanm_attrMarketingOn
           
 protected AccessStatisticsGroupm_clientAccessStatisticsGroup
           

Fields inherited from class mam.agent.TransactionalAgent
m_messageWaiters

Fields inherited from class mam.agent.Agent
AGENT_ACCESS_STATISTICS_TAG_NAME, AGENT_PROPERTIES_TAG_NAME, AGENT_TRAITS_TAG_NAME, ALL_AGENTS_ROUTING_TAG, DEFAULT_TAG_NAME, m_accessStatisticsGroup, m_agentProperties, m_facility, m_incomingMessageQueue, m_shutdown, m_sleepManager, ROLE_TAG_NAME

Fields inherited from class java.lang.Thread
MIN_PRIORITY, NORM_PRIORITY, MAX_PRIORITY

Constructor Summary
MarketingAgent()
           

Method Summary
 synchronized voidenqueueMessage(AgentMessage incomingMessage)
           
 protected voidexecuteMarketingCampaign()
           
 protected voidexecuteUpdateClientAccessStatistics()
           
 voidfinished(MessageWaiter messageWaiter)
           
 protected longgetCampaignDelay()
           
 AccessStatisticsGroupgetClientAccessStatisticsGroup()
           
 protected longgetClientAccessStatisticsUpdateDelay()
           
 RoutingTaggetClientRoutingTag()
           
 protected DategetLastClientAccessStatisticsUpdate()
           
 protected DategetLastMarketingCampaignDate()
           
 protected booleangetMarketingOn()
           
 voidhandleDoEndMarketingMessage(AgentMessage m)
           
 voidhandleDoRequestMarketingMessage(AgentMessage m)
           
 voidhandleDoStartMarketingMessage(AgentMessage m)
           
 voidhandleEventDeclareAccessStatisticsMessage(AgentMessage m)
           
 protected voididleActivity()
           
 protected booleanisTimeForClientAccessStatisticsUpdate()
           
 protected booleanisTimeForNewMarketingCampaign()
           
 voidresponsesReceived(MessageWaiter messageWaiter, Serializable identifier, Collection recentResponses)
           
 protected voidsetCampaignDelay(long campaignDelay)
           
 voidsetClientAccessStatisticsGroup(AccessStatisticsGroup clientAccessStatisticsGroup)
           
 protected voidsetClientAccessStatisticsUpdateDelay(long newDelay)
           
 protected voidsetClientRoutingTag(RoutingTag clientRoutingTag)
           
 protected voidsetLastClientAccessStatisticsUpdate(Date lastClientAccessStatisticsUpdate)
           
 protected voidsetMarketingOn(boolean marketingOn)
           
 ElementtoXmlElement(String tagName)
           
 protected voidupdateLastMarketingCampaignDate()
           

Methods inherited from class mam.agent.TransactionalAgent
getMessageWaiters

Methods inherited from class mam.agent.Agent
fromXmlElement, getAccessStatisticsGroup, getAccount, getAgentProperties, getAgentTraits, getDescription, getFacility, getMamId, getNickname, getQuote, getRole, getRoutingTagToSelf, getXmlSerializable, handleDoAgentShutdownMessage, handleGetAccessStatisticsMessage, handleGetAgentPropertiesMessage, handleGetAgentTraitsMessage, handleGetQuoteMessage, handleMessages, handleSetDescriptionMessage, handleSetNicknameMessage, invokeMessageHandler, registerRoutingTags, requiresPersistence, run, setAccount, setAgentTraits, setDescription, setFacility, setMamId, setNickname, setRole, setXmlSerializable, toString, toXmlElement, unregisterRoutingTags

Methods inherited from class java.lang.Thread
currentThread, yield, sleep, sleep, start, stop, stop, interrupt, interrupted, isInterrupted, destroy, isAlive, suspend, resume, setPriority, getPriority, setName, getName, getThreadGroup, activeCount, enumerate, countStackFrames, join, join, join, dumpStack, setDaemon, isDaemon, checkAccess, getContextClassLoader, setContextClassLoader

Methods inherited from class java.lang.Object
getClass, hashCode, equals, clone, notify, notifyAll, wait, wait, wait, finalize

Field Detail

CAMPAIGN_DELAY_TAG_NAME

protected static String CAMPAIGN_DELAY_TAG_NAME

DEFAULT_CAMPAIGN_DELAY

protected final static long DEFAULT_CAMPAIGN_DELAY

DEFAULT_CLIENT_ACCESS_STATISTICS_UPDATE_DELAY

protected final static long DEFAULT_CLIENT_ACCESS_STATISTICS_UPDATE_DELAY

m_attrCampaignDelay

public long m_attrCampaignDelay

m_attrClientAccessStatisticsUpdateDelay

public long m_attrClientAccessStatisticsUpdateDelay

m_attrClientRoutingTag

public RoutingTag m_attrClientRoutingTag

m_attrLastClientAccessStatisticsUpdate

public Date m_attrLastClientAccessStatisticsUpdate

m_attrLastMarketingCampaignDate

public Date m_attrLastMarketingCampaignDate

m_attrMarketingOn

public boolean m_attrMarketingOn

m_clientAccessStatisticsGroup

protected AccessStatisticsGroup m_clientAccessStatisticsGroup
Constructor Detail

MarketingAgent

public MarketingAgent()
Method Detail

enqueueMessage

public synchronized void enqueueMessage(AgentMessage incomingMessage)

executeMarketingCampaign

protected void executeMarketingCampaign()

executeUpdateClientAccessStatistics

protected void executeUpdateClientAccessStatistics()

finished

public void finished(MessageWaiter messageWaiter)

getCampaignDelay

protected long getCampaignDelay()

getClientAccessStatisticsGroup

public AccessStatisticsGroup getClientAccessStatisticsGroup()

getClientAccessStatisticsUpdateDelay

protected long getClientAccessStatisticsUpdateDelay()

getClientRoutingTag

public RoutingTag getClientRoutingTag()

getLastClientAccessStatisticsUpdate

protected Date getLastClientAccessStatisticsUpdate()

getLastMarketingCampaignDate

protected Date getLastMarketingCampaignDate()

getMarketingOn

protected boolean getMarketingOn()

handleDoEndMarketingMessage

public void handleDoEndMarketingMessage(AgentMessage m)

handleDoRequestMarketingMessage

public void handleDoRequestMarketingMessage(AgentMessage m)

handleDoStartMarketingMessage

public void handleDoStartMarketingMessage(AgentMessage m)

handleEventDeclareAccessStatisticsMessage

public void handleEventDeclareAccessStatisticsMessage(AgentMessage m)

idleActivity

protected void idleActivity()

isTimeForClientAccessStatisticsUpdate

protected boolean isTimeForClientAccessStatisticsUpdate()

isTimeForNewMarketingCampaign

protected boolean isTimeForNewMarketingCampaign()

responsesReceived

public void responsesReceived(MessageWaiter messageWaiter, Serializable identifier, Collection recentResponses)

setCampaignDelay

protected void setCampaignDelay(long campaignDelay)

setClientAccessStatisticsGroup

public void setClientAccessStatisticsGroup(AccessStatisticsGroup clientAccessStatisticsGroup)

setClientAccessStatisticsUpdateDelay

protected void setClientAccessStatisticsUpdateDelay(long newDelay)

setClientRoutingTag

protected void setClientRoutingTag(RoutingTag clientRoutingTag)

setLastClientAccessStatisticsUpdate

protected void setLastClientAccessStatisticsUpdate(Date lastClientAccessStatisticsUpdate)

setMarketingOn

protected void setMarketingOn(boolean marketingOn)

toXmlElement

public Element toXmlElement(String tagName)

updateLastMarketingCampaignDate

protected void updateLastMarketingCampaignDate()