[ 
https://issues.apache.org/jira/browse/LABS-144?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12630898#action_12630898
 ] 

Nathan Beyer commented on LABS-144:
-----------------------------------

You can avoid this by either NOT making the return value live and just return a 
copy or by adding APIs for specifically adding and removing items during 
runtime, instead of delegating those actions to a live Map instance.

I'd suggest the later as you're giving away some impl details that aren't 
relevant to the consumer - stuff is stored in a Map. Additionally, you can keep 
the concurrency protection internal to the class. This is important, as you may 
want to handle concurrency atomicity at a higher logical level (ie something 
more than a simple put, remove from a Map).

> Consider making dependency on Spring / Cocoon Configurator optional
> -------------------------------------------------------------------
>
>                 Key: LABS-144
>                 URL: https://issues.apache.org/jira/browse/LABS-144
>             Project: Labs
>          Issue Type: Improvement
>          Components: Droids
>            Reporter: Oleg Kalnichevski
>            Priority: Minor
>         Attachments: droids.patch
>
>
> Please consider making dependency on Spring / Cocoon Configurator optional. 
> Being a happy Spring user myself, I, nonetheless, think Droids API / Core 
> classes should not depend on a particular DI framework / configuration 
> format. It should be possible to split Droids code into API/Core module and 
> runtime with only the latter being dependent on Spring / Cocoon Configurator.
> Oleg

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to