<p>Hi,</p>
<p>I agree with respect to parameter validation.</p>
<p>But shouldn&#39;t the validation interceptor also run last for return value validation, that is after all interceptors potentially modifying the return value? That way both contracts (pre- and postconditions) are enforced as closest to their clients (method implementation respectively method caller) as possible. Other interceptors generally couldn&#39;t rely on the correctness of parameters/return values.</p>

<p>The order would then look like that:</p>
<p>...<br>
validate parameters<br>
method call<br>
...<br>
validate return value</p>
<p>--Gunnar</p>
<div class="gmail_quote">Am 26.02.2012 19:28 schrieb &quot;Emmanuel Bernard&quot; &lt;<a href="mailto:emmanuel@hibernate.org">emmanuel@hibernate.org</a>&gt;:<br type="attribution"></div>