Lets say I have an input field in a page
| <h:inputText value="#{someEntity.someProperty}"/>
| <h:commandButton actionListener="#{foo.submit}"/>
|
| @Stateful
| @Name("foo")
| public class foo {
|
| @In(required=false)
| SomeEntity someEntity;
|
| @Logger
| Log log;
|
| public void submit() {
| if (someEntity != null) {
| log.debug("Entity IS NOT NULL");
| else {
| log.debug("Entity IS NULL");
| }
| }
|
Since I am referencing a property of someEntity in my page, the entity is automatically
instantiated using its no arg constructor, even though I have not specified
@In(create=true), correct? There is never a case where someEntity will be null.
I have a page where I have a number of these types of inputs that are optional. Even if I
do not enter anything in the input component and its the only component that refers to a
particular entity, I still get non null values when the entity is submitted. All of the
properties of the entity are null but the object itself has been created by Seam.
I end up having to do this instead
public void submit() {
| if (someEntity.someProperty != null) {
| log.debug("Entity's Property IS NOT NULL");
| else {
| log.debug("Entity's Property IS NULL");
| }
| }
I understand this behavior but it just seems a little counter intuitive to someone trying
to learn the basics of bijection.
I am just making sure I understand it. So am I going to have to check properties like
this to clarify if an object is "functionally null" (all properties are null)?
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4090313#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...