[ 
https://issues.apache.org/jira/browse/LOG4PHP-161?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13146863#comment-13146863
 ] 

Ivan Habunek commented on LOG4PHP-161:
--------------------------------------

Actually, after trying to convert a couple of appenders to use the base class, 
it seems much simpler to remove the generic set() method and just use the 
actual setter methods - setString(), setInteger() etc.

This also removes a lot of the code from the base class, here's another mockup:
http://pastebin.com/2yMsU9st

It might be possible to go to a higher level of abstraction with the setter 
methods, since a lot of the code is repeated. But that might be going a bit too 
far.
                
> All configurable components should report errors when given invalid values
> --------------------------------------------------------------------------
>
>                 Key: LOG4PHP-161
>                 URL: https://issues.apache.org/jira/browse/LOG4PHP-161
>             Project: Log4php
>          Issue Type: Improvement
>          Components: Code
>    Affects Versions: 2.1
>            Reporter: Ivan Habunek
>              Labels: configuration, validation
>             Fix For: 2.2
>
>
> This includes: appenders, layouts, renderers, filters (and any future ones).
> This is usually implemented in the property setter (sometime in 
> activateOptions()). The problem is that the code for checking if something is 
> an integer/boolean/string/whatever, and reporting an error is relatively long 
> (cca 5-10 lines). We do not want to recycle this code for each and every 
> setter.
> The proposed solution is to make a base class from which all configurable 
> classes will inherit. This class will provide generic setters which include 
> validation and error reporting.
> This is a mockup:
> http://pastebin.com/0h4M35Br
> I believe a solution to this issue should be included in 2.2 to complement 
> the new configurator.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to