Class NotificationContext

java.lang.Object
java.util.AbstractMap<String,Object>
java.util.HashMap<String,Object>
com.easydesk.notification.util.NotificationContext
All Implemented Interfaces:
NotificationConstants, Serializable, Cloneable, Map<String,Object>

public class NotificationContext extends HashMap<String,Object> implements NotificationConstants
Notification 템플릿(Thymeleaf)에 전달할 "변수 바구니" 이다.

예전에는 Fulcrum Template Service 의 DefaultTemplateContext(Velocity context 의 래퍼)를 상속했지만, Spring + Thymeleaf 로 전환하면서 평범한 HashMap 으로 바꾸었다. 이 map 의 key/value 는 NotificationRenderer 가 그대로 Thymeleaf org.thymeleaf.context.Context 의 변수로 복사하므로, 템플릿 안에서는 ${item}, ${module}, ${user}, ${link} 처럼 key 이름 그대로 접근한다. (key 상수는 NotificationConstants 참고)

Version:
$Id: NotificationContext.java,v 1.6 2008/08/07 07:44:22 youngho Exp $
Author:
Youncho Cho
See Also:
  • Constructor Details

    • NotificationContext

      public NotificationContext()
      Creates an empty NotificationContext object.
    • NotificationContext

      public NotificationContext(Item item) throws Exception
      Creates a new NotificationContext object.
      Parameters:
      item - 통지 대상 item. item 과 item 의 module 이 context 에 설정된다.
      Throws:
      Exception
    • NotificationContext

      public NotificationContext(Item item, User receiver) throws Exception
      Creates a new NotificationContext object.
      Parameters:
      item - 통지 대상 item
      receiver - 수신자
      Throws:
      Exception
  • Method Details

    • setUser

      public void setUser(User receiver)
      Parameters:
      receiver - 수신자
    • setDefaultTextKey

      public void setDefaultTextKey(String defaultTextKey)
      Parameters:
      defaultTextKey - 기본 text key
    • setInProcess

      public void setInProcess()
      Action 이나 Screens 에서 직접 만들 때
    • isInProcess

      public boolean isInProcess()
      Returns:
      실시간 처리 여부