blob: ad49e7407c64186f1d0dc76c39f18416f0d4e92e [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (version 1.7.0_80) on Wed Jun 07 15:10:54 EDT 2017 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>AfterContentTransformer (Jetty :: Project 9.2.22.v20170606 API)</title>
<meta name="date" content="2017-06-07">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="AfterContentTransformer (Jetty :: Project 9.2.22.v20170606 API)";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!-- -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/AfterContentTransformer.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><em><script type="text/javascript"> var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-1149868-7']); _gaq.push(['_trackPageview']); (function() { var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); })(); </script></em></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/eclipse/jetty/proxy/AbstractProxyServlet.TransparentDelegate.html" title="class in org.eclipse.jetty.proxy"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../org/eclipse/jetty/proxy/AfterContentTransformer.Sink.html" title="class in org.eclipse.jetty.proxy"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/eclipse/jetty/proxy/AfterContentTransformer.html" target="_top">Frames</a></li>
<li><a href="AfterContentTransformer.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested_class_summary">Nested</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.eclipse.jetty.proxy</div>
<h2 title="Class AfterContentTransformer" class="title">Class AfterContentTransformer</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>org.eclipse.jetty.proxy.AfterContentTransformer</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="../../../../org/eclipse/jetty/proxy/AsyncMiddleManServlet.ContentTransformer.html" title="interface in org.eclipse.jetty.proxy">AsyncMiddleManServlet.ContentTransformer</a>, <a href="../../../../org/eclipse/jetty/util/component/Destroyable.html" title="interface in org.eclipse.jetty.util.component">Destroyable</a></dd>
</dl>
<hr>
<br>
<pre>public abstract class <span class="strong">AfterContentTransformer</span>
extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
implements <a href="../../../../org/eclipse/jetty/proxy/AsyncMiddleManServlet.ContentTransformer.html" title="interface in org.eclipse.jetty.proxy">AsyncMiddleManServlet.ContentTransformer</a>, <a href="../../../../org/eclipse/jetty/util/component/Destroyable.html" title="interface in org.eclipse.jetty.util.component">Destroyable</a></pre>
<div class="block"><p>A specialized transformer for <a href="../../../../org/eclipse/jetty/proxy/AsyncMiddleManServlet.html" title="class in org.eclipse.jetty.proxy"><code>AsyncMiddleManServlet</code></a> that performs
the transformation when the whole content has been received.</p>
<p>The content is buffered in memory up to a configurable <a href="../../../../org/eclipse/jetty/proxy/AfterContentTransformer.html#getMaxInputBufferSize()"><code>maximum size</code></a>,
after which it is overflown to a file on disk. The overflow file is saved
in the <a href="../../../../org/eclipse/jetty/proxy/AfterContentTransformer.html#getOverflowDirectory()"><code>overflow directory</code></a> as a
<a href="http://docs.oracle.com/javase/7/docs/api/java/nio/file/Files.html?is-external=true#createTempFile(java.nio.file.Path,%20java.lang.String,%20java.lang.String,%20java.nio.file.attribute.FileAttribute...)" title="class or interface in java.nio.file"><code>temporary file</code></a>
with a name starting with the <a href="../../../../org/eclipse/jetty/proxy/AfterContentTransformer.html#getInputFilePrefix()"><code>input prefix</code></a>
and default suffix.</p>
<p>Application must implement the <a href="../../../../org/eclipse/jetty/proxy/AfterContentTransformer.html#transform(org.eclipse.jetty.proxy.AfterContentTransformer.Source,%20org.eclipse.jetty.proxy.AfterContentTransformer.Sink)"><code>transformation method</code></a>
to transform the content.</p>
<p>The transformed content is buffered in memory up to a configurable <a href="../../../../org/eclipse/jetty/proxy/AfterContentTransformer.html#getMaxOutputBufferSize()"><code>maximum size</code></a>
after which it is overflown to a file on disk. The overflow file is saved
in the <a href="../../../../org/eclipse/jetty/proxy/AfterContentTransformer.html#getOverflowDirectory()"><code>overflow directory</code></a> as a
<a href="http://docs.oracle.com/javase/7/docs/api/java/nio/file/Files.html?is-external=true#createTempFile(java.nio.file.Path,%20java.lang.String,%20java.lang.String,%20java.nio.file.attribute.FileAttribute...)" title="class or interface in java.nio.file"><code>temporary file</code></a>
with a name starting with the <a href="../../../../org/eclipse/jetty/proxy/AfterContentTransformer.html#getOutputFilePrefix()"><code>getOutputFilePrefix()</code></a> output prefix}
and default suffix.</p></div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="nested_class_summary">
<!-- -->
</a>
<h3>Nested Class Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Class and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>class&nbsp;</code></td>
<td class="colLast"><code><strong><a href="../../../../org/eclipse/jetty/proxy/AfterContentTransformer.Sink.html" title="class in org.eclipse.jetty.proxy">AfterContentTransformer.Sink</a></strong></code>
<div class="block">The target to where the transformed content is written after the transformation.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>class&nbsp;</code></td>
<td class="colLast"><code><strong><a href="../../../../org/eclipse/jetty/proxy/AfterContentTransformer.Source.html" title="class in org.eclipse.jetty.proxy">AfterContentTransformer.Source</a></strong></code>
<div class="block">The source from where the original content is read to be transformed.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field_summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<ul class="blockList">
<li class="blockList"><a name="fields_inherited_from_class_org.eclipse.jetty.proxy.AsyncMiddleManServlet.ContentTransformer">
<!-- -->
</a>
<h3>Fields inherited from interface&nbsp;org.eclipse.jetty.proxy.<a href="../../../../org/eclipse/jetty/proxy/AsyncMiddleManServlet.ContentTransformer.html" title="interface in org.eclipse.jetty.proxy">AsyncMiddleManServlet.ContentTransformer</a></h3>
<code><a href="../../../../org/eclipse/jetty/proxy/AsyncMiddleManServlet.ContentTransformer.html#IDENTITY">IDENTITY</a></code></li>
</ul>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><strong><a href="../../../../org/eclipse/jetty/proxy/AfterContentTransformer.html#AfterContentTransformer()">AfterContentTransformer</a></strong>()</code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method_summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/eclipse/jetty/proxy/AfterContentTransformer.html#destroy()">destroy</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/eclipse/jetty/proxy/AfterContentTransformer.html#getInputFilePrefix()">getInputFilePrefix</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><strong><a href="../../../../org/eclipse/jetty/proxy/AfterContentTransformer.html#getMaxInputBufferSize()">getMaxInputBufferSize</a></strong>()</code>
<div class="block">Returns the maximum input buffer size, after which the input is overflown to disk.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><strong><a href="../../../../org/eclipse/jetty/proxy/AfterContentTransformer.html#getMaxOutputBufferSize()">getMaxOutputBufferSize</a></strong>()</code>
<div class="block">Returns the maximum output buffer size, after which the output is overflown to disk.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/eclipse/jetty/proxy/AfterContentTransformer.html#getOutputFilePrefix()">getOutputFilePrefix</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/nio/file/Path.html?is-external=true" title="class or interface in java.nio.file">Path</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/eclipse/jetty/proxy/AfterContentTransformer.html#getOverflowDirectory()">getOverflowDirectory</a></strong>()</code>
<div class="block">Returns the directory where input and output are overflown to
temporary files if they exceed, respectively, the
<a href="../../../../org/eclipse/jetty/proxy/AfterContentTransformer.html#getMaxInputBufferSize()"><code>max input size</code></a> or the
<a href="../../../../org/eclipse/jetty/proxy/AfterContentTransformer.html#getMaxOutputBufferSize()"><code>max output size</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/eclipse/jetty/proxy/AfterContentTransformer.html#setInputFilePrefix(java.lang.String)">setInputFilePrefix</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;inputFilePrefix)</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/eclipse/jetty/proxy/AfterContentTransformer.html#setMaxInputBufferSize(long)">setMaxInputBufferSize</a></strong>(long&nbsp;maxInputBufferSize)</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/eclipse/jetty/proxy/AfterContentTransformer.html#setMaxOutputBufferSize(long)">setMaxOutputBufferSize</a></strong>(long&nbsp;maxOutputBufferSize)</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/eclipse/jetty/proxy/AfterContentTransformer.html#setOutputFilePrefix(java.lang.String)">setOutputFilePrefix</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;outputFilePrefix)</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/eclipse/jetty/proxy/AfterContentTransformer.html#setOverflowDirectory(java.nio.file.Path)">setOverflowDirectory</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/nio/file/Path.html?is-external=true" title="class or interface in java.nio.file">Path</a>&nbsp;overflowDirectory)</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>abstract boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../org/eclipse/jetty/proxy/AfterContentTransformer.html#transform(org.eclipse.jetty.proxy.AfterContentTransformer.Source,%20org.eclipse.jetty.proxy.AfterContentTransformer.Sink)">transform</a></strong>(<a href="../../../../org/eclipse/jetty/proxy/AfterContentTransformer.Source.html" title="class in org.eclipse.jetty.proxy">AfterContentTransformer.Source</a>&nbsp;source,
<a href="../../../../org/eclipse/jetty/proxy/AfterContentTransformer.Sink.html" title="class in org.eclipse.jetty.proxy">AfterContentTransformer.Sink</a>&nbsp;sink)</code>
<div class="block">Transforms the original content read from the <code>source</code> into
transformed content written to the <code>sink</code>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/eclipse/jetty/proxy/AfterContentTransformer.html#transform(java.nio.ByteBuffer,%20boolean,%20java.util.List)">transform</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;input,
boolean&nbsp;finished,
<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&gt;&nbsp;output)</code>
<div class="block">Transforms the given input byte buffers into (possibly multiple) byte buffers.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long,%20int)" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="AfterContentTransformer()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>AfterContentTransformer</h4>
<pre>public&nbsp;AfterContentTransformer()</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="getOverflowDirectory()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getOverflowDirectory</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/nio/file/Path.html?is-external=true" title="class or interface in java.nio.file">Path</a>&nbsp;getOverflowDirectory()</pre>
<div class="block"><p>Returns the directory where input and output are overflown to
temporary files if they exceed, respectively, the
<a href="../../../../org/eclipse/jetty/proxy/AfterContentTransformer.html#getMaxInputBufferSize()"><code>max input size</code></a> or the
<a href="../../../../org/eclipse/jetty/proxy/AfterContentTransformer.html#getMaxOutputBufferSize()"><code>max output size</code></a>.</p>
<p>Defaults to the directory pointed by the <code>java.io.tmpdir</code>
system property.</p></div>
<dl><dt><span class="strong">Returns:</span></dt><dd>the overflow directory path</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/eclipse/jetty/proxy/AfterContentTransformer.html#setOverflowDirectory(java.nio.file.Path)"><code>setOverflowDirectory(Path)</code></a></dd></dl>
</li>
</ul>
<a name="setOverflowDirectory(java.nio.file.Path)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setOverflowDirectory</h4>
<pre>public&nbsp;void&nbsp;setOverflowDirectory(<a href="http://docs.oracle.com/javase/7/docs/api/java/nio/file/Path.html?is-external=true" title="class or interface in java.nio.file">Path</a>&nbsp;overflowDirectory)</pre>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>overflowDirectory</code> - the overflow directory path</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/eclipse/jetty/proxy/AfterContentTransformer.html#getOverflowDirectory()"><code>getOverflowDirectory()</code></a></dd></dl>
</li>
</ul>
<a name="getInputFilePrefix()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getInputFilePrefix</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getInputFilePrefix()</pre>
<dl><dt><span class="strong">Returns:</span></dt><dd>the prefix of the input overflow temporary files</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/eclipse/jetty/proxy/AfterContentTransformer.html#setInputFilePrefix(java.lang.String)"><code>setInputFilePrefix(String)</code></a></dd></dl>
</li>
</ul>
<a name="setInputFilePrefix(java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setInputFilePrefix</h4>
<pre>public&nbsp;void&nbsp;setInputFilePrefix(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;inputFilePrefix)</pre>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>inputFilePrefix</code> - the prefix of the input overflow temporary files</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/eclipse/jetty/proxy/AfterContentTransformer.html#getInputFilePrefix()"><code>getInputFilePrefix()</code></a></dd></dl>
</li>
</ul>
<a name="getMaxInputBufferSize()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMaxInputBufferSize</h4>
<pre>public&nbsp;long&nbsp;getMaxInputBufferSize()</pre>
<div class="block"><p>Returns the maximum input buffer size, after which the input is overflown to disk.</p>
<p>Defaults to 1 MiB, i.e. 1048576 bytes.</p></div>
<dl><dt><span class="strong">Returns:</span></dt><dd>the max input buffer size</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/eclipse/jetty/proxy/AfterContentTransformer.html#setMaxInputBufferSize(long)"><code>setMaxInputBufferSize(long)</code></a></dd></dl>
</li>
</ul>
<a name="setMaxInputBufferSize(long)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setMaxInputBufferSize</h4>
<pre>public&nbsp;void&nbsp;setMaxInputBufferSize(long&nbsp;maxInputBufferSize)</pre>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>maxInputBufferSize</code> - the max input buffer size</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/eclipse/jetty/proxy/AfterContentTransformer.html#getMaxInputBufferSize()"><code>getMaxInputBufferSize()</code></a></dd></dl>
</li>
</ul>
<a name="getOutputFilePrefix()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getOutputFilePrefix</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getOutputFilePrefix()</pre>
<dl><dt><span class="strong">Returns:</span></dt><dd>the prefix of the output overflow temporary files</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/eclipse/jetty/proxy/AfterContentTransformer.html#setOutputFilePrefix(java.lang.String)"><code>setOutputFilePrefix(String)</code></a></dd></dl>
</li>
</ul>
<a name="setOutputFilePrefix(java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setOutputFilePrefix</h4>
<pre>public&nbsp;void&nbsp;setOutputFilePrefix(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;outputFilePrefix)</pre>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>outputFilePrefix</code> - the prefix of the output overflow temporary files</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/eclipse/jetty/proxy/AfterContentTransformer.html#getOutputFilePrefix()"><code>getOutputFilePrefix()</code></a></dd></dl>
</li>
</ul>
<a name="getMaxOutputBufferSize()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMaxOutputBufferSize</h4>
<pre>public&nbsp;long&nbsp;getMaxOutputBufferSize()</pre>
<div class="block"><p>Returns the maximum output buffer size, after which the output is overflown to disk.</p>
<p>Defaults to 1 MiB, i.e. 1048576 bytes.</p></div>
<dl><dt><span class="strong">Returns:</span></dt><dd>the max output buffer size</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/eclipse/jetty/proxy/AfterContentTransformer.html#setMaxOutputBufferSize(long)"><code>setMaxOutputBufferSize(long)</code></a></dd></dl>
</li>
</ul>
<a name="setMaxOutputBufferSize(long)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setMaxOutputBufferSize</h4>
<pre>public&nbsp;void&nbsp;setMaxOutputBufferSize(long&nbsp;maxOutputBufferSize)</pre>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>maxOutputBufferSize</code> - the max output buffer size</dd></dl>
</li>
</ul>
<a name="transform(java.nio.ByteBuffer, boolean, java.util.List)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>transform</h4>
<pre>public final&nbsp;void&nbsp;transform(<a href="http://docs.oracle.com/javase/7/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;input,
boolean&nbsp;finished,
<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&gt;&nbsp;output)
throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../org/eclipse/jetty/proxy/AsyncMiddleManServlet.ContentTransformer.html#transform(java.nio.ByteBuffer,%20boolean,%20java.util.List)">AsyncMiddleManServlet.ContentTransformer</a></code></strong></div>
<div class="block"><p>Transforms the given input byte buffers into (possibly multiple) byte buffers.</p>
<p>The transformation must happen synchronously in the context of a call
to this method (it is not supported to perform the transformation in another
thread spawned during the call to this method).
The transformation may happen or not, depending on the transformer implementation.
For example, a buffering transformer may buffer the input aside, and only
perform the transformation when the whole input is provided (by looking at the
<code>finished</code> flag).</p>
<p>The input buffer will be cleared and reused after the call to this method.
Implementations that want to buffer aside the input (or part of it) must copy
the input bytes that they want to buffer.</p>
<p>Typical implementations:</p>
<pre>
// Identity transformation (no transformation, the input is copied to the output)
public void transform(ByteBuffer input, boolean finished, List<ByteBuffer> output)
{
output.add(input);
}
// Discard transformation (all input is discarded)
public void transform(ByteBuffer input, boolean finished, List<ByteBuffer> output)
{
// Empty
}
// Buffering identity transformation (all input is buffered aside until it is finished)
public void transform(ByteBuffer input, boolean finished, List<ByteBuffer> output)
{
ByteBuffer copy = ByteBuffer.allocate(input.remaining());
copy.put(input).flip();
store(copy);
if (finished)
{
List&lt;ByteBuffer&gt; copies = retrieve();
output.addAll(copies);
}
}
</pre></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/eclipse/jetty/proxy/AsyncMiddleManServlet.ContentTransformer.html#transform(java.nio.ByteBuffer,%20boolean,%20java.util.List)">transform</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/eclipse/jetty/proxy/AsyncMiddleManServlet.ContentTransformer.html" title="interface in org.eclipse.jetty.proxy">AsyncMiddleManServlet.ContentTransformer</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>input</code> - the input content to transform (may be of length zero)</dd><dd><code>finished</code> - whether the input content is finished or more will come</dd><dd><code>output</code> - where to put the transformed output content</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - in case of transformation failures</dd></dl>
</li>
</ul>
<a name="transform(org.eclipse.jetty.proxy.AfterContentTransformer.Source, org.eclipse.jetty.proxy.AfterContentTransformer.Sink)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>transform</h4>
<pre>public abstract&nbsp;boolean&nbsp;transform(<a href="../../../../org/eclipse/jetty/proxy/AfterContentTransformer.Source.html" title="class in org.eclipse.jetty.proxy">AfterContentTransformer.Source</a>&nbsp;source,
<a href="../../../../org/eclipse/jetty/proxy/AfterContentTransformer.Sink.html" title="class in org.eclipse.jetty.proxy">AfterContentTransformer.Sink</a>&nbsp;sink)
throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block"><p>Transforms the original content read from the <code>source</code> into
transformed content written to the <code>sink</code>.</p>
<p>The transformation must happen synchronously in the context of a call
to this method (it is not supported to perform the transformation in another
thread spawned during the call to this method).</p>
<p>Differently from <a href="../../../../org/eclipse/jetty/proxy/AfterContentTransformer.html#transform(java.nio.ByteBuffer,%20boolean,%20java.util.List)"><code>transform(ByteBuffer, boolean, List)</code></a>, this
method is invoked only when the whole content is available, and offers
a blocking API via the InputStream and OutputStream that can be obtained
from <a href="../../../../org/eclipse/jetty/proxy/AfterContentTransformer.Source.html" title="class in org.eclipse.jetty.proxy"><code>AfterContentTransformer.Source</code></a> and <a href="../../../../org/eclipse/jetty/proxy/AfterContentTransformer.Sink.html" title="class in org.eclipse.jetty.proxy"><code>AfterContentTransformer.Sink</code></a> respectively.</p>
<p>Implementations may read the source, inspect the input bytes and decide
that no transformation is necessary, and therefore the source must be copied
unchanged to the sink. In such case, the implementation must return false to
indicate that it wishes to just pipe the bytes from the source to the sink.</p>
<p>Typical implementations:</p>
<pre>
// Identity transformation (no transformation, the input is copied to the output)
public boolean transform(Source source, Sink sink)
{
org.eclipse.jetty.util.IO.copy(source.getInputStream(), sink.getOutputStream());
return true;
}
</pre></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>source</code> - where the original content is read</dd><dd><code>sink</code> - where the transformed content is written</dd>
<dt><span class="strong">Returns:</span></dt><dd>true if the transformation happened and the transformed bytes have
been written to the sink, false if no transformation happened and the source
must be copied to the sink.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if the transformation fails</dd></dl>
</li>
</ul>
<a name="destroy()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>destroy</h4>
<pre>public&nbsp;void&nbsp;destroy()</pre>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/eclipse/jetty/util/component/Destroyable.html#destroy()">destroy</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/eclipse/jetty/util/component/Destroyable.html" title="interface in org.eclipse.jetty.util.component">Destroyable</a></code></dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar_bottom">
<!-- -->
</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/AfterContentTransformer.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><em><script type="text/javascript"> var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-1149868-7']); _gaq.push(['_trackPageview']); (function() { var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); })(); </script></em></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/eclipse/jetty/proxy/AbstractProxyServlet.TransparentDelegate.html" title="class in org.eclipse.jetty.proxy"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../org/eclipse/jetty/proxy/AfterContentTransformer.Sink.html" title="class in org.eclipse.jetty.proxy"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/eclipse/jetty/proxy/AfterContentTransformer.html" target="_top">Frames</a></li>
<li><a href="AfterContentTransformer.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested_class_summary">Nested</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 1995-2017 <a href="http://webtide.com">Webtide</a>. All Rights Reserved.</small></p>
</body>
</html>