Eww, what a horrible name, ProgrammableConfiguration! How about ModifiableConfiguration? DynamicConfiguration? SettableConfiguration?

On Wednesday, February 26, 2003, at 08:27 AM, Jason Carreira wrote:

I checked in the first pass at programmatic configuration. The way it
works is that any class, like DefaultConfiguration, which implements
Configuration can be registered with the ConfigurationFactory. The only
method in the Configuration Interface is (now):

public void init(ProgrammableConfiguration configurationManager) throws
ConfigurationException;

ProgrammableConfiguration is an Interface with this signature:

public interface ProgrammableConfiguration {
    void addPackageContext(String name, PackageContext packageContext);

void removePackageContext(String name);

Set getPackageContextNames();

PackageContext getPackageContext(String name);

Map getPackageContexts();

void reload() throws ConfigurationException;

void buildRuntimeConfiguration();

    Interceptor getInterceptor(String clazz) throws
ConfigurationException;

    void destroy();
}

The configuration implementation (and there are 2 now, the
DefaultConfiguration and SimpleConfiguration which has some hard-coded
configuration for tests) uses the addPackageContext() method to add
configurations as it builds them by whatever means during its init()
method. This is called during the reload() method of
ConfigurationManager (which implements ProgrammableConfiguration) which
also calls buildRuntimeConfiguration() afterwards. The idea here is that
the ProgrammableConfiguration keeps the programmatic configuration and
runtime configuration separate, then builds the runtime from the
programmatic when instructed to do so. This lets you edit the
programmatic configuration without interfering with the runtime
configuration until you're done, then tell it to
buildRuntimeConfiguration().


More on this later. Take a look if you're interested. Comments and
suggestions welcomed.

Jason

--
Jason Carreira
Technical Architect, Notiva Corp.
phone:  585.240.2793
  fax:  585.272.8118
email:  [EMAIL PROTECTED]
---
Notiva - optimizing trade relationships (tm)



-------------------------------------------------------
This SF.net email is sponsored by: Scholarships for Techies!
Can't afford IT training? All 2003 ictp students receive scholarships.
Get hands-on training in Microsoft, Cisco, Sun, Linux/UNIX, and more.
www.ictp.com/training/sourceforge.asp
_______________________________________________
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork




------------------------------------------------------- This SF.net email is sponsored by: Scholarships for Techies! Can't afford IT training? All 2003 ictp students receive scholarships. Get hands-on training in Microsoft, Cisco, Sun, Linux/UNIX, and more. www.ictp.com/training/sourceforge.asp _______________________________________________ Opensymphony-webwork mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork

Reply via email to