Класс StreamSource

Все реализованные интерфейсы:
Source
public class StreamSource
extends Object
implements Source

Выступает в качестве хранилища источника преобразования в виде потока XML-разметки.

Примечание: Из-за внутреннего использования объекта Reader или InputStream, экземпляры StreamSource могут быть использованы только один раз.

С момента:
1.4

Поля

Модификатор и тип Поле Описание
static String FEATURE

Если TransformerFactory.getFeature(java.lang.String) возвращает true при передаче этого значения в качестве аргумента, преобразователь поддерживает входной источник такого типа.

Конструкторы

Конструктор Описание
StreamSource()

Конструктор по умолчанию без аргументов.

StreamSource​(File f)

Создаёт StreamSource из файла.

StreamSource​(InputStream inputStream)

Создаёт StreamSource из потока байтов.

StreamSource​(InputStream inputStream, String systemId)

Создаёт StreamSource из потока байтов.

StreamSource​(Reader reader)

Создаёт StreamSource из потока символов (читателя).

StreamSource​(Reader reader, String systemId)

Создаёт StreamSource из потока символов (читателя).

StreamSource​(String systemId)

Создаёт StreamSource из URL.

Методы

Модификатор и тип Метод Описание
InputStream getInputStream()

Получить поток байтов, установленный с помощью setByteStream.

String getPublicId()

Получить общедоступный идентификатор, установленный с помощью setPublicId.

Reader getReader()

Получить поток символов, установленный с помощью setReader.

String getSystemId()

Получить системный идентификатор, установленный с помощью setSystemId.

boolean isEmpty()

Указывает, является ли объект StreamSource пустым.

void setInputStream​(InputStream inputStream)

Установить поток байтов, который будет использоваться в качестве входных данных.

void setPublicId​(String publicId)

Установить общедоступный идентификатор для этого источника.

void setReader​(Reader reader)

Установить входные данные как поток символов (читатель).

void setSystemId​(File f)

Установить системный идентификатор из ссылки на файл.

void setSystemId​(String systemId)

Установить системный идентификатор для этого источника.

Методы, объявленные в классе java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Поля

FEATURE

public static final String FEATURE

Если TransformerFactory.getFeature(java.lang.String) возвращает true при передаче этого значения в качестве аргумента, преобразователь поддерживает исходные данные этого типа.

См. также:
Значения константных полей

Конструкторы

StreamSource

public StreamSource()

Конструктор по умолчанию без аргументов. Если используется этот конструктор, и источник потока не задан с помощью setInputStream(java.io.InputStream inputStream) или setReader(java.io.Reader reader), тогда Transformer создаст пустой источник InputStream с помощью new InputStream().

См. также:
Transformer.transform(Source xmlSource, Result outputTarget)

StreamSource

public StreamSource(InputStream inputStream)

Создаёт StreamSource из потока байтов. Обычно следует использовать поток, а не ридер, чтобы парсер XML мог определить кодировку символов, указанную в декларации XML.

Если этот конструктор используется для обработки стилей, обычно также следует вызвать setSystemId, чтобы разрешить относительные ссылки URI.

Параметры:
inputStream - Действительная ссылка на InputStream, содержащая XML-поток.

StreamSource

public StreamSource(InputStream inputStream,
                    String systemId)

Создаёт StreamSource из потока байтов. Обычно следует использовать поток, а не ридер, чтобы парсер XML мог определить кодировку символов, указанную в декларации XML.

Этот конструктор позволяет задать systemID помимо входного потока, что позволяет обрабатывать относительные URI.

Параметры:
inputStream - Действительная ссылка на InputStream, содержащая XML-поток.
systemId - Должен быть строкой, соответствующей синтаксису URI.

StreamSource

public StreamSource(Reader reader)

Создаёт StreamSource из потока символов. Обычно следует использовать поток, а не ридер, чтобы парсер XML мог определить кодировку символов, указанную в декларации XML. Однако во многих случаях кодировка входного потока уже определена, как в случае чтения XML из StringReader.

Параметры:
reader - Действительная ссылка на Reader, содержащая XML-поток символов.

StreamSource

public StreamSource(Reader reader,
                    String systemId)

Создаёт StreamSource из потока символов. Обычно следует использовать поток, а не ридер, чтобы парсер XML мог определить кодировку символов, указанную в декларации XML. Однако во многих случаях кодировка входного потока уже определена, как в случае чтения XML из StringReader.

Параметры:
reader - Действительная ссылка на Reader, содержащая XML-поток символов.
systemId - Должен быть строкой, соответствующей синтаксису URI.

StreamSource

public StreamSource(String systemId)

Создаёт StreamSource из URL.

Параметры:
systemId - Должен быть строкой, соответствующей синтаксису URI.

StreamSource

public StreamSource(File f)

Создаёт StreamSource из файла.

Параметры:
f - Должна быть ссылка на непустой файл.

Методы

setInputStream

public void setInputStream(InputStream inputStream)

Устанавливает поток байтов, который будет использоваться в качестве входных данных. Обычно следует использовать поток, а не ридер, чтобы парсер XML мог определить кодировку символов, указанную в декларации XML.

Если этот объект Source используется для обработки стилей, обычно также следует вызвать setSystemId, чтобы разрешить относительные ссылки URL.

Параметры:
inputStream - Действительная ссылка на InputStream, содержащая XML-поток.

getInputStream

public InputStream getInputStream()

Получить поток байтов, который был установлен с помощью setByteStream.

Возвращает:
Поток байтов, который был установлен с помощью setByteStream, или null, если setByteStream или конструктор ByteStream не вызывались.

setReader

public void setReader(Reader reader)

Устанавливает входной поток символов. Обычно следует использовать поток, а не ридер, чтобы парсер XML мог определить кодировку символов, указанную в декларации XML. Однако во многих случаях кодировка входного потока уже определена, как в случае чтения XML из StringReader.

Параметры:
reader - Действительная ссылка на Reader, содержащая XML-поток символов.

getReader

public Reader getReader()

Получить поток символов, который был установлен с помощью setReader.

Возвращает:
Поток символов, который был установлен с помощью setReader, или null, если setReader или конструктор Reader не вызывались.

setPublicId

public void setPublicId(String publicId)

Установить общественный идентификатор для этого источника.

Общественный идентификатор всегда является необязательным: если создатель приложения включил его, он будет предоставлен в качестве части информации о местоположении.

Параметры:
publicId - Общественный идентификатор в виде строки.

getPublicId

public String getPublicId()

Получить общественный идентификатор, который был установлен с помощью setPublicId.

Возвращает:
Общественный идентификатор, который был установлен с помощью setPublicId, или null, если setPublicId не вызывался.

setSystemId

public void setSystemId(String systemId)

Установить системный идентификатор для этого источника.

Системный идентификатор является необязательным, если есть поток байтов или символов, но его всё равно полезно предоставить, так как приложение может использовать его для разрешения относительных URI и может включить его в сообщения об ошибках и предупреждения (парсер попытается открыть соединение с URI только если не задан поток байтов или символов).

Определено в:
setSystemId в интерфейсе Source
Параметры:
systemId - Системный идентификатор в виде строки URL.

getSystemId

public String getSystemId()

Получить системный идентификатор, который был установлен с помощью setSystemId.

Определено в:
getSystemId в интерфейсе Source
Возвращает:
Системный идентификатор, который был установлен с помощью setSystemId, или null, если setSystemId не вызывался.

setSystemId

public void setSystemId(File f)

Устанавливает системный идентификатор из ссылки на файл.

Параметры:
f - Должна быть ссылка на непустой файл.

isEmpty

public boolean isEmpty()

Указывает, является ли объект StreamSource пустым. Пустым считается следующее:

  • Все источники входных данных, включая общественный идентификатор, системный идентификатор, поток байтов и поток символов, являются null.
  • Общественный идентификатор и системный идентификатор являются null, а потоки байтов и символов либо null или не содержат байтов или символов.

    Обратите внимание, что этот метод сбросит поток байтов, если он указан, или поток символов, если поток байтов не указан.

В случае ошибки при проверке потока байтов или символов метод вернёт false, чтобы позволить обработчику XML обработать ошибку.

Определено в:
isEmpty в интерфейсе Source
Возвращает:
true, если объект StreamSource пуст, false в противном случае

© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/11/docs/api/java.xml/javax/xml/transform/stream/StreamSource.html

Spec-Zone .ru
спецификации, руководства, описания, API