Package org.silverpeas.components.infoletter.notification

## Class InfoLetterSubscriptionPublicationUserNotification

- java.lang.Object
- - org.silverpeas.core.notification.user.builder.AbstractUserNotificationBuilder
  - - org.silverpeas.core.notification.user.builder.AbstractResourceUserNotificationBuilder<T>
    - - org.silverpeas.core.notification.user.builder.AbstractTemplateUserNotificationBuilder<InfoLetterPublicationPdC>
      - - org.silverpeas.components.infoletter.notification.InfoLetterSubscriptionPublicationUserNotification

- All Implemented Interfaces:
    `org.silverpeas.core.notification.user.builder.UserNotificationBuilder`, `org.silverpeas.core.notification.user.RemoveSenderRecipientBehavior`, `org.silverpeas.core.notification.user.UserSubscriptionNotificationBehavior`

      public class InfoLetterSubscriptionPublicationUserNotification
      extends org.silverpeas.core.notification.user.builder.AbstractTemplateUserNotificationBuilder<InfoLetterPublicationPdC>
      implements org.silverpeas.core.notification.user.UserSubscriptionNotificationBehavior

  Author:
    silveryocha

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class org.silverpeas.core.notification.user.builder.AbstractTemplateUserNotificationBuilder

      `org.silverpeas.core.notification.user.builder.AbstractTemplateUserNotificationBuilder.NotificationTemporal`

  - ### Field Summary

    - ### Fields inherited from class org.silverpeas.core.notification.user.builder.AbstractTemplateUserNotificationBuilder

      `CUSTOM_NOTIFICATION_SUBJECT, DEFAULT_NOTIFICATION_SUBJECT`

    - ### Fields inherited from interface org.silverpeas.core.notification.user.UserSubscriptionNotificationBehavior

      `SUBSCRIPTION_NOTIFICATION_SENDING_CONFIRMATION_HTTP_PARAM`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `InfoLetterSubscriptionPublicationUserNotification​(InfoLetterPublicationPdC resource, org.silverpeas.core.admin.user.model.User sender)` | Default constructor

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected org.silverpeas.core.notification.user.client.constant.NotifAction` | `getAction()` |
    `protected String` | `getBundleSubjectKey()` |
    `protected String` | `getComponentInstanceId()` |
    `protected String` | `getContributionAccessLinkLabelBundleKey()` |
    `protected Collection<String>` | `getGroupIdsToNotify()` |
    `protected String` | `getLocalizationBundlePath()` |
    `protected String` | `getResourceURL​(InfoLetterPublicationPdC resource)` |
    `protected String` | `getSender()` |
    `protected String` | `getTemplateFileName()` |
    `protected String` | `getTemplatePath()` |
    `protected String` | `getTitle​(String language)` |
    `protected Collection<String>` | `getUserIdsToNotify()` |
    `protected boolean` | `isGroupCanBeNotified​(String groupId)` |
    `protected boolean` | `isSendImmediately()` |
    `protected boolean` | `isUserCanBeNotified​(String userId)` |
    `protected void` | `perform​(InfoLetterPublicationPdC resource)` |
    `protected void` | `performNotificationResource​(String language, InfoLetterPublicationPdC resource, org.silverpeas.core.notification.user.model.NotificationResourceData notificationResourceData)` |
    `protected void` | `performTemplateData​(String language, InfoLetterPublicationPdC resource, org.silverpeas.core.template.SilverpeasTemplate template)` |

    - ### Methods inherited from class org.silverpeas.core.notification.user.builder.AbstractTemplateUserNotificationBuilder

      `createNotification, getTitle, performBuild, performNotificationResource, performNotificationResource`

    - ### Methods inherited from class org.silverpeas.core.notification.user.builder.AbstractResourceUserNotificationBuilder

      `getResource, initialize, initializeNotificationResourceData, performBuild, setResource`

    - ### Methods inherited from class org.silverpeas.core.notification.user.builder.AbstractUserNotificationBuilder

      `build, getBundle, getBundle, getContent, getExternalAddressesToNotify, getMessageType, getNotificationMetaData, getUserIdsToExcludeFromNotifying, stop, stopWhenNoUserToNotify`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### InfoLetterSubscriptionPublicationUserNotification

          public InfoLetterSubscriptionPublicationUserNotification​(InfoLetterPublicationPdC resource,
                                                                   org.silverpeas.core.admin.user.model.User sender)

      Default constructor
      Parameters:
        `resource` - the resource which is the object of the notification.
        `sender` - the identifier of sender user.

  - ### Method Detail

    - #### isUserCanBeNotified

          protected boolean isUserCanBeNotified​(String userId)

      Overrides:
        `isUserCanBeNotified` in class `org.silverpeas.core.notification.user.builder.AbstractResourceUserNotificationBuilder<InfoLetterPublicationPdC>`

    - #### isGroupCanBeNotified

          protected boolean isGroupCanBeNotified​(String groupId)

      Overrides:
        `isGroupCanBeNotified` in class `org.silverpeas.core.notification.user.builder.AbstractResourceUserNotificationBuilder<InfoLetterPublicationPdC>`

    - #### performTemplateData

          protected void performTemplateData​(String language,
                                             InfoLetterPublicationPdC resource,
                                             org.silverpeas.core.template.SilverpeasTemplate template)

      Specified by:
        `performTemplateData` in class `org.silverpeas.core.notification.user.builder.AbstractTemplateUserNotificationBuilder<InfoLetterPublicationPdC>`

    - #### performNotificationResource

          protected void performNotificationResource​(String language,
                                                     InfoLetterPublicationPdC resource,
                                                     org.silverpeas.core.notification.user.model.NotificationResourceData notificationResourceData)

      Specified by:
        `performNotificationResource` in class `org.silverpeas.core.notification.user.builder.AbstractTemplateUserNotificationBuilder<InfoLetterPublicationPdC>`

    - #### perform

          protected void perform​(InfoLetterPublicationPdC resource)

      Overrides:
        `perform` in class `org.silverpeas.core.notification.user.builder.AbstractTemplateUserNotificationBuilder<InfoLetterPublicationPdC>`

    - #### getResourceURL

          protected String getResourceURL​(InfoLetterPublicationPdC resource)

      Overrides:
        `getResourceURL` in class `org.silverpeas.core.notification.user.builder.AbstractResourceUserNotificationBuilder<InfoLetterPublicationPdC>`

    - #### getLocalizationBundlePath

          protected String getLocalizationBundlePath()

      Overrides:
        `getLocalizationBundlePath` in class `org.silverpeas.core.notification.user.builder.AbstractUserNotificationBuilder`

    - #### getBundleSubjectKey

          protected String getBundleSubjectKey()

      Overrides:
        `getBundleSubjectKey` in class `org.silverpeas.core.notification.user.builder.AbstractTemplateUserNotificationBuilder<InfoLetterPublicationPdC>`

    - #### getContributionAccessLinkLabelBundleKey

          protected String getContributionAccessLinkLabelBundleKey()

      Overrides:
        `getContributionAccessLinkLabelBundleKey` in class `org.silverpeas.core.notification.user.builder.AbstractTemplateUserNotificationBuilder<InfoLetterPublicationPdC>`

    - #### getTitle

          protected String getTitle​(String language)

      Overrides:
        `getTitle` in class `org.silverpeas.core.notification.user.builder.AbstractTemplateUserNotificationBuilder<InfoLetterPublicationPdC>`

    - #### getTemplateFileName

          protected String getTemplateFileName()

      Specified by:
        `getTemplateFileName` in class `org.silverpeas.core.notification.user.builder.AbstractTemplateUserNotificationBuilder<InfoLetterPublicationPdC>`

    - #### getTemplatePath

          protected String getTemplatePath()

      Specified by:
        `getTemplatePath` in class `org.silverpeas.core.notification.user.builder.AbstractTemplateUserNotificationBuilder<InfoLetterPublicationPdC>`

    - #### getAction

          protected org.silverpeas.core.notification.user.client.constant.NotifAction getAction()

      Specified by:
        `getAction` in class `org.silverpeas.core.notification.user.builder.AbstractUserNotificationBuilder`

    - #### getComponentInstanceId

          protected String getComponentInstanceId()

      Specified by:
        `getComponentInstanceId` in class `org.silverpeas.core.notification.user.builder.AbstractUserNotificationBuilder`

    - #### getSender

          protected String getSender()

      Specified by:
        `getSender` in class `org.silverpeas.core.notification.user.builder.AbstractUserNotificationBuilder`

    - #### getUserIdsToNotify

          protected Collection<String> getUserIdsToNotify()

      Specified by:
        `getUserIdsToNotify` in class `org.silverpeas.core.notification.user.builder.AbstractUserNotificationBuilder`

    - #### getGroupIdsToNotify

          protected Collection<String> getGroupIdsToNotify()

      Overrides:
        `getGroupIdsToNotify` in class `org.silverpeas.core.notification.user.builder.AbstractUserNotificationBuilder`

    - #### isSendImmediately

          protected boolean isSendImmediately()

      Overrides:
        `isSendImmediately` in class `org.silverpeas.core.notification.user.builder.AbstractResourceUserNotificationBuilder<InfoLetterPublicationPdC>`