7.3. Bean Access Mode

With the default BeanAccessMode, a bean's fields are not inspected. However, if you specify a different BeanAccessMode, the fields are accessible as part of the bean's properties. See Example 7.6, “Possible BeanAccessMode Definitions”, Example 7.7, “Setting the BeanAccessMode”, and Example 7.8, “The FieldsBean Class” for an implementation.

Example 7.6. Possible BeanAccessMode Definitions

public enum BeanAccessMode {
    STANDARD(BeanInfoCreator.STANDARD), // Getters and Setters
	FIELDS(BeanInfoCreator.FIELDS), // Getters/Setters and fields without getters and setters
	ALL(BeanInfoCreator.ALL); // As above but with non public fields included
}
			
			
			

Here, a String value is set to a private String field:

Example 7.7. Setting the BeanAccessMode

<bean name="FieldsBean" class="org.jboss.demos.ioc.access.FieldsBean" access-mode="ALL">
  <property name="string">InternalString</property>
</bean>
			
			
			

Example 7.8. The FieldsBean Class

public class FieldsBean {
    private String string;
    public void start()
    {
	if (string == null)
	    throw new IllegalArgumentException("Strings should be set!");
    }
}