package org.basex.io; import java.io.ByteArrayInputStream; import org.basex.io.in.ArrayInput; import org.basex.io.in.BufferInput; import org.basex.util.Token; import org.xml.sax.InputSource; /** * {@link IO} reference, representing a byte array. * * @author BaseX Team 2005-12, BSD License * @author Christian Gruen */ public final class IOContent extends IO { /** Content. */ private final byte[] cont; /** * Constructor. * @param c contents */ public IOContent(final byte[] c) { this(c, ""); } /** * Constructor. * @param c contents * @param p content path */ public IOContent(final byte[] c, final String p) { super(p); cont = c; } @Override public byte[] read() { return cont; } @Override public long length() { return cont.length; } @Override public InputSource inputSource() { return new InputSource(new ByteArrayInputStream(cont)); } @Override public BufferInput buffer() { return new ArrayInput(cont); } @Override public IO merge(final String f) { return IO.get(f); } @Override public String toString() { return Token.string(cont); } }