Thank you Stephen, I understand this; alternatively we could implement a factory method that clones DEFAULT_STRATEGY, EXCEL_STRATEGY, TDF_STRATEGY; but I will definitely postpone any decision, it is not a big deal for me and we can wait for additional feedback.
Jacopo On Jan 29, 2011, at 1:16 PM, Stephen Colebourne wrote: > Traditionally, many commons projects has taken no position on the > correct way to instantiate objects, whether via constructor or bean > methods. This was to allow construction from tools such as Velocity. > It is also still easier to construct using Spring via bean methods > rather than the constructor. > > These days, immutability and concurrency are more important, so this > change may be applicable, buts its good to understand the history and > wide use cases of classes like these. > > Stephen > > > On 29 January 2011 12:04, Jacopo Cappellato <jacopo.cappell...@gmail.com> > wrote: >> Hi all, >> >> in my opinion all the setter methods should be removed from the CSVStrategy >> class: in this way the fields will only be set using the constructors and >> they will become readonly. >> The main issue I see with the current implementation is that a calling >> method can modify the values of the fields of the following static objects >> declared in CSVStrategy (changing the default behavior for all subsequent >> code that uses for example CSVStrategy.DEFAULT_STRATEGY): >> >> public static CSVStrategy DEFAULT_STRATEGY = new CSVStrategy(',', '"', >> COMMENTS_DISABLED, ESCAPE_DISABLED, true, >> true, false, >> true); >> public static CSVStrategy EXCEL_STRATEGY = new CSVStrategy(',', '"', >> COMMENTS_DISABLED, ESCAPE_DISABLED, false, >> false, >> false, false); >> public static CSVStrategy TDF_STRATEGY = new CSVStrategy('\t', '"', >> COMMENTS_DISABLED, ESCAPE_DISABLED, true, >> true, false, >> true); >> >> What do you think? >> >> Jacopo >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org >> For additional commands, e-mail: dev-h...@commons.apache.org >> >> > > --------------------------------------------------------------------- > To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org > For additional commands, e-mail: dev-h...@commons.apache.org > --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org For additional commands, e-mail: dev-h...@commons.apache.org