Package ru.bitel.bgbilling.plugins.documents.server.bean.pattern

# Class DocumentsPatternGenerator

java.lang.Object
ru.bitel.bgbilling.kernel.base.server.logger.BGLogger
ru.bitel.bgbilling.plugins.documents.server.bean.pattern.DocumentsPatternGenerator

All Implemented Interfaces:
  `AutoCloseable`

public class DocumentsPatternGenerator extends ru.bitel.bgbilling.kernel.base.server.logger.BGLogger implements AutoCloseable
Класс, который непосредственно занимается генерацией документов по шаблону. Осуществляет подстановку переменных в тексте шаблона, а также заполняет таблицы данными.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `DocumentsPatternGenerator()`
  `DocumentsPatternGenerator(Connection connection, DocumentPattern pattern, int cid, int type, int journal, int user)`
  Конструктор, осуществляющий инициализацию генератора документов.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `close()`
  `Document`
  `generateDocument(Map<String,String> values)`
  Метод, генерирующий файл документа по переданному шаблону.
  `List<String>`
  `getNotFillParameters()`
  Метод, возвращающий список незаполненных параметров
  `void`
  `init(DocumentPattern pattern, int contractId, int typeId, int journalId, int user)`
  Метод для инициализации генератора необходимыми параметрами.
  `void`
  `setTableData(int tablePos, List<Map<String,String>> tableData)`
  Deprecated.
  tablePos будет преобразован в строковый вид и в таком виде будет искаться как идентификатор таблицы.
  `void`
  `setTableData(String tableIdentifier, List<Map<String,String>> tableData)`
  Метод помещает данные для генерируемой таблицы в мап под определенным идентифитором, который соответствует идентификатору таблицы в шаблоне.

  ### Methods inherited from class ru.bitel.bgbilling.kernel.base.server.logger.BGLogger

  `error, error, error, getLogger, logError, logError`

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

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

- ## Constructor Details

  - ### DocumentsPatternGenerator

    public DocumentsPatternGenerator(Connection connection, DocumentPattern pattern, int cid, int type, int journal, int user) throws ru.bitel.bgbilling.common.BGException
    Конструктор, осуществляющий инициализацию генератора документов. При повторном использовании генератора нет необходимости создавать новый объект генератора, достаточно просто переинициализировать его с помощью метода `init(DocumentPattern, int, int, int, int)`
    Parameters:
      `connection` - экземпляр соединения с БД
      `pattern` - шаблон, по которому генерируется документ
      `cid` - код договора
      `type` - тип документа
      `journal` - код журнала
      `user` - код пользователя, генерирующего документ
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### DocumentsPatternGenerator

    public DocumentsPatternGenerator()

- ## Method Details

  - ### init

    public void init(DocumentPattern pattern, int contractId, int typeId, int journalId, int user) throws ru.bitel.bgbilling.common.BGException
    Метод для инициализации генератора необходимыми параметрами. Можно использовать, если нужно сгенерировать несколько разных документов, не создавая отдельные генераторы.
    Parameters:
      `pattern` - шаблон, по которому генерируется документ
      `contractId` - код договора
      `typeId` - тип документа
      `journalId` - код журнала
      `user` - код пользователя, генерирующего документ
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### generateDocument

    public Document generateDocument(Map<String,String> values) throws Exception
    Метод, генерирующий файл документа по переданному шаблону. Осуществляет подстанки переменных, обработку таблиц. На выходе получается документ в одном из поддерживаемых форматов, список которых перечислен в `SupportedFileFormat`
    Returns:
      сгенерированный документ
    Throws:
      `ru.bitel.bgbilling.common.BGException`
      `Exception`

  - ### getNotFillParameters

    public List<String> getNotFillParameters() throws Exception
    Метод, возвращающий список незаполненных параметров
    Returns:
    Throws:
      `ru.bitel.bgbilling.common.BGException`
      `Exception`

  - ### setTableData

    @Deprecated public void setTableData(int tablePos, List<Map<String,String>> tableData)
    Deprecated.
    tablePos будет преобразован в строковый вид и в таком виде будет искаться как идентификатор таблицы. Обратите внимание, что в файле шаблона число, содержащееся в tablePos, должно быть прописано в какой-либо ячейке таблицы (рекомендуется в заголовке), чтобы генератор смог ее найти. Отсюда следует, что нежелательно использовать в такой таблице цифры, равные tablePos, иначе они будут стерты из текста при поиске таблицы в документе.

  - ### setTableData

    public void setTableData(String tableIdentifier, List<Map<String,String>> tableData)
    Метод помещает данные для генерируемой таблицы в мап под определенным идентифитором, который соответствует идентификатору таблицы в шаблоне. Используется в случае, когда необходимо сгенерировать документ по шаблону, используя api плагина documents.
    Parameters:
      `tableIdentifier` - идентификатор таблицы.
      `tableData` - данные для таблицы в виде списка строк формата "ключ-значение".
    Since:
      6.2

  - ### close

    public void close()
    Specified by:
      `close` in interface `AutoCloseable`
    Since:
      6.2