Package ru.bitel.bgbilling.plugins.dispatch.common.bean

# Class Subscription

java.lang.Object
ru.bitel.common.model.Id
ru.bitel.bgbilling.plugins.dispatch.common.bean.Subscription

All Implemented Interfaces:
  `Serializable`, `Contractable`, `Idable`

public class Subscription extends Id implements Contractable
Подписка на рассылку

See Also:
  - Serialized Form

- ## Field Summary

  ### Fields inherited from class ru.bitel.common.model.Id

  `id`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `Subscription()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `addContact(Contact contact)`
  Добавление контакта к списку контактов для данной подписки
  `String`
  `getComment()`
  Возвращает комментарий к подписке
  `String`
  `getContactHash(Contact contact)`
  Получение хэша подписки для определенного контакта.
  `List<Contact>`
  `getContacts()`
  Возвращает список контактов, которые подписаны на рассылку
  `int`
  `getContractId()`
  Возвращает код договора
  `String`
  `getContractTitle()`
  Возвращает название договора
  `Dispatch`
  `getDispatch()`
  Возвращает рассылку, на которую осуществлена данная подписка
  `String`
  `getHumanReadableRepeatTime()`
  `Preferences`
  `getPreferences()`
  Возвращает настройки подписки
  `ScheduleTime`
  `getRepeatTime()`
  Возвращает расписание времени отправки для персональных рассылок
  `String`
  `getRepeatTimeDaysOfWeek()`
  Возвращает строку дней недели персональной подписки для отображения в вебе.
  `Period`
  `getSubscriptionPeriod()`
  Возвращает период действия подписки.
  `ScheduleTime`
  `getTotalRepeatTime()`
  Возвращает итоговое расписание, по которому будут приходить сообщения рассылки.
  `boolean`
  `isActive()`
  Активна ли рассылка
  `boolean`
  `isUpdate()`
  `void`
  `setActive(boolean active)`
  Устанавливает флаг активности подписки.
  `void`
  `setComment(String comment)`
  Устанавливает комментарий к подписке
  `void`
  `setContacts(List<Contact> contacts)`
  Устанавливает список контактов, подписанных на рассылку
  `void`
  `setContractId(int contractId)`
  Устанавливает код договора
  `void`
  `setContractTitle(String contractTitle)`
  Устанавливает название договора
  `void`
  `setDispatch(Dispatch dispatch)`
  Устанавливает рассылку, на которую осуществленая данная подписка
  `void`
  `setPreferences(Preferences prefs)`
  Устанавливает настройки подписки
  `void`
  `setRepeatTime(ScheduleTime recieveTime)`
  Устанавливает расписание времени отправки для персоналных рассылок
  `void`
  `setSubscriptionPeriod(Period subscriptionPeriod)`
  Устанавливает период действия подписки.
  `void`
  `setUpdate(boolean update)`

  ### Methods inherited from class ru.bitel.common.model.Id

  `copyTo, equals, getId, hashCode, newIdList, newIdSet, newIdSet, newIdSet, newIdSet, newMap, setId, toString`

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

  `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- ## Constructor Details

  - ### Subscription

    public Subscription()

- ## Method Details

  - ### getDispatch

    public Dispatch getDispatch()
    Возвращает рассылку, на которую осуществлена данная подписка
    Returns:

  - ### setDispatch

    public void setDispatch(Dispatch dispatch)
    Устанавливает рассылку, на которую осуществленая данная подписка
    Parameters:
      `dispatch` -

  - ### getContacts

    public List<Contact> getContacts()
    Возвращает список контактов, которые подписаны на рассылку
    Returns:

  - ### setContacts

    public void setContacts(List<Contact> contacts)
    Устанавливает список контактов, подписанных на рассылку
    Parameters:
      `contacts` -

  - ### addContact

    public void addContact(Contact contact)
    Добавление контакта к списку контактов для данной подписки
    Parameters:
      `contact` - контакт

  - ### setPreferences

    public void setPreferences(Preferences prefs)
    Устанавливает настройки подписки
    Parameters:
      `prefs` -

  - ### getPreferences

    public Preferences getPreferences()
    Возвращает настройки подписки
    Returns:

  - ### getContractId

    public int getContractId()
    Возвращает код договора
    Specified by:
      `getContractId` in interface `Contractable`
    Returns:
      код договора

  - ### setContractId

    public void setContractId(int contractId)
    Устанавливает код договора
    Specified by:
      `setContractId` in interface `Contractable`
    Parameters:
      `contractId` - код договора

  - ### setComment

    public void setComment(String comment)
    Устанавливает комментарий к подписке
    Parameters:
      `comment` -

  - ### getComment

    public String getComment()
    Возвращает комментарий к подписке
    Returns:

  - ### getRepeatTime

    public ScheduleTime getRepeatTime()
    Возвращает расписание времени отправки для персональных рассылок
    Returns:
      null для подписок на глобальные (т.е. неперсональные) рассылки

  - ### setRepeatTime

    public void setRepeatTime(ScheduleTime recieveTime)
    Устанавливает расписание времени отправки для персоналных рассылок

  - ### getTotalRepeatTime

    public ScheduleTime getTotalRepeatTime()
    Возвращает итоговое расписание, по которому будут приходить сообщения рассылки. Время отправки берется из расписания рассылки, а остальные составляющие (дни недели, дни и месяцы) - из расписания самой подписки.
    Returns:

  - ### getHumanReadableRepeatTime

    public String getHumanReadableRepeatTime()

  - ### getRepeatTimeDaysOfWeek

    public String getRepeatTimeDaysOfWeek()
    Возвращает строку дней недели персональной подписки для отображения в вебе. То есть для подписки "по понедельникам и вторникам" вернет "1,2", для подписки "каждый день" вернет "1-7"
    Returns:

  - ### isActive

    public boolean isActive()
    Активна ли рассылка
    Returns:

  - ### setActive

    public void setActive(boolean active)
    Устанавливает флаг активности подписки.
    Parameters:
      `active` - true - подписка активна, false - подписка не активна.

  - ### getSubscriptionPeriod

    public Period getSubscriptionPeriod()
    Возвращает период действия подписки.
    Returns:
      период действия подписки.

  - ### setSubscriptionPeriod

    public void setSubscriptionPeriod(Period subscriptionPeriod)
    Устанавливает период действия подписки.
    Parameters:
      `subscriptionPeriod` - период действия подписки

  - ### getContactHash

    public String getContactHash(Contact contact)
    Получение хэша подписки для определенного контакта. Хеш необходим для возможности отписки от рассылки по ссылке в email. Хеш формируется как MD5 от строки "<код подписки>+<код контакта>".
    Parameters:
      `contact` - контакт, для которого необходимо получить хеш
    Returns:
      MD5-хеш в виде строки

  - ### getContractTitle

    public String getContractTitle()
    Description copied from interface: `Contractable`
    Возвращает название договора
    Specified by:
      `getContractTitle` in interface `Contractable`
    Returns:
      название договора

  - ### setContractTitle

    public void setContractTitle(String contractTitle)
    Description copied from interface: `Contractable`
    Устанавливает название договора
    Specified by:
      `setContractTitle` in interface `Contractable`
    Parameters:
      `contractTitle` - название договора

  - ### isUpdate

    public boolean isUpdate()

  - ### setUpdate

    public void setUpdate(boolean update)