if (category == null)
{
throw new NullPointerException();
}
final Configuration configuration = context.getConfiguration();
final String prefix = DefaultActionFactory.PREFIX + category;
final Iterator keys = configuration.findPropertyKeys(prefix);
if (keys.hasNext() == false)
{
DefaultActionFactory.logger.debug(DefaultActionFactory.MESSAGES.getString("DefaultActionFactory.DEBUG_NO_ACTIONS",
category)); //$NON-NLS-1$
return DefaultActionFactory.EMPTY_ACTIONS;
}
final HashMap plugins = new HashMap();
while (keys.hasNext())
{
final String key = (String) keys.next();
final String base = key.substring(prefix.length());
if (isPluginKey(base) == false)
{
// Maybe an invalid key or a key for a sub-category ..
continue;
}
final String clazz = configuration.getConfigProperty(key);
final Object maybeActionPlugin = ObjectUtilities.loadAndInstantiate
(clazz, DefaultActionFactory.class, ActionPlugin.class);
if (maybeActionPlugin == null)
{
DefaultActionFactory.logger.debug(DefaultActionFactory.MESSAGES.getString(