Revision: 588
http://japi.svn.sourceforge.net/japi/?rev=588&view=rev
Author: christianhujer
Date: 2007-08-23 01:25:48 -0700 (Thu, 23 Aug 2007)
Log Message:
-----------
Added putActionBuilder() for tests.
Fixed bug in getInstance(): ActionBuilderFactory should be a Singleton.
Modified Paths:
--------------
libs/swing-action/trunk/src/net/sf/japi/swing/ActionBuilderFactory.java
Modified: libs/swing-action/trunk/src/net/sf/japi/swing/ActionBuilderFactory.java
===================================================================
--- libs/swing-action/trunk/src/net/sf/japi/swing/ActionBuilderFactory.java 2007-08-20 22:59:24 UTC (rev 587)
+++ libs/swing-action/trunk/src/net/sf/japi/swing/ActionBuilderFactory.java 2007-08-23 08:25:48 UTC (rev 588)
@@ -23,20 +23,24 @@
import java.util.ResourceBundle;
import java.util.WeakHashMap;
import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
/** An ActionBuilderFactory provides implementations of {@link ActionBuilder}.
* @author <a href="mailto:ch...@ri...">Christian Hujer</a>
*/
-public class ActionBuilderFactory {
+public abstract class ActionBuilderFactory {
/** The ActionBuilders. */
- @NotNull public final Map<String, ActionBuilder> actionBuilders = new WeakHashMap<String, ActionBuilder>();
+ @NotNull private final Map<String, ActionBuilder> actionBuilders = new WeakHashMap<String, ActionBuilder>();
+ /** The ActionBuilderFactory singleton instance. */
+ private static final ActionBuilderFactory INSTANCE = new ActionBuilderFactory() {};
+
/** Create an ActionBuilderFactory.
* @return An ActionBuilderFactory.
*/
public static ActionBuilderFactory getInstance() {
- return new ActionBuilderFactory();
+ return INSTANCE;
}
/** Get an ActionBuilder.
@@ -49,7 +53,7 @@
* @param baseName Name of ActionBuilder (which even may be <code>null</code> if you are too lazy to invent a key)
* @return ActionBuilder for given key. The builder is created in case it didn't already exist.
*/
- @NotNull public ActionBuilder getActionBuilder(final String baseName) {
+ @NotNull public ActionBuilder getActionBuilder(@Nullable final String baseName) {
ActionBuilder builder = actionBuilders.get(baseName);
if (builder == null) {
builder = new DefaultActionBuilder(baseName);
@@ -58,4 +62,14 @@
return builder;
}
+ /** Stores an ActionBuilder.
+ * In regular programs, an invocation of this operation should not be needed.
+ * This operation is designed for tests that want to provide non-default ActionBuilders as Dummies, Stubs or Mocks.
+ * @param baseName Basename to store an ActionBuilder for.
+ * @param actionBuilder ActionBuilder to store.
+ */
+ public void putActionBuilder(@Nullable final String baseName, @NotNull final ActionBuilder actionBuilder) {
+ actionBuilders.put(baseName, actionBuilder);
+ }
+
} // class ActionBuilderFactory
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|