Actually load() method return String[] (actually with arbitrary number of elements and arbitrary order) so I see no issue here, You read parameters in the same order as you wright them. Map<String,String> will make things worst IMHO since the order will not be the same
On Wed, Feb 25, 2015 at 4:16 AM, Tobias Soloschenko < tobiassolosche...@googlemail.com> wrote: > Hi Maxim, > > I think this isn't a good idea because the order in which the arguments > are added to the save method is important - and what if you want to let one > argument away? Then the rest would not used for their purpose. > > Instead I would add another method save method that takes a Map with key > value pairs (key are used to identify the values) > map.put("username","tom"); > map.put("password","secret); > map.put("host","127.0.0.1"); > > the save method could be invoked internally with > #save(map.get("username"),map.get("password")); > > Another way: > > Oracle uses system properties - (http://docs.oracle.com/ > javase/7/docs/api/java/net/doc-files/net-properties.html) > System.setProperty("org.apache.auth.username","tom"); > System.setProperty("org.apache.auth.password","secret"); > the save method could be invoked internally with > #save(System.getProperty("org.apache.auth.username"),System. > getProperty("org.apache.auth.username")); > > kind regards > > Tobias > > Am 24.02.15 um 17:09 schrieb Maxim Solodovnik: > > Hello All, >> >> recently I have proposed the patch to reduce copy/paste while implementing >> custom IAuthenticationStrategy. >> >> Actually this interface have 2 methods which are not correlate to each >> other >> String[] load(); >> void save(final String username, final String password); >> >> in fact this is getter and setter but with different signatures >> The change I would like to propose is to replace (in Wicket7) >> void save(final String username, final String password); >> with >> void save(final String... credentials); >> >> this will allow to easily store additional credentials (like domain) and >> will not introduce the code break since previous calls will work as >> expected >> >> What do you think? >> >> > -- WBR Maxim aka solomax