Package ru.bitel.bgbilling.plugins.edo.server.bean.bill

# Class EdoFnsXmlGenerator

java.lang.Object
java.util.AbstractCollection<Object>
java.util.AbstractList<Object>
java.util.ArrayList<Object>
ru.bitel.bgbilling.plugins.edo.server.bean.bill.EdoFnsXmlGenerator

All Implemented Interfaces:
  `Serializable`, `Cloneable`, `Iterable<Object>`, `Collection<Object>`, `List<Object>`, `RandomAccess`, `SequencedCollection<Object>`

Direct Known Subclasses:
  `EdoFnsXmlGenerator.S`

public class EdoFnsXmlGenerator extends ArrayList<Object>
Генератор xml с сериализацией, который умеет А П С элементы описанные в доках ФНС. По сути это для генерации "формализованных документов", но в нашей системе это можно прикрутить только к bill, из остальных мест можно слать бинарники с более общей обвязкой. Потому это считается частью интеграции с bill.

See Also:
  - Serialized Form

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Class
  Description
  `static class`
  `EdoFnsXmlGenerator.S`
  просто ярлык для краткой записи

- ## Field Summary

  ### Fields inherited from class java.util.AbstractList

  `modCount`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `EdoFnsXmlGenerator()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `A(String name, String value)`
  добавить А-элемент, пустые не добавляются
  `void`
  `A(String name, String value, boolean addEmpty)`
  добавить А-элемент, если addEmpty=true - пустые добавляются, иначе нет
  `void`
  `A(String name, String value, int maxlen)`
  добавить А-элемент, пустые не добавляются.
  `void`
  `P(String name, String value)`
  добавить П-элемент, пустые не добавляются
  `void`
  `P(String name, String value, boolean addEmpty)`
  добавить П-элемент, если addEmpty=true - пустые добавляются, иначе нет
  `void`
  `S(String name, EdoFnsXmlGenerator value)`
  добавить С-элемент, пустые не добавляются (т.е. не будет совсем пустых висячих тегов типа [Адрес][АдрРФ/][/Адрес])
  `void`
  `S(String name, EdoFnsXmlGenerator value, boolean addEmpty)`
  добавить С-элемент, если addEmpty=true - пустые добавляются, иначе нет
  `byte[]`
  `serialize(String encoding)`
  сериализация полученного в xml в байтах в указанной кодировке (и там не 1251 часто)

  ### Methods inherited from class java.util.ArrayList

  `add, add, addAll, addAll, addFirst, addLast, clear, clone, contains, ensureCapacity, equals, forEach, get, getFirst, getLast, hashCode, indexOf, isEmpty, iterator, lastIndexOf, listIterator, listIterator, remove, remove, removeAll, removeFirst, removeIf, removeLast, removeRange, replaceAll, retainAll, set, size, sort, spliterator, subList, toArray, toArray, trimToSize`

  ### Methods inherited from class java.util.AbstractCollection

  `containsAll, toString`

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

  `finalize, getClass, notify, notifyAll, wait, wait, wait`

  ### Methods inherited from interface java.util.Collection

  `parallelStream, stream, toArray`

  ### Methods inherited from interface java.util.List

  `containsAll, reversed`

- ## Constructor Details

  - ### EdoFnsXmlGenerator

    public EdoFnsXmlGenerator()

- ## Method Details

  - ### A

    public void A(String name, String value)
    добавить А-элемент, пустые не добавляются

  - ### A

    public void A(String name, String value, int maxlen)
    добавить А-элемент, пустые не добавляются. контроль длины поля, везде прописано в описании от-до длина для текстовых полей (или = конкретная длина, но это обычно что-то типа ИНН или айдишника эдо, сам виноват если неверно настроил и будет ругаться при отправке, и автоматом обрезать нельзя), есть некоторые места где лучше обрезать просто автоматом. в остальных местах надо сделать чтобы ругалось и руками чтоб разбирались.

  - ### A

    public void A(String name, String value, boolean addEmpty)
    добавить А-элемент, если addEmpty=true - пустые добавляются, иначе нет

  - ### P

    public void P(String name, String value)
    добавить П-элемент, пустые не добавляются

  - ### P

    public void P(String name, String value, boolean addEmpty)
    добавить П-элемент, если addEmpty=true - пустые добавляются, иначе нет

  - ### S

    public void S(String name, EdoFnsXmlGenerator value)
    добавить С-элемент, пустые не добавляются (т.е. не будет совсем пустых висячих тегов типа [Адрес][АдрРФ/][/Адрес])

  - ### S

    public void S(String name, EdoFnsXmlGenerator value, boolean addEmpty)
    добавить С-элемент, если addEmpty=true - пустые добавляются, иначе нет

  - ### serialize

    public byte[] serialize(String encoding) throws TransformerException, IOException, ParserConfigurationException, ru.bitel.bgbilling.common.BGException
    сериализация полученного в xml в байтах в указанной кодировке (и там не 1251 часто)
    Throws:
      `TransformerException`
      `IOException`
      `ParserConfigurationException`
      `ru.bitel.bgbilling.common.BGException`