Author: tchemit Date: 2008-07-24 18:52:48 +0000 (Thu, 24 Jul 2008) New Revision: 788 Modified: trunk/lutinjaxx/jaxx-swing-action/src/main/java/org/codelutin/jaxx/action/factory/AbstractActionFactory.java trunk/lutinjaxx/jaxx-swing-action/src/main/java/org/codelutin/jaxx/action/factory/ActionFactory.java trunk/lutinjaxx/jaxx-swing-action/src/main/java/org/codelutin/jaxx/action/factory/ActionFactoryFromProvider.java Log: introduction ActionFactory interface Modified: trunk/lutinjaxx/jaxx-swing-action/src/main/java/org/codelutin/jaxx/action/factory/AbstractActionFactory.java =================================================================== --- trunk/lutinjaxx/jaxx-swing-action/src/main/java/org/codelutin/jaxx/action/factory/AbstractActionFactory.java 2008-07-24 18:50:12 UTC (rev 787) +++ trunk/lutinjaxx/jaxx-swing-action/src/main/java/org/codelutin/jaxx/action/factory/AbstractActionFactory.java 2008-07-24 18:52:48 UTC (rev 788) @@ -73,13 +73,6 @@ protected final ToggleActionConfigInitializer toggleActionConfigInitializer; protected final SelectActionConfigInitializer selectActionConfigInitializer; - /** - * Method to init the dictionary of knwon action implementations. - * - * @return the dictionary of known action implementations - */ - protected abstract Map<String, Class<? extends MyAbstractAction>> init(); - protected List<AbstractActionInitializer> registredInitializers; @@ -98,13 +91,6 @@ cache.clear(); } - @Override - protected void finalize() throws Throwable { - super.finalize(); - resetCache(); - impls.clear(); - } - public MyAbstractAction get(String actionKey) { return cache.get(actionKey); } @@ -283,6 +269,13 @@ resetCache(); } + @Override + protected void finalize() throws Throwable { + super.finalize(); + resetCache(); + impls.clear(); + } + /** * @param component le button o� rattacher l'action * @param action action Modified: trunk/lutinjaxx/jaxx-swing-action/src/main/java/org/codelutin/jaxx/action/factory/ActionFactory.java =================================================================== --- trunk/lutinjaxx/jaxx-swing-action/src/main/java/org/codelutin/jaxx/action/factory/ActionFactory.java 2008-07-24 18:50:12 UTC (rev 787) +++ trunk/lutinjaxx/jaxx-swing-action/src/main/java/org/codelutin/jaxx/action/factory/ActionFactory.java 2008-07-24 18:52:48 UTC (rev 788) @@ -18,11 +18,29 @@ import org.codelutin.jaxx.action.MyAbstractAction; import javax.swing.JComponent; +import java.util.Map; import java.util.Map.Entry; import java.util.Set; -/** @author chemit */ +/** + * Action factory using the ActionConfig annotations to configure the action. + * <p/> + * Use after the {@link #loadActions(jaxx.runtime.JAXXObject)} to instanciate + * actions in ui with id equals a known action... + * <p/> + * TODO Finish doc + * + * @author chemit + */ public interface ActionFactory { + + /** + * Method to init the dictionary of knwon action implementations. + * + * @return the dictionary of known action implementations + */ + Map<String, Class<? extends MyAbstractAction>> init(); + void resetCache(); MyAbstractAction get(String actionKey); Modified: trunk/lutinjaxx/jaxx-swing-action/src/main/java/org/codelutin/jaxx/action/factory/ActionFactoryFromProvider.java =================================================================== --- trunk/lutinjaxx/jaxx-swing-action/src/main/java/org/codelutin/jaxx/action/factory/ActionFactoryFromProvider.java 2008-07-24 18:50:12 UTC (rev 787) +++ trunk/lutinjaxx/jaxx-swing-action/src/main/java/org/codelutin/jaxx/action/factory/ActionFactoryFromProvider.java 2008-07-24 18:52:48 UTC (rev 788) @@ -45,7 +45,7 @@ super(baseClass); } - protected Map<String, Class<? extends MyAbstractAction>> init() { + public Map<String, Class<? extends MyAbstractAction>> init() { if (log.isDebugEnabled()) { log.debug("start loading " + this); }