Food for thought....

I have a class that looks roughly like this:

public class Person implements Serializable {
String firstName;
String lastName;

public void setFirstName(String firstName) {
this.firstName = firstName;
}

public void setLastName(String lastName) {
this.lastName = lastName;
}

public String getFullName() {
return this.firstname + " " + this.lastName;
}
}

There is a getter method for a "fullName" property that doesn't exist. Is this a valid JavaBean? Or a design flaw?


Erik



Durham David Cntr 805CSS/SCBE wrote:
Still haven't received much on this.  Guess no one is interested.

Some additional comments on this to attempt to get someone to bite, then I will take this to a different, probably more appropriate forum.

It seems that given a getter/setter method you can determine a property name, but not visa versa.  Seems backwards.  In other words the domain of property names does not have a one to one mapping to the domain of getter/setter names.  Concretely, if you had a property of "xOffset" there is no getter / setter name that corresponds to it(?).  Kinda limited.  I guess this would qualify as a design flaw?

Dave


-----Original Message-----
From: Craig R. McClanahan [mailto:[EMAIL PROTECTED]]
Sent: Friday, February 14, 2003 5:28 PM
To: Jakarta Commons Users List
Subject: Re: [Digester] SetPropertiesRule




On Fri, 14 Feb 2003, Durham David Cntr 805CSS/SCBE wrote:


Date: Fri, 14 Feb 2003 15:57:28 -0600
From: Durham David Cntr 805CSS/SCBE <[EMAIL PROTECTED]>
Reply-To: Jakarta Commons Users List
<[EMAIL PROTECTED]>

To: [EMAIL PROTECTED]
Subject: [Digester] SetPropertiesRule

Having a problem with digester.setProperties(String).

I have the following xml doc:

<root>
<element xOffset="squadron"/>
</root>


The property does not get set in the bean unless the "x" in
xOffset is

capitalized, i.e., "XOffset" which doesn't seem right.

Is this a bug?

No, it's not. Welcome to the wonderful world of the JavaBeans rules on
converting property names to getter and setter method names.

Normally, property names are expressed in "mixedCase" style, starting with
a lower case letter, and this would get converted into a call on a
setMixedCase() method. For property names where the getter/setter method
is all upper case (i.e. getURL/setURL), there are some special rules; this
is also true when the first capital is in the second position (as it is in
your case).

The details of the naming patterns are in the JavaBeans Specification,
which you can get from:

http://java.sun.com/products/javabeans/

Craig

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to