Package org.silverpeas.components.kmelia.notification

## Class AbstractKmeliaPublicationUserNotification

- 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<T>
      - - org.silverpeas.components.kmelia.notification.AbstractKmeliaUserNotification<org.silverpeas.core.contribution.publication.model.PublicationDetail>
        - - org.silverpeas.components.kmelia.notification.AbstractKmeliaPublicationUserNotification

- All Implemented Interfaces:
    `org.silverpeas.core.notification.user.builder.UserNotificationBuilder`
  Direct Known Subclasses:
    `AbstractKmeliaActionPublicationUserNotification`, `KmeliaNotifyPublicationDocumentUserNotification`, `KmeliaNotifyPublicationUserNotification`, `KmeliaSubscriptionPublicationUserNotification`, `KmeliaSupervisorPublicationUserNotification`

      public abstract class AbstractKmeliaPublicationUserNotification
      extends AbstractKmeliaUserNotification<org.silverpeas.core.contribution.publication.model.PublicationDetail>

  Author:
    Yohann Chastagnier

- - ### 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`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor | Description
    --- | --- | ---
    `protected` | `AbstractKmeliaPublicationUserNotification​(org.silverpeas.core.node.model.NodePK nodePK, org.silverpeas.core.contribution.publication.model.PublicationDetail resource, org.silverpeas.core.notification.user.client.constant.NotifAction action)` |

  - ### 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` | `getComponentInstanceId()` |
    `protected String` | `getContributionAccessLinkLabelBundleKey()` |
    `protected org.silverpeas.core.node.model.NodePK` | `getNodePK()` |
    `protected String` | `getPath​(String language)` |
    `protected String` | `getResourceURL​(org.silverpeas.core.contribution.publication.model.PublicationDetail resource)` |
    `protected String` | `getSender()` |
    `protected boolean` | `isGroupCanBeNotified​(String groupId)` |
    `protected boolean` | `isUserCanBeNotified​(String userId)` |
    `protected void` | `performNotificationResource​(String language, org.silverpeas.core.contribution.publication.model.PublicationDetail resource, org.silverpeas.core.notification.user.model.NotificationResourceData notificationResourceData)` |
    `protected void` | `performTemplateData​(String language, org.silverpeas.core.contribution.publication.model.PublicationDetail resource, org.silverpeas.core.template.SilverpeasTemplate template)` |
    `protected boolean` | `stopWhenNoUserToNotify()` |

    - ### Methods inherited from class org.silverpeas.components.kmelia.notification.AbstractKmeliaUserNotification

      `getHTMLNodePath, getLocalizationBundlePath, getNodeHeader, getNodeService, getOrganisationController, getTemplatePath`

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

      `createNotification, getBundleSubjectKey, getTemplateFileName, getTitle, getTitle, perform, performBuild, performNotificationResource, performNotificationResource`

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

      `getResource, initialize, initializeNotificationResourceData, isSendImmediately, performBuild, setResource`

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

      `build, getBundle, getBundle, getContent, getExternalAddressesToNotify, getGroupIdsToNotify, getMessageType, getNotificationMetaData, getUserIdsToExcludeFromNotifying, getUserIdsToNotify, stop`

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

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

- - ### Constructor Detail

    - #### AbstractKmeliaPublicationUserNotification

          protected AbstractKmeliaPublicationUserNotification​(org.silverpeas.core.node.model.NodePK nodePK,
                                                              org.silverpeas.core.contribution.publication.model.PublicationDetail resource,
                                                              org.silverpeas.core.notification.user.client.constant.NotifAction action)

  - ### Method Detail

    - #### isUserCanBeNotified

          protected boolean isUserCanBeNotified​(String userId)

      Overrides:
        `isUserCanBeNotified` in class `org.silverpeas.core.notification.user.builder.AbstractResourceUserNotificationBuilder<org.silverpeas.core.contribution.publication.model.PublicationDetail>`

    - #### isGroupCanBeNotified

          protected boolean isGroupCanBeNotified​(String groupId)

      Overrides:
        `isGroupCanBeNotified` in class `org.silverpeas.core.notification.user.builder.AbstractResourceUserNotificationBuilder<org.silverpeas.core.contribution.publication.model.PublicationDetail>`

    - #### performTemplateData

          protected void performTemplateData​(String language,
                                             org.silverpeas.core.contribution.publication.model.PublicationDetail resource,
                                             org.silverpeas.core.template.SilverpeasTemplate template)

      Specified by:
        `performTemplateData` in class `org.silverpeas.core.notification.user.builder.AbstractTemplateUserNotificationBuilder<org.silverpeas.core.contribution.publication.model.PublicationDetail>`

    - #### performNotificationResource

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

      Specified by:
        `performNotificationResource` in class `org.silverpeas.core.notification.user.builder.AbstractTemplateUserNotificationBuilder<org.silverpeas.core.contribution.publication.model.PublicationDetail>`

    - #### stopWhenNoUserToNotify

          protected boolean stopWhenNoUserToNotify()

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

    - #### getResourceURL

          protected String getResourceURL​(org.silverpeas.core.contribution.publication.model.PublicationDetail resource)

      Overrides:
        `getResourceURL` in class `org.silverpeas.core.notification.user.builder.AbstractResourceUserNotificationBuilder<org.silverpeas.core.contribution.publication.model.PublicationDetail>`

    - #### getNodePK

          protected org.silverpeas.core.node.model.NodePK getNodePK()

    - #### getPath

          protected final String getPath​(String language)

    - #### 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`

    - #### getContributionAccessLinkLabelBundleKey

          protected String getContributionAccessLinkLabelBundleKey()

      Overrides:
        `getContributionAccessLinkLabelBundleKey` in class `org.silverpeas.core.notification.user.builder.AbstractTemplateUserNotificationBuilder<org.silverpeas.core.contribution.publication.model.PublicationDetail>`