Class EdoContext

java.lang.Object
ru.bitel.bgbilling.plugins.edo.server.bean.EdoContext
Direct Known Subclasses:
EdoBillContext, EdoContext.EdoDefaultContext, EdoDocumentsContext

public abstract class EdoContext extends Object
Контекст, который собирается для процессинга документа из разных настроек по источникам. По сути представляет собой прокси для конфига ParameterMap с доп. параметрами. Помимо генерации документов используется в остальных действиях по эдо внутренних и внешних (поиски, запросы итд). Также процессинг значений по макросам итд тоже встроен в контекст.
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static class 
    Дефолтная реализация контекста для использования вне контекста модуля/плагина, просто пустая поверх абстрактного
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    может быть не задан для некоторых побочных/служебных действий
    может быть не задан для некоторых побочных/служебных действий
    всегда задан (если ID_DEFAULT_SIGNATORY, то к этому месту он развернётся в реальный ид дефолтного подписанта)
    вcегда задан, может остаться USER_SERVER для серверны/автоматических действий
  • Constructor Summary

    Constructors
    Constructor
    Description
    EdoContext(Connection con, ParameterMap contextSetup)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    _get_raw(String nameParam, boolean required)
    Получение из контекста (сырого) значения указанного параметра.
    protected String
    _process_one_value(String valueParam, int contractId, String nameParam)
    обработка отдельного значения параметра, на предмет тегов итд, в конкретном контексте может перегрузиться, чтобы учесть теги/значения из него. valueParam всегда не null и не пустое.
    get(String nameParam, boolean required)
    Из конфига парсит значения и берёт их откуда настроено.
    get_def(String nameParam, String defValue)
    Сначала ищется значение, если нет, то дефолтное значение.
    get_oneof_req(String nameParam1, String nameParam2)
    Сначала ищется первое значение, потом второе.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • _edoDocumentTypeId

      public Integer _edoDocumentTypeId
      может быть не задан для некоторых побочных/служебных действий
    • _signatoryId

      public Integer _signatoryId
      всегда задан (если ID_DEFAULT_SIGNATORY, то к этому месту он развернётся в реальный ид дефолтного подписанта)
    • _contractId

      public Integer _contractId
      может быть не задан для некоторых побочных/служебных действий
    • _userId

      public Integer _userId
      вcегда задан, может остаться USER_SERVER для серверны/автоматических действий
  • Constructor Details

  • Method Details

    • _get_raw

      public String _get_raw(String nameParam, boolean required) throws EdoNoContextParamException
      Получение из контекста (сырого) значения указанного параметра. Для внутрикодовых и специфических случаев.
      Throws:
      EdoNoContextParamException
    • get

      public String get(String nameParam, boolean required) throws EdoNoContextParamException, EdoNoContextValueException, ru.bitel.bgbilling.common.BGException
      Из конфига парсит значения и берёт их откуда настроено. Макросы откуда пытаться взять: pid:666 - брать из параметра договора; contract:comment - поле договора (title, comment, ...) customer:/customer/fio/first - поле сущности клиент (путь по json) 666 - константа как есть. Несколько значений через знак "|" - берёт последовательно пока не получит значение, т.е. можно насроить получение из нескольких мест, например, сначала из кастомера потом из параметра. В FnsFileGenerator расширяется поиск ещё дополнительно.
      Throws:
      EdoNoContextParamException
      EdoNoContextValueException
      ru.bitel.bgbilling.common.BGException
    • _process_one_value

      protected String _process_one_value(String valueParam, int contractId, String nameParam) throws ru.bitel.bgbilling.common.BGException
      обработка отдельного значения параметра, на предмет тегов итд, в конкретном контексте может перегрузиться, чтобы учесть теги/значения из него. valueParam всегда не null и не пустое.
      Throws:
      ru.bitel.bgbilling.common.BGException
    • get_def

      public String get_def(String nameParam, String defValue) throws ru.bitel.bgbilling.common.BGException
      Сначала ищется значение, если нет, то дефолтное значение. (required=false для поиске в конфиге). Просто частый кейс сначала взять из конфига потом если не настраивали то дефолт (для почти понятных значений).
      Throws:
      ru.bitel.bgbilling.common.BGException
    • get_oneof_req

      public String get_oneof_req(String nameParam1, String nameParam2) throws ru.bitel.bgbilling.common.BGException
      Сначала ищется первое значение, потом второе. Обшая required=true. Просто частый кейс сначала взять перекрытого конфига потом общего.
      Throws:
      ru.bitel.bgbilling.common.BGException