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