Changed return type of add/removeConfigurationListener().

The methods no longer support method chaining (this is difficult to implement
over the hierarchy of builders anyway). Instead, they use the same return
values as the methods from EventSource.

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/configuration/trunk@1612658 13f79535-47bb-0310-9956-ffa450edef68
Simplified BuilderConfigurationWrapperFactory.

Because the methods in configuration builders now have the same return values
as the corresponding event source methods, no conversion of return values is
necessary.

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/configuration/trunk@1612660 13f79535-47bb-0310-9956-ffa450edef68
Added EventListenerProvider interface.

This is a special parameters interface for initializing a configuration
builder with information about event listener registrations.

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/configuration/trunk@1612661 13f79535-47bb-0310-9956-ffa450edef68
Added new EventListenerParameters class.

This is an implementation of the EventListenerProvider interface providing a
convenient API to define the event listeners of a configuration builder.
Instances of this class can be passed to a builder's configure() method.

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/configuration/trunk@1612662 13f79535-47bb-0310-9956-ffa450edef68
BasicConfigurationBuilder now support the EventListenerProvider interface.

If a parameters object passed to the configure() method implements this
interface, the listeners it contains are added to the configuration builder.

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/configuration/trunk@1612664 13f79535-47bb-0310-9956-ffa450edef68
Changed return type of ConfigurationBuilder.removeEventListener().

The method signature is now in-line with other event listener methods.

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/configuration/trunk@1612665 13f79535-47bb-0310-9956-ffa450edef68
ConfigurationBuilder now extends the EventSource interface.

This caused some adaptations in BasicConfigurationBuilder and derived classes.
BuilderConfigurationWrapperFactory had to be slightly modified again.

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/configuration/trunk@1612666 13f79535-47bb-0310-9956-ffa450edef68
ReloadingController now implements EventSource.

Now all sources for events in Commons Configuration can be accessed in a
uniform way.

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/configuration/trunk@1612667 13f79535-47bb-0310-9956-ffa450edef68
Added an introduction section about event sources.

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/configuration/trunk@1612668 13f79535-47bb-0310-9956-ffa450edef68
Added a section about the hierarchy of events and reworked sectio about configuration events.

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/configuration/trunk@1612669 13f79535-47bb-0310-9956-ffa450edef68
Reworked the example aboout a logging event listener.

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/configuration/trunk@1612670 13f79535-47bb-0310-9956-ffa450edef68
Reworked the subsection about error listeners.

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/configuration/trunk@1612671 13f79535-47bb-0310-9956-ffa450edef68
Changed test fields in TestConstantLookup.

The test class now defines its own constants which are read by test cases
rather than relying on fields from other classes.

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/configuration/trunk@1612672 13f79535-47bb-0310-9956-ffa450edef68
Removed unused fields in AbstractConfiguration.

Most of them are event type constants which are replaced by new constants
in event classes. Javadoc comments referring to these fields have been
updated, too.

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/configuration/trunk@1612673 13f79535-47bb-0310-9956-ffa450edef68
Removed unused constants from hierarchical configuration classes.

These are constants related to event types which have been replaced by
corresponding fields in ConfigurationEvent.

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/configuration/trunk@1612674 13f79535-47bb-0310-9956-ffa450edef68
Removed deprecated members from ConfigurationEvent.

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/configuration/trunk@1612675 13f79535-47bb-0310-9956-ffa450edef68
Removed deprecated constructor from ConfigurationErrorEvent.

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/configuration/trunk@1612676 13f79535-47bb-0310-9956-ffa450edef68
Prevented TestXMLPropertiesConfiguration to access the internet.

A test case used to load a configuration file which references a DTD. This
caused an internet access. Now an entity resolver is set to avoid this.

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/configuration/trunk@1612678 13f79535-47bb-0310-9956-ffa450edef68
Deprecated methods for handling configuration listeners.

The goal is that BasicConfigurationBuilder only provides the methods from the
EventSource interface for handling event listeners. This makes the API more
stringent and reduces confusion. Because of the filtering by event types it is
no problem to add listeners to managed configurations which they do not
support.

Currently some tests are failing and have been @Ignored.

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/configuration/trunk@1612679 13f79535-47bb-0310-9956-ffa450edef68
Moved fetchSuperEventTypes() method to EventType.

It makes sense to have this useful utility method at a central place. The new
version has the advantage that it is null-safe.

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/configuration/trunk@1612680 13f79535-47bb-0310-9956-ffa450edef68