Class DocumentsPatternGenerator
java.lang.Object
ru.bitel.bgbilling.plugins.documents.server.bean.pattern.DocumentsPatternGenerator
- All Implemented Interfaces:
ru.bitel.common.worker.Recyclable
Класс, который непосредственно занимается генерацией документов по шаблону.
Осуществляет подстановку переменных в тексте шаблона, а также заполняет
таблицы данными.
-
Constructor Summary
ConstructorDescriptionDocumentsPatternGenerator
(Connection connection, DocumentPattern pattern, int cid, int type, int journal, int user) Конструктор, осуществляющий инициализацию генератора документов. -
Method Summary
Modifier and TypeMethodDescriptiongenerateDocument
(Map<String, String> values) Метод, генерирующий файл документа по переданному шаблону.Метод, возвращающий список незаполненных параметровvoid
init
(DocumentPattern pattern, int contractId, int typeId, int journalId, int user) Метод для инициализации генератора необходимыми параметрами.void
recycle()
void
setTableData
(int tablePos, List<Map<String, String>> tableData) Deprecated.tablePos будет преобразован в строковый вид и в таком виде будет искаться как идентификатор таблицы.void
Метод помещает данные для генерируемой таблицы в мап под определенным идентифитором, который соответствует идентификатору таблицы в шаблоне.
-
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
Метод, возвращающий список незаполненных параметров- Returns:
- Throws:
ru.bitel.bgbilling.common.BGException
-
setTableData
Deprecated.tablePos будет преобразован в строковый вид и в таком виде будет искаться как идентификатор таблицы. Обратите внимание, что в файле шаблона число, содержащееся в tablePos, должно быть прописано в какой-либо ячейке таблицы (рекомендуется в заголовке), чтобы генератор смог ее найти. Отсюда следует, что нежелательно использовать в такой таблице цифры, равные tablePos, иначе они будут стерты из текста при поиске таблицы в документе. -
setTableData
Метод помещает данные для генерируемой таблицы в мап под определенным идентифитором, который соответствует идентификатору таблицы в шаблоне. Используется в случае, когда необходимо сгенерировать документ по шаблону, используя api плагина documents.- Parameters:
tableIdentifier
- идентификатор таблицы.tableData
- данные для таблицы в виде списка строк формата "ключ-значение".- Since:
- 6.2
-
recycle
public void recycle()- Specified by:
recycle
in interfaceru.bitel.common.worker.Recyclable
- Since:
- 6.2
-