ru.bitel.oss.kernel.entity.server.bean

## Class AbstractEntityAttrDao<E extends Id>

- java.lang.Object
- - ru.bitel.common.dao.AbstarctDaoConstant
  - - ru.bitel.common.dao.AbstractDao<B>
    - - ru.bitel.common.dao.AbstractIdDao<E>
      - - ru.bitel.oss.kernel.entity.server.bean.AbstractEntityAttrDao<E>

- Type Parameters:
    `E` -
  All Implemented Interfaces:
    java.lang.AutoCloseable
  Direct Known Subclasses:
    AbstractEntityDao, ContractDao, ContractObjectDao

      public abstract class AbstractEntityAttrDao<E extends Id>
      extends ru.bitel.common.dao.AbstractIdDao<E>

  Абстрактный класс для параметров/атрибутов/параметров объектов

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `protected static class` | `AbstractEntityAttrDao.AddressItemModifiedEventListener`

    - ### Nested classes/interfaces inherited from class ru.bitel.common.dao.AbstractDao

      `ru.bitel.common.dao.AbstractDao.ResultSetIterator`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected static ru.bitel.oss.kernel.entity.server.bean.EntityAttrDaoSupport` | `CONTRACT_OBJECT_SUPPORT`
    `protected static ru.bitel.oss.kernel.entity.server.bean.EntityAttrDaoSupport` | `CONTRACT_SUPPORT`
    `protected static ru.bitel.oss.kernel.entity.server.bean.EntityAttrDaoSupport` | `ENTITY_SUPPORT`
    `protected Directory<? extends EntitySpecAttr>` | `entitySpecAttrDirectory`
    `protected Directory<? extends Id>` | `entitySpecDirectory`
    `protected static java.util.Comparator<FilterEntityAttr>` | `filterWeightComparator`
    `protected int` | `userId`

    - ### Fields inherited from class ru.bitel.common.dao.AbstractDao

      `cacheFilter, cacheJoin, cacheOrderBy, cachePaged, cachePS, cacheWhat, con, getByIdPS, mid, moduleId, orderByPattern, tableName`

    - ### Fields inherited from class ru.bitel.common.dao.AbstarctDaoConstant

      `ERROR, SQL_CALC_FOUND_ROWS, SQL_DELETE, SQL_DISTINCT, SQL_EQ, SQL_EQCS, SQL_FROM, SQL_GROUP, SQL_IN, SQL_INSERT, SQL_LIMIT, SQL_ON_DUPLICATE_KEY_UPDATE, SQL_ORDER, SQL_SELECT, SQL_SET, SQL_UPDATE, SQL_VALUES, SQL_WHERE`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `AbstractEntityAttrDao(java.sql.Connection con, int mid, int userId, java.lang.String tableName, ru.bitel.oss.kernel.entity.server.bean.EntityAttrDaoSupport support)`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected void` | `checkEntityAttribute(EntityAttr entityAttr)`
    `boolean` | `checkEntitySpecAttrDelete(int entitySpecAttrId)`
    `java.util.List<FilterEntityAttr>` | `filterInit(java.util.List<FilterEntityAttr> entityFilter)`
    `void` | `filterJoin(java.lang.StringBuilder query, java.lang.String wherePrefix, java.lang.StringBuilder where, java.util.List<FilterEntityAttr> entityFilter)`
    `int` | `filterToPS(java.sql.PreparedStatement ps, int idx, java.util.List<FilterEntityAttr> entityFilter)`
    `protected java.util.Map<java.lang.Integer,EntityAttr>` | `getAllEntityAttributes(int entityId, boolean fullMap)` Получение всех возможных атрибутов/параметров без учета сущности/группы параметров.
    `protected EntityAttr` | `getAttribute(int entityId, EntitySpecAttr spec)`
    `protected EntityAttr` | `getEntityAttribute(int entityId, int entityAttrId)` Получение значения атрибута/параметра
    `protected java.util.Map<java.lang.Integer,EntityAttr>` | `getEntityAttributes(int entirySpecId, int entityId, boolean fullMap)` Получение атрибутов/параметров объекта/договора с учетом указанной сущности/группы параметров.
    `protected Directory<? extends EntitySpecAttr>` | `getEntitySpecAttrDirectory()`
    `Directory<? extends Id>` | `getEntitySpecDirectory()`
    `protected java.lang.String` | `getEntityTableName()`
    `protected java.util.Map<java.lang.Integer,java.lang.String>` | `getEntityValueForIds(int entityId, java.util.Set<java.lang.Integer> ids)`
    `protected E` | `getFromRS(java.sql.ResultSet rs)`
    `protected abstract E` | `getFromRS(java.sql.ResultSet rs, boolean loadAttributes, boolean loadEntityTitle)`
    `protected java.util.List<E>` | `list(boolean loadAttributes, Page page, java.lang.String what, java.lang.String join, java.util.List<FilterEntityAttr> entityFilter, java.lang.String filter, java.lang.String groupBy, java.lang.String orderBy, java.lang.Object... params)`
    `protected java.util.List<E>` | `listImpl(boolean loadAttributes, Page page, java.lang.String what, java.lang.String join1, java.lang.String join2, java.util.List<FilterEntityAttr> entityFilter, java.lang.String filter, java.lang.String groupBy, java.lang.String orderBy, java.lang.Object... params)`
    `protected void` | `onAddressItemUpdate(ru.bitel.bgbilling.kernel.container.managed.ServerContext context, java.lang.Class<?> clazz, int id)`
    `protected boolean` | `updateEntityAttribute(int entityId, EntityAttr entityAttr)`
    `protected void` | `updateEntityAttributes(int entityId, java.util.Map<java.lang.Integer,EntityAttr> entityAttributes)`

    - ### Methods inherited from class ru.bitel.common.dao.AbstractIdDao

      `delete, get, getAndDelete, getAndUpdate`

    - ### Methods inherited from class ru.bitel.common.dao.AbstractDao

      `close, delete, deleteImpl, eq, get, getById, getImpl, getListFromRS, getPeriod, getSQLOrder, getTableName, list, list, listImpl, listImpl, listImplPS, listImplPS, processException, recycle, setStatementParam, update, updateImpl`

    - ### Methods inherited from class ru.bitel.common.dao.AbstarctDaoConstant

      `getSQLOrder`

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

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

- - ### Field Detail

    - #### ENTITY_SUPPORT

          protected static final ru.bitel.oss.kernel.entity.server.bean.EntityAttrDaoSupport ENTITY_SUPPORT

    - #### CONTRACT_SUPPORT

          protected static final ru.bitel.oss.kernel.entity.server.bean.EntityAttrDaoSupport CONTRACT_SUPPORT

    - #### CONTRACT_OBJECT_SUPPORT

          protected static final ru.bitel.oss.kernel.entity.server.bean.EntityAttrDaoSupport CONTRACT_OBJECT_SUPPORT

    - #### userId

          protected final int userId

    - #### entitySpecDirectory

          protected Directory<? extends Id> entitySpecDirectory

    - #### entitySpecAttrDirectory

          protected Directory<? extends EntitySpecAttr> entitySpecAttrDirectory

    - #### filterWeightComparator

          protected static final java.util.Comparator<FilterEntityAttr> filterWeightComparator

  - ### Constructor Detail

    - #### AbstractEntityAttrDao

          public AbstractEntityAttrDao(java.sql.Connection con,
                                       int mid,
                                       int userId,
                                       java.lang.String tableName,
                                       ru.bitel.oss.kernel.entity.server.bean.EntityAttrDaoSupport support)

  - ### Method Detail

    - #### getEntitySpecDirectory

          public Directory<? extends Id> getEntitySpecDirectory()
                                                         throws ru.bitel.bgbilling.common.BGException

      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### getEntitySpecAttrDirectory

          protected Directory<? extends EntitySpecAttr> getEntitySpecAttrDirectory()
                                                                            throws ru.bitel.bgbilling.common.BGException

      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### getAttribute

          protected EntityAttr getAttribute(int entityId,
                                            EntitySpecAttr spec)
                                     throws ru.bitel.bgbilling.common.BGException

      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### getEntityAttributes

          protected java.util.Map<java.lang.Integer,EntityAttr> getEntityAttributes(int entirySpecId,
                                                                                    int entityId,
                                                                                    boolean fullMap)
                                                                             throws ru.bitel.bgbilling.common.BGException

      Получение атрибутов/параметров объекта/договора с учетом указанной сущности/группы параметров. Если такой сущности/группы параметров не существует, то будет возвращан null.
      Parameters:
        `entirySpecId` -
        `entityId` -
        `fullMap` - при fullMap==true если параметр не заведен (не указан, не добавлен), то данный параметр будет отсутствовать в результате. Примером может служить параметр типа флаг - отсутствие параметра означает false. При fullMap==true при отсутсвии значения в результат попадет пустой EntityAttr.
      Returns:
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### getAllEntityAttributes

          protected java.util.Map<java.lang.Integer,EntityAttr> getAllEntityAttributes(int entityId,
                                                                                       boolean fullMap)
                                                                                throws ru.bitel.bgbilling.common.BGException

      Получение всех возможных атрибутов/параметров без учета сущности/группы параметров.
      Parameters:
        `entityId` - ID объекта/договора.
        `fullMap` - при fullMap==true если параметр не заведен (не указан, не добавлен), то данный параметр будет отсутствовать в результате. Примером может служить параметр типа флаг - отсутствие параметра означает false. При fullMap==true при отсутсвии значения в результат попадет пустой EntityAttr.
      Returns:
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### getEntityValueForIds

          protected java.util.Map<java.lang.Integer,java.lang.String> getEntityValueForIds(int entityId,
                                                                                           java.util.Set<java.lang.Integer> ids)
                                                                                    throws ru.bitel.bgbilling.common.BGException

      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### getEntityAttribute

          protected EntityAttr getEntityAttribute(int entityId,
                                                  int entityAttrId)
                                           throws ru.bitel.bgbilling.common.BGException

      Получение значения атрибута/параметра
      Parameters:
        `entityId` - ID объекта/договора
        `entityAttrId` - ID атрибута/параметра
      Returns:
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### updateEntityAttribute

          protected boolean updateEntityAttribute(int entityId,
                                                  EntityAttr entityAttr)
                                           throws java.sql.SQLException,
                                                  ru.bitel.bgbilling.common.BGException

      Throws:
        `java.sql.SQLException`
        `ru.bitel.bgbilling.common.BGException`

    - #### checkEntitySpecAttrDelete

          public boolean checkEntitySpecAttrDelete(int entitySpecAttrId)
                                            throws ru.bitel.bgbilling.common.BGException

      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### updateEntityAttributes

          protected void updateEntityAttributes(int entityId,
                                                java.util.Map<java.lang.Integer,EntityAttr> entityAttributes)
                                         throws ru.bitel.bgbilling.common.BGException,
                                                java.sql.SQLException

      Throws:
        `ru.bitel.bgbilling.common.BGException`
        `java.sql.SQLException`

    - #### list

          protected java.util.List<E> list(boolean loadAttributes,
                                           Page page,
                                           java.lang.String what,
                                           java.lang.String join,
                                           java.util.List<FilterEntityAttr> entityFilter,
                                           java.lang.String filter,
                                           java.lang.String groupBy,
                                           java.lang.String orderBy,
                                           java.lang.Object... params)
                                    throws ru.bitel.bgbilling.common.BGException

      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### filterInit

          public java.util.List<FilterEntityAttr> filterInit(java.util.List<FilterEntityAttr> entityFilter)

    - #### getEntityTableName

          protected java.lang.String getEntityTableName()

    - #### listImpl

          protected java.util.List<E> listImpl(boolean loadAttributes,
                                               Page page,
                                               java.lang.String what,
                                               java.lang.String join1,
                                               java.lang.String join2,
                                               java.util.List<FilterEntityAttr> entityFilter,
                                               java.lang.String filter,
                                               java.lang.String groupBy,
                                               java.lang.String orderBy,
                                               java.lang.Object... params)
                                        throws ru.bitel.bgbilling.common.BGException

      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### getFromRS

          protected final E getFromRS(java.sql.ResultSet rs)
                               throws java.sql.SQLException,
                                      ru.bitel.bgbilling.common.BGException

      Specified by:
        `getFromRS` in class `ru.bitel.common.dao.AbstractDao<E extends Id>`
      Throws:
        `java.sql.SQLException`
        `ru.bitel.bgbilling.common.BGException`

    - #### getFromRS

          protected abstract E getFromRS(java.sql.ResultSet rs,
                                         boolean loadAttributes,
                                         boolean loadEntityTitle)
                                  throws java.sql.SQLException,
                                         ru.bitel.bgbilling.common.BGException

      Throws:
        `java.sql.SQLException`
        `ru.bitel.bgbilling.common.BGException`

    - #### filterJoin

          public void filterJoin(java.lang.StringBuilder query,
                                 java.lang.String wherePrefix,
                                 java.lang.StringBuilder where,
                                 java.util.List<FilterEntityAttr> entityFilter)

    - #### filterToPS

          public int filterToPS(java.sql.PreparedStatement ps,
                                int idx,
                                java.util.List<FilterEntityAttr> entityFilter)
                         throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### onAddressItemUpdate

          protected void onAddressItemUpdate(ru.bitel.bgbilling.kernel.container.managed.ServerContext context,
                                             java.lang.Class<?> clazz,
                                             int id)
                                      throws java.sql.SQLException,
                                             ru.bitel.bgbilling.common.BGException

      Throws:
        `java.sql.SQLException`
        `ru.bitel.bgbilling.common.BGException`

    - #### checkEntityAttribute

          protected void checkEntityAttribute(EntityAttr entityAttr)
                                       throws ru.bitel.bgbilling.common.BGException

      Throws:
        `ru.bitel.bgbilling.common.BGException`