Class DocumentsPatternGenerator

java.lang.Object
ru.bitel.bgbilling.plugins.documents.server.bean.pattern.DocumentsPatternGenerator
All Implemented Interfaces:
AutoCloseable

public class DocumentsPatternGenerator extends Object implements AutoCloseable
Класс, который непосредственно занимается генерацией документов по шаблону. Осуществляет подстановку переменных в тексте шаблона, а также заполняет таблицы данными.
  • Constructor Summary

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

    Modifier and Type
    Method
    Description
    void
     
    Метод, генерирующий файл документа по переданному шаблону.
    Метод, возвращающий список незаполненных параметров
    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 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 ru.bitel.bgbilling.common.BGException
      Метод, генерирующий файл документа по переданному шаблону. Осуществляет подстанки переменных, обработку таблиц. На выходе получается документ в одном из поддерживаемых форматов, список которых перечислен в SupportedFileFormat
      Returns:
      сгенерированный документ
      Throws:
      ru.bitel.bgbilling.common.BGException
    • getNotFillParameters

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