[jboss-dev-forums] [Design the new POJO MicroContainer] - JBMICROCONT-204, isX getter

scott.stark@jboss.org do-not-reply at jboss.com
Thu Aug 30 14:32:06 EDT 2007


boolean1, read: public boolean javabean.BeanWithState.isBoolean1(), write: public void javabean.BeanWithState.setBoolean1(boolean)
boolean2, read: null, write: public void javabean.BeanWithState.setBoolean2(java.lang.Boolean)
I ran into this testing the jca managed objects. The isX form of a getter is not considered for java.lang.Boolean properties, only the primitive boolean type. This apparently is from the javabeans spec (which is old):

"javabeans 1.0.1" wrote : 
  | 8.3.2 Boolean properties
  | In addition, for boolean properties, we allow a getter method to match the pattern:
  | public boolean is();
  | This ?is? method may be provided instead of a ?get? method, or it may be provided in addition to a ?get? method.
  | In either case, if the ?is? method is present for a boolean property then we will use the ?is? method to read the property value.
  | An example boolean property might be:
  | public boolean isMarsupial();
  | public void setMarsupial(boolean m);
  | 

With autoboxing it seems like java.lang.Boolean should also be treated this way as I can use a primitive field without having to explicitly convert it to a Boolean:

  | class Bean
  | {
  |    boolean marsupial;
  |    public Boolean isMarsupial();
  |    public void setMarsupial(Boolean m);
  | }
  | 
  | // user code
  | boolean flag = bean.isMarsupial();
  | 

We are explicitly disallowing the isX getter to be found for a java.lang.Boolean property in AbstractBeanInfoFactory. Was there a problem with allowing this?


View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4079731#4079731

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4079731



More information about the jboss-dev-forums mailing list