I apologize in advance for asking what may turn out to be a rudimentary question, but I've done a lot of searchiing around and though I have some hunches, I don't have a definitive answer.
What I'm wondering is, is where the mapping occurs when a JSP calls an attribute of a given bean. For example, consider the following snippet:
I've checked the AddContentWizard class and it does not have a property called stepTitle. As far as I can tell it seems to be calling the AddContentWizard.getStepTitle method.
If this is the case, I'd like to know: 1) where stepTitle the attribute gets mapped to getStepTitle the method or if I'm entirely misguided about the mapping technique that's in use here. 2) (assuming my mapping hunch is correct) what would be the syntax for passing arguments from the jsp to the method. 3) (again, assuming my mapping hunch is correct) can the return type be anything other than a String?
The mapping you are talking about is the standard Java Bean property/method mapping syntax. Both JavaServerFaces (the underlying technology we use for our web-client UI) and most other Java frameworks (such as Spring, Struts etc.) use the Java Bean property syntax for referencing values and methods on an Java object. Internally the mapping is converting say the syntax:
"bean.value"
into a Java method call:
bean.getValue()
The call is executed via the Java Reflection API.
So pretty much as you guessed
There is a file in the web-client called faces-config-beans.xml that contains the bean name mappings to actual Java class file implementations. If you take a look in that file you'll see what i mean.
The return type can be any Java object supported by the component that you are binding the value into. Mostly this will be String, as that's what most UI components deal with, but it can be any object type.