Author: bpoussin Date: 2011-04-13 18:24:44 +0200 (Wed, 13 Apr 2011) New Revision: 2109 Url: http://nuiton.org/repositories/revision/nuiton-utils/2109 Log: - remise des generics qui servent sur loadDefaultOptions et loadActions (en faite Class<OptionDef> ne permet pas de passer une classe qui herite de OptionDef, on est donc condamn?\195?\169 a utiliser les generics pour ca) Modified: trunk/nuiton-utils/src/main/java/org/nuiton/util/ApplicationConfig.java Modified: trunk/nuiton-utils/src/main/java/org/nuiton/util/ApplicationConfig.java =================================================================== --- trunk/nuiton-utils/src/main/java/org/nuiton/util/ApplicationConfig.java 2011-04-13 14:42:23 UTC (rev 2108) +++ trunk/nuiton-utils/src/main/java/org/nuiton/util/ApplicationConfig.java 2011-04-13 16:24:44 UTC (rev 2109) @@ -430,8 +430,8 @@ * @param configFilename override default config filename, can be null * @param args command line argument can be empty */ - public ApplicationConfig( - Class<OptionDef> optionClass, Class<ActionDef> actionClass, + public <O extends OptionDef, A extends ActionDef> ApplicationConfig( + Class<O> optionClass, Class<A> actionClass, Properties defaults, String configFilename) { this(); if (optionClass != null) { @@ -479,7 +479,7 @@ * @param optionClass to load * @param <O> type of enum extend {@link OptionDef} */ - public void loadDefaultOptions(Class<OptionDef> optionClass) { + public <O extends OptionDef> void loadDefaultOptions(Class<O> optionClass) { // load default option (included configuration file name : important) for (OptionDef o : optionClass.getEnumConstants()) { @@ -495,10 +495,10 @@ * @param actionClass to load * @param <A> type of enum extend {@link ActionDef} */ - public void loadActions(Class<ActionDef> actionClass) { + public <A extends ActionDef> void loadActions(Class<A> actionClass) { // load actions - for (ActionDef a : actionClass.getEnumConstants()) { + for (A a : actionClass.getEnumConstants()) { for (String alias : a.getAliases()) { addActionAlias(alias, a.getAction()); }