Oliver Heger created CONFIGURATION-543:
------------------------------------------
Summary: Make some methods in AbstractConfiguration final to
prevent that subclasses break basic functionality
Key: CONFIGURATION-543
URL: https://issues.apache.org/jira/browse/CONFIGURATION-543
Project: Commons Configuration
Issue Type: Improvement
Affects Versions: 1.9
Reporter: Oliver Heger
Fix For: 2.0
{{AbstractConfiguration}} already implements a significant amount of basic
functionality, e.g. event firing. In addition, for many methods of the
{{Configuration}} interface base implementations are provided.
In many cases, methods do some book-keeping stuff (for instance sending event
notifications or synchronization handling) in addition to the actual
functionality. If now subclasses override such methods, they have to repeat the
book-keeping logic. There is a high risk that this logic gets forgotten or
broken if a method is overridden.
To avoid this, {{AbstractConfiguration}} should have *final* methods which
implement the necessary book-keeping stuff and then delegate to *protected*
methods (either abstract ones or with base implementations) which can be
overridden by subclasses. That way functionality can be added or adapted by
subclasses, but basic features cannot be broken and do not have to be
re-implemented.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira