<div class="gmail_quote">On Mon, Apr 19, 2010 at 11:50 AM, Pete Muir <span dir="ltr"><<a href="mailto:pmuir@redhat.com">pmuir@redhat.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Ok. I *think* I might get what you are talking about now - you are concerned because the interceptor has to go into the impl/ jar, not the API jar? And that therefore developers are going to forget that it is actually part of the public API? Or?<br>
<br>
Because otherwise, I don't have a clue how putting something in this special intercept package can magically stop people refactoring... If I have<br>
<br>
org.jboss.seam.intercept.ConversationBoundaryInterceptor<br>
<br>
and someone renames it to<br>
<br>
org.jboss.seam.intercept.ConversationEdgeInterceptor<br>
<br>
it's just as broken for users...<br>
<div><div></div><div class="h5"><br></div></div></blockquote><div>That's a great point and now I see this so clearly. Interceptors must be considered part of the public API and a stable API is expected not to shift (for backwards compatibility reasons). It's public API because the develop must refer to the interceptors in beans.xml (according to spec, putting workarounds aside).</div>
<div><br></div><div>If there is a refactoring, it must preserve backwards compatibility through delegation (Seam 2 did this to prevent similar breakage in configuration files).</div><div><br></div><div>So I guess the real issue at hand is...the consistent packaging of interceptors is really about making the <interceptors> element as simple as possible by making all the interceptors classes have the same number of package segments. That need may or may not be contrived. I haven't stood in the shoes of the developer yet being required to list out a bunch of interceptor classes.</div>
<div><br></div><div>-Dan</div><div> </div></div>-- <br>Dan Allen<br>Senior Software Engineer, Red Hat | Author of Seam in Action<br>Registered Linux User #231597<br><br><a href="http://mojavelinux.com">http://mojavelinux.com</a><br>
<a href="http://mojavelinux.com/seaminaction">http://mojavelinux.com/seaminaction</a><br><a href="http://www.google.com/profiles/dan.j.allen">http://www.google.com/profiles/dan.j.allen</a><br>