java.lang.Object
com.thoughtworks.xstream.XStream
com.github._1c_syntax.bsl.reader.common.xstream.ExtendXStream

public class ExtendXStream extends XStream
Расширение функциональности XStream
  • Constructor Details

    • ExtendXStream

      public ExtendXStream()
    • ExtendXStream

      public ExtendXStream(QNameMap qNameMap)
  • Method Details

    • fromXML

      public Object fromXML(File file)
      Читает объект из файла
      Overrides:
      fromXML in class XStream
      Parameters:
      file - Читаемый файл. Если нечитаемые или ошибочный, то будет ошибка
      Returns:
      Прочитанный объект
    • getRealClass

      public Class<?> getRealClass(String className)
      Возвращает класс реализации объекта по имени поля / строковому краткому имени
      Parameters:
      className - Имя искомого класса
      Returns:
      Найденный класс
    • getCurrentPath

      public static Path getCurrentPath(HierarchicalStreamReader reader)
      Возвращает путь текущего читаемого файла
      Parameters:
      reader - Текущий ридер
      Returns:
      Путь к читаемому файлу
    • registerConverters

      public static void registerConverters(ExtendXStream xStream, String convertersPackageName, Class<?> annotation)
      Регистрирует конверторы нужного типа, фильтруя по пакету и аннотации
      Parameters:
      xStream - объект xStream
      convertersPackageName - полное имя пакета, где расположены конверторы
      annotation - аннотация, которой помечены конверторы
    • setupConverters

      protected void setupConverters()
      Переопределение списка регистрируемых конвертеров. Оставлены только те, что нужны, особенно исключены те, что вызывают недовольство у JVM, в связи с неправильным доступом при рефлексии
      Overrides:
      setupConverters in class XStream
    • registerMDCConverter

      protected void registerMDCConverter(Object converter)
      Обертка для удобства регистрации разных конвертеров посредством чтения классов из пакета
      Parameters:
      converter - один из поддерживаемых конвертеров
    • getReflectionConverter

      public Converter getReflectionConverter()
      Используется для чтения элементов формы (см. FormEventConverter, DesignerFormItemConverter)
    • getCollectionConverter

      public Converter getCollectionConverter()