com.atlassian.confluence.plugin.descriptor.mail
Class NotificationContext

java.lang.Object
  extended by com.atlassian.confluence.plugin.descriptor.mail.NotificationContext

public class NotificationContext
extends java.lang.Object

Contains data about an email Notification that is specific to a single Email sent to a single User.

Since:
4.2

Field Summary
static java.lang.String WEB_FRAGMENT_INNER_CONTEXT
           
 
Constructor Summary
NotificationContext()
           
NotificationContext(NotificationContext context)
           
NotificationContext(NotificationContext context, java.util.Set<javax.activation.DataSource> dataSources)
           
 
Method Summary
 void addTemplateImage(javax.activation.DataSource dataSource)
          Adds a datasource to the current set of datasources for 1 instance of notification.
 void addToWebFragmentContext(java.lang.String key, java.lang.String value)
          Adds a key/value pair to the Web-Fragment context.
 void addWebFragmentContext()
          Copies the current state of this context and stores it in a sub-map.
 java.lang.Object get(java.lang.String key)
           
 java.lang.String getAction()
           
 com.atlassian.user.User getActor()
           
 ConfluenceEntityObject getContent()
          Return the context's Content.
 com.atlassian.event.Event getEvent()
           
 java.util.Map<java.lang.String,java.lang.Object> getMap()
          Returns a map for the renderer.
 com.atlassian.user.User getRecipient()
           
 java.util.Collection<javax.activation.DataSource> getTemplateImageDataSources()
           
 Notification.WatchType getWatchType()
           
 boolean isManageNotificationOverridden()
           
 void put(java.lang.String key, java.lang.Object value)
           
 void putAll(java.util.Map<? extends java.lang.String,?> map)
           
 void setAction(java.lang.String action)
          The type of action (e.g.
 void setActor(com.atlassian.user.User actor)
          Sets the user that performed the action that caused the notification to be sent.
 void setContent(ConfluenceEntityObject entity)
          Sets the entity that the notification is being sent regarding.
 void setEvent(com.atlassian.event.Event event)
           
 void setI18n(I18NBean i18NBean)
           
 void setManageNotificationOverridden(boolean isOverridden)
           
 void setRecipient(com.atlassian.user.User recipient)
          Sets the recipient for a notification.
 void setSpace(Space space)
           
 void setWatchType(Notification.WatchType watchType)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

WEB_FRAGMENT_INNER_CONTEXT

public static final java.lang.String WEB_FRAGMENT_INNER_CONTEXT
See Also:
Constant Field Values
Constructor Detail

NotificationContext

public NotificationContext()

NotificationContext

public NotificationContext(NotificationContext context)

NotificationContext

public NotificationContext(NotificationContext context,
                           java.util.Set<javax.activation.DataSource> dataSources)
Method Detail

getMap

public java.util.Map<java.lang.String,java.lang.Object> getMap()
Returns a map for the renderer. It aims at being rendered by the template engine, so no modification is allowed. Do not use it to modify values of the map.

Returns:
an immutable map

get

public java.lang.Object get(java.lang.String key)

put

public void put(java.lang.String key,
                java.lang.Object value)

putAll

public void putAll(java.util.Map<? extends java.lang.String,?> map)

getContent

public ConfluenceEntityObject getContent()
Return the context's Content.


setContent

public void setContent(ConfluenceEntityObject entity)
Sets the entity that the notification is being sent regarding. Should be set on the common NotificationContext in the NotificationData object.


getEvent

public com.atlassian.event.Event getEvent()

setEvent

public void setEvent(com.atlassian.event.Event event)

isManageNotificationOverridden

public boolean isManageNotificationOverridden()

setManageNotificationOverridden

public void setManageNotificationOverridden(boolean isOverridden)

getWatchType

public Notification.WatchType getWatchType()

setWatchType

public void setWatchType(Notification.WatchType watchType)

setSpace

public void setSpace(Space space)

setRecipient

public void setRecipient(com.atlassian.user.User recipient)
Sets the recipient for a notification. This should be only ever be called on the per-email NotificationContext instance, never on the common one inside the NotificationData object.


getRecipient

public com.atlassian.user.User getRecipient()

setActor

public void setActor(com.atlassian.user.User actor)
Sets the user that performed the action that caused the notification to be sent. Should be set on the common NotificationContext in the NotificationData object.


getActor

public com.atlassian.user.User getActor()

setAction

public void setAction(java.lang.String action)
The type of action (e.g. create, delete, like, mention, share) that is causing the notification to be sent. This value must be represented by a string so that plugins can provide custom action types. Should be set on the common NotificationContext in the NotificationData object.

Parameters:
action -

getAction

public java.lang.String getAction()

setI18n

public void setI18n(I18NBean i18NBean)

addTemplateImage

public void addTemplateImage(javax.activation.DataSource dataSource)
Adds a datasource to the current set of datasources for 1 instance of notification.

Parameters:
dataSource - the datasource for the image.
See Also:
if you intend to add the image to all notification.

getTemplateImageDataSources

public java.util.Collection<javax.activation.DataSource> getTemplateImageDataSources()

addWebFragmentContext

public void addWebFragmentContext()
Copies the current state of this context and stores it in a sub-map. This is required for rendering web-panels in the Notification template that: a) cannot be passed the entire render context for technical reasons b) shouldn't be passed the entire render context because it leaks services This method should be called on the object returned by NotificationData.cloneContext() as soon as the Recipient user is added.


addToWebFragmentContext

public void addToWebFragmentContext(java.lang.String key,
                                    java.lang.String value)
Adds a key/value pair to the Web-Fragment context. The webFragmentContext is purposely limited so that only named items like recipient and explicitly-added pairs are present in it. This is so that the context can be serialized to things like email tracking URLs. However, there's no stopping code like WebPanelFunction from adding further data to the context passed into the Soy render. To avoid this context pollution we hide additional explicit context inside a map *inside* the map. Yo dawg indeed.



Copyright © 2003-2014 Atlassian. All Rights Reserved.