Initial implementation of EventType.

An EventType instance represents a specific type of an event generated by the
[configuration] library. It also stores a super event type, allowing events to
form a hierarchical structure.

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/configuration/trunk@1596012 13f79535-47bb-0310-9956-ffa450edef68
Added a new base class for all events generated by this library.

This class already defines some properties common to all derived events.

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/configuration/trunk@1596013 13f79535-47bb-0310-9956-ffa450edef68
Added bounds for type parameter in EventType.

The generic type must at least be an Event.

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

This is a generic interface for reacting on all kinds of events generated by
the [configuration] library.

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

This is a utility class for managing event listeners. An event listener
registration consists of a listener and an event type. Events can be fired,
and the listeners registered for this type (or super types) are automatically
invoked. Listener regstrations are type-safe.

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

This is the new base class for all events related to configuration builders.

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/configuration/trunk@1596018 13f79535-47bb-0310-9956-ffa450edef68
Changed methods for registering event listeners for configuration builders.

The methods now use the generic event listener interface. (This commit breaks
the build as there are unresolved compilation failures.)

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/configuration/trunk@1596019 13f79535-47bb-0310-9956-ffa450edef68
Implemented methods for event listeners in BasicConfigurationBuilder.

The builder class now has an EventListenerList as member. This instance manages
the listeners added to the builder.

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/configuration/trunk@1596021 13f79535-47bb-0310-9956-ffa450edef68
Adapted MultiFileConfigurationBuilderProvider to changes on builder interface.

The methods for adding and removing event listeners have changed. The internal
WrapperBuilder class now implements the new methods.

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/configuration/trunk@1596022 13f79535-47bb-0310-9956-ffa450edef68
Adapted CombinedConfigurationBuilder to changes in interface.

Registrations of event listeners have been adapted.

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/configuration/trunk@1596023 13f79535-47bb-0310-9956-ffa450edef68
TestReloadingFileBasedConfigurationBuilder now uses the new mechanism for registering event listeners.

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/configuration/trunk@1596024 13f79535-47bb-0310-9956-ffa450edef68
TestMultiFileConfigurationBuilder now relies on new event listener mechanism.

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/configuration/trunk@1596026 13f79535-47bb-0310-9956-ffa450edef68
MultiFileConfigurationBuilder now uses the new methods for listener registrations.

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/configuration/trunk@1596029 13f79535-47bb-0310-9956-ffa450edef68
Removed obsolete methods from BasicConfigurationBuilder.

Event listeners are now exclusively added or removed using the new methods
defined by the ConfigurationBuilder interface.

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

Events generated by configuration builders are now propagated only via the
generic EventListener interface.

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