[ 
https://issues.apache.org/jira/browse/CONFIGURATION-543?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Oliver Heger resolved CONFIGURATION-543.
----------------------------------------

    Resolution: Fixed

Fixed in subversion. Some methods of {{BaseHierarchicalConfiguration}} have 
also undergone the same transformation.
                
> 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

Reply via email to