Dear Wiki user, You have subscribed to a wiki page or wiki category on "James Wiki" for change notification.
The following page has been changed by SergeyLubinskiy: http://wiki.apache.org/james/SummerOfCode2005/SergeyLubinskiyFastFail/ProtocolLet ------------------------------------------------------------------------------ Follows [http://www.picocontainer.org/Setter+Injection Setter Injection] pattern for receiving both configuration parameters and [http://loom.codehaus.org/Component+layers Phoenix Blocks] they depend upon. - For a given _ProtocolLet_ class [wiki:../SergeyLubinskiyFastFail New SMTP Block] is able to automatically deduct its + For each of its subordinate ProtocolLet -s [:../: New SMTP Block] is able to automatically deduct - * XML format for serializing its configuration to/from + * XML format for serializing/deserializing its configuration - * [http://docs.jboss.org/jbossas/javadoc/3.2.7/jmx/javax/management/openmbean/OpenType.html JMX Open Type Descriptor] to serialize its configuration to/from + * [http://docs.jboss.org/jbossas/javadoc/3.2.7/jmx/javax/management/openmbean/OpenType.html JMX Open Type Descriptor] to serialize/deserialize its configuration * list of [http://loom.codehaus.org/Component+layers Phoenix Blocks] it depends on - by introspecting its setter/getter methods. + by introspecting getter/setter methods of the implementation class + TODO: choose a way to distinguish setters for injecting configuration values from those for injecting dependencies. Alternative approaches are: + * use some naming convention, like {{{injectFoo}}}, {{{setFooDependency}}} + * for Java 1.5 use annotations + * use metadata files, like .xinfo + * consider that every setter coupled with getter is a configuration value and every one without is a dependency +