<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">
<HTML>
<HEAD>
  <META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=UTF-8">
  <META NAME="GENERATOR" CONTENT="GtkHTML/3.26.0">
</HEAD>
<BODY>
I just ran across this when using the Builder pattern in some Pojos -- each setter returns the current instance of the pojo to allow for chaining set-statements:<BR>
<BR>
Pojo pojo = pojo.setName(&quot;name&quot;).setValue(23);<BR>
<BR>
With setters implemented like so:<BR>
<BR>
&nbsp;&nbsp;&nbsp; public Project setName(final String name)<BR>
&nbsp;&nbsp;&nbsp; {<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.name = name;<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return this;<BR>
&nbsp;&nbsp;&nbsp; }<BR>
<BR>
But JSF complains:<BR>
javax.servlet.ServletException: javax.el.PropertyNotFoundException: /faces/page.xhtml @36,20 value=&quot;#{pageBean.pojo.name}&quot;: Property 'name' not writable on type java.lang.String<BR>
<BR>
It seems to me that this is a slightly harsh restriction. Is there anything we can/should do about this? Does anyone else feel it's worth mentioning?<BR>
<BR>
The obvious answer is to use dumb getter/setter methods, but in some cases that can be restrictive, and I like the idea of being more forgiving.<BR>
<BR>
Thoughts?<BR>
<BR>
--Lincoln
</BODY>
</HTML>