Package ru.bgcrm.dao

# Class CommonLinkDAO

java.lang.Object
ru.bgcrm.dao.CommonDAO
ru.bgcrm.dao.CommonLinkDAO

Direct Known Subclasses:
  `CustomerLinkDAO`, `ProcessLinkDAO`

public abstract class CommonLinkDAO extends CommonDAO

- ## Nested Class Summary

  ## Nested classes/interfaces inherited from class ru.bgcrm.dao.CommonDAO

  `CommonDAO.ObjectExtractor<T>, CommonDAO.RecordUpdater<T extends Id>`

- ## Field Summary

  ### Fields inherited from class ru.bgcrm.dao.CommonDAO

  `con, log, SQL_AND, SQL_DELETE, SQL_DELETE_FROM, SQL_DESC, SQL_DISTINCT, SQL_FROM, SQL_GROUP_BY, SQL_INNER_JOIN, SQL_INSERT_IGNORE_INTO, SQL_INSERT_INTO, SQL_LEFT_JOIN, SQL_LIMIT, SQL_ON_DUP_KEY_UPDATE, SQL_ORDER_BY, SQL_REPLACE, SQL_SELECT, SQL_SELECT_ALL_FROM, SQL_SELECT_COUNT_ROWS, SQL_SET, SQL_UNION_ALL, SQL_UPDATE, SQL_VALUES, SQL_VALUES_1, SQL_VALUES_2, SQL_VALUES_3, SQL_VALUES_4, SQL_VALUES_5, SQL_WHERE`

- ## Constructor Summary

  Constructors
  Modifier
  Constructor
  Description
  `protected`
  `CommonLinkDAO(Connection con)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `addLink(CommonObjectLink link)`
  Привязка объекта.
  `void`
  `addLinkIfNotExist(CommonObjectLink link)`
  Привязка объекта если он не привязан к данному объекту.
  `void`
  `copyLinks(int objectFromId, int objectToId, String typePrefix)`
  `void`
  `copyLinks(int objectFromId, int objectToId, String typePrefix, String excludeType)`
  `void`
  `deleteLink(CommonObjectLink link)`
  Удаляет ссылку объекта на один другой объект.
  `void`
  `deleteLinksTo(CommonObjectLink link)`
  Удаляет все ссылки объектов данного типа на какой-то другой объект.
  `void`
  `deleteLinksWithType(CommonObjectLink link)`
  Удаляет все ссылки объектов данного типа на другие типы объектов.
  `void`
  `deleteObjectLinks(int objectId)`
  Удаляет все ссылки объекта.
  `protected abstract String`
  `getColumnName()`
  `static CommonLinkDAO`
  `getLinkDAO(String objectType, Connection con)`
  `List<CommonObjectLink>`
  `getObjectLinksWithType(int objectId, String typeLike)`
  Возвращает список привязанных к объекту сущностей.
  `protected abstract String`
  `getObjectType()`
  `protected abstract String`
  `getTable()`
  `boolean`
  `isLinkExists(CommonObjectLink link)`
  Проверка наличия привязки.
  `CommonObjectLink`
  `prepareLink(CommonObjectLink link)`
  `void`
  `updateLinkTitles(int linkedObjectId, String linkedObjectTypeLike, String title)`

  ### Methods inherited from class ru.bgcrm.dao.CommonDAO

  `deleteById, foundRows, getById, getGroupedIds, getGroupedIds, getIds, getIds, getPageLimit, getPeriodSql, lastInsertId, setPeriodParamValue, setRecordCount, update, updateColumn, updateIds, updateIds, updateOrInsert`

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

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

- ## Constructor Details

  - ### CommonLinkDAO

    protected CommonLinkDAO(Connection con)

- ## Method Details

  - ### getLinkDAO

    public static CommonLinkDAO getLinkDAO(String objectType, Connection con)

  - ### getObjectLinksWithType

    public List<CommonObjectLink> getObjectLinksWithType(int objectId, String typeLike)
    Возвращает список привязанных к объекту сущностей.
    Parameters:
      `objectId` - код объекта.
      `typeLike` - MySQL Like выражение для фильтрации, необязательно.
    Returns:

  - ### prepareLink

    public CommonObjectLink prepareLink(CommonObjectLink link)

  - ### updateLinkTitles

    public void updateLinkTitles(int linkedObjectId, String linkedObjectTypeLike, String title)

  - ### addLink

    public void addLink(CommonObjectLink link)
    Привязка объекта.
    Parameters:
      `link` -

  - ### addLinkIfNotExist

    public void addLinkIfNotExist(CommonObjectLink link)
    Привязка объекта если он не привязан к данному объекту.
    Parameters:
      `link` -

  - ### isLinkExists

    public boolean isLinkExists(CommonObjectLink link)
    Проверка наличия привязки.
    Parameters:
      `link` -
    Returns:

  - ### deleteLink

    public void deleteLink(CommonObjectLink link)
    Удаляет ссылку объекта на один другой объект.
    Parameters:
      `link` -

  - ### deleteObjectLinks

    public void deleteObjectLinks(int objectId)
    Удаляет все ссылки объекта.
    Parameters:
      `objectId` -
    Throws:
      `SQLException`

  - ### deleteLinksTo

    public void deleteLinksTo(CommonObjectLink link)
    Удаляет все ссылки объектов данного типа на какой-то другой объект.
    Parameters:
      `link` -

  - ### deleteLinksWithType

    public void deleteLinksWithType(CommonObjectLink link)
    Удаляет все ссылки объектов данного типа на другие типы объектов.
    Parameters:
      `link` -

  - ### copyLinks

    public void copyLinks(int objectFromId, int objectToId, String typePrefix)

  - ### copyLinks

    public void copyLinks(int objectFromId, int objectToId, String typePrefix, String excludeType)

  - ### getTable

    protected abstract String getTable()

  - ### getColumnName

    protected abstract String getColumnName()

  - ### getObjectType

    protected abstract String getObjectType()