@Override public void write(WritableByteChannel writableChannel) throws IOException { buffer(); if (getBuffer() != null) { writableChannel.write(ByteBuffer.wrap(getBuffer())); } }
@Override public boolean isAvailable() { try { buffer(); } catch (IOException e) { Context.getCurrentLogger().log(Level.FINER, "Unable to buffer the wrapped representation", e); } return isBuffered(); }
@Override public InputStream getStream() throws IOException { buffer(); return (getBuffer() != null) ? new ByteArrayInputStream(getBuffer()) : null; };
@Override public void write(OutputStream outputStream) throws IOException { buffer(); if (getBuffer() != null) { outputStream.write(getBuffer()); } }
@Override public long getSize() { // Read the content, store it and compute the size. try { buffer(); } catch (IOException e) { Context.getCurrentLogger().log(Level.WARNING, "Unable to buffer the wrapped representation", e); } return (getBuffer() != null) ? getBuffer().length : -1l; }
@Override public String getText() throws IOException { buffer(); if (getBuffer() != null) { return (getCharacterSet() != null) ? new String(getBuffer(), getCharacterSet().toCharset().name()) : new String(getBuffer()); } return null; }