package org.basex.io; import java.io.*; import javax.xml.transform.stream.*; import org.basex.io.in.*; import org.xml.sax.*; /** * {@link IO} stream. * * @author BaseX Team 2005-17, BSD License * @author Christian Gruen */ public final class IOStream extends IO { /** Buffered input stream. */ private final BufferInput input; /** * Constructor. * @param is input stream */ public IOStream(final InputStream is) { this(is, ""); } /** * Constructor. * @param is input stream * @param path path */ public IOStream(final InputStream is, final String path) { super(path); input = is instanceof BufferInput ? (BufferInput) is : new BufferInput(is); } @Override public byte[] read() throws IOException { return input.content(); } @Override public InputSource inputSource() { return new InputSource(input); } @Override public StreamSource streamSource() { return new StreamSource(input); } @Override public InputStream inputStream() { return input; } }