On Wed, Mar 31, 2010 at 3:45 PM, Marius Bogoevici <
marius.bogoevici(a)gmail.com> wrote:
Hi,
Looking at:
http://www.seamframework.org/Community/ScalaJSF20OnJboss6DeploymentError -
the discussion originated in a Scala issue, but, in a more general way, a
class like this:
@SessionScoped
public class ElusiveClass
{
public void publicBehaviour() {}
private final privateBehaviour() {}
}
is not proxyable, according to 5.4.1. I wonder if it makes sense to change
this in a future revision of the spec, by saying that a proxyable class must
not have final methods, *except for the private ones*.
I don't think that relaxing the conditions in this way would undermine the
intent of 5.4.1 as it stands now, since those methods cannot be
overridden/proxified anyway.
WDYT?
I agree. From an implementation perspective, you could even argue that it
was assumed that the statement did not apply to private methods, since it
would be difficult (impossible?) to assert that private methods were
affected by the proxying anyway. I think we should take the leeway and just
allow it in Weld.
-Dan
--
Dan Allen
Senior Software Engineer, Red Hat | Author of Seam in Action
Registered Linux User #231597
http://mojavelinux.com
http://mojavelinux.com/seaminaction
http://www.google.com/profiles/dan.j.allen