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

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

  • 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:
      Найденный класс
    • getRealClass

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

      public static Object read(HierarchicalStreamReader reader, Path contentPath)
      Выполняет чтение объекта из файла
      Parameters:
      reader - Ридер файла
      contentPath - Путь к файлу
      Returns:
      Найденный класс
    • read

      public static Object read(HierarchicalStreamReader reader, Path contentPath, String fullName)
      Выполняет чтение объекта из файла по имени
      Parameters:
      reader - Ридер файла
      contentPath - Путь к файлу
      fullName - Имя читаемого объекта
      Returns:
      Найденный класс
    • getCurrentPath

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

      public static MDReader getCurrentMDReader(HierarchicalStreamReader reader)
      Выполняет ссылку на MDReader, связанный с читатем файла
      Parameters:
      reader - Ридер файла
      Returns:
      Найденный класс
    • readValue

      public static <T> T readValue(UnmarshallingContext context, Class<T> clazz)
      Читает значение из файла
      Parameters:
      context - Контекст чтения файла
      clazz - Класс для преобразования
      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 - один из поддерживаемых конвертеров
    • buildMapper

      public static Mapper buildMapper(ClassLoaderReference classLoaderReference)