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

public class ExtendXStream extends com.thoughtworks.xstream.XStream
Расширение функциональности XStream
  • Nested Class Summary

    Nested classes/interfaces inherited from class com.thoughtworks.xstream.XStream

    com.thoughtworks.xstream.XStream.InitializationException
  • Field Summary

    Fields inherited from class com.thoughtworks.xstream.XStream

    COLLECTION_UPDATE_LIMIT, COLLECTION_UPDATE_SECONDS, ID_REFERENCES, NO_REFERENCES, PRIORITY_LOW, PRIORITY_NORMAL, PRIORITY_VERY_HIGH, PRIORITY_VERY_LOW, SINGLE_NODE_XPATH_ABSOLUTE_REFERENCES, SINGLE_NODE_XPATH_RELATIVE_REFERENCES, XPATH_ABSOLUTE_REFERENCES, XPATH_RELATIVE_REFERENCES
  • Constructor Summary

    Constructors
    Constructor
    Description
    ExtendXStream(MDReader reader, com.thoughtworks.xstream.core.ClassLoaderReference classLoaderReference, com.thoughtworks.xstream.mapper.Mapper mapper)
     
    ExtendXStream(MDReader reader, com.thoughtworks.xstream.io.xml.QNameMap qNameMap, com.thoughtworks.xstream.core.ClassLoaderReference classLoaderReference, com.thoughtworks.xstream.mapper.Mapper mapper)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static com.thoughtworks.xstream.mapper.Mapper
    buildMapper(com.thoughtworks.xstream.core.ClassLoaderReference classLoaderReference)
     
    fromXML(File file)
    Читает объект из файла
    static MDReader
    getCurrentMDReader(com.thoughtworks.xstream.io.HierarchicalStreamReader reader)
    Выполняет ссылку на MDReader, связанный с читатем файла
    static Path
    getCurrentPath(com.thoughtworks.xstream.io.HierarchicalStreamReader reader)
    Возвращает путь текущего читаемого файла
    static Class<?>
    getRealClass(com.thoughtworks.xstream.io.HierarchicalStreamReader reader, String className)
    Возвращает класс реализации объекта по имени поля / строковому краткому имени
    getRealClass(String className)
    Возвращает класс реализации объекта по имени поля / строковому краткому имени
    static Object
    read(com.thoughtworks.xstream.io.HierarchicalStreamReader reader, Path contentPath)
    Выполняет чтение объекта из файла
    static Object
    read(com.thoughtworks.xstream.io.HierarchicalStreamReader reader, Path contentPath, String fullName)
    Выполняет чтение объекта из файла по имени
    static <T> T
    readValue(com.thoughtworks.xstream.converters.UnmarshallingContext context, Class<T> clazz)
    Читает значение из файла
    static void
    registerConverters(ExtendXStream xStream, String convertersPackageName, Class<?> annotation)
    Регистрирует конверторы нужного типа, фильтруя по пакету и аннотации
    protected void
    Обертка для удобства регистрации разных конвертеров посредством чтения классов из пакета
    protected void
    Переопределение списка регистрируемых конвертеров.

    Methods inherited from class com.thoughtworks.xstream.XStream

    addDefaultImplementation, addImmutableType, addImmutableType, addImplicitArray, addImplicitArray, addImplicitArray, addImplicitCollection, addImplicitCollection, addImplicitCollection, addImplicitMap, addImplicitMap, addPermission, alias, alias, aliasAttribute, aliasAttribute, aliasField, aliasPackage, aliasSystemAttribute, aliasType, allowTypeHierarchy, allowTypes, allowTypes, allowTypesByRegExp, allowTypesByRegExp, allowTypesByWildcard, autodetectAnnotations, createObjectInputStream, createObjectInputStream, createObjectInputStream, createObjectInputStream, createObjectOutputStream, createObjectOutputStream, createObjectOutputStream, createObjectOutputStream, createObjectOutputStream, createObjectOutputStream, createObjectOutputStream, denyPermission, denyTypeHierarchy, denyTypes, denyTypes, denyTypesByRegExp, denyTypesByRegExp, denyTypesByWildcard, fromXML, fromXML, fromXML, fromXML, fromXML, fromXML, fromXML, fromXML, fromXML, getClassLoader, getClassLoaderReference, getConverterLookup, getMapper, getReflectionProvider, ignoreUnknownElements, ignoreUnknownElements, ignoreUnknownElements, marshal, marshal, newDataHolder, omitField, processAnnotations, processAnnotations, registerConverter, registerConverter, registerConverter, registerConverter, registerLocalConverter, registerLocalConverter, setClassLoader, setCollectionUpdateLimit, setMarshallingStrategy, setMode, setupAliases, setupDefaultImplementations, setupDefaultSecurity, setupImmutableTypes, setupSecurity, toXML, toXML, toXML, unmarshal, unmarshal, unmarshal, useAttributeFor, useAttributeFor, useAttributeFor, useXStream11XmlFriendlyMapper, wrapMapper

    Methods inherited from class java.lang.Object

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

    • ExtendXStream

      public ExtendXStream(MDReader reader, com.thoughtworks.xstream.core.ClassLoaderReference classLoaderReference, com.thoughtworks.xstream.mapper.Mapper mapper)
    • ExtendXStream

      public ExtendXStream(MDReader reader, com.thoughtworks.xstream.io.xml.QNameMap qNameMap, com.thoughtworks.xstream.core.ClassLoaderReference classLoaderReference, com.thoughtworks.xstream.mapper.Mapper mapper)
  • Method Details

    • fromXML

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

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

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

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

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

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

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

      public static <T> T readValue(com.thoughtworks.xstream.converters.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 com.thoughtworks.xstream.XStream
    • registerMDCConverter

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

      public static com.thoughtworks.xstream.mapper.Mapper buildMapper(com.thoughtworks.xstream.core.ClassLoaderReference classLoaderReference)