net.xoetrope.xui.events
Class XActionManager

java.lang.Object
  extended by net.xoetrope.xui.events.XActionManager

public class XActionManager
extends java.lang.Object

An action manager for applications. Actions can be added on an application wide basis or for a particular context, perhaps corresponding to a page, menu or toolbar. The actions can be turned on or off indvidually or according to the context.

Copyright (c) Xoetrope Ltd., 2002-2006. See license.txt for licensing details


Field Summary
protected  java.util.Hashtable actionContexts
          The register of binding adapters for each component type
protected static int changeCounter
          A counter for changes to the registry.
protected static java.util.Hashtable configFiles
          The config files used to build the set of component adapters.
protected  int localChangeCounter
          Used for tracking changes to the registry spec.
 
Method Summary
static void addConfigFile(java.lang.String key, java.lang.Object resource, boolean overwrite)
          Add a configuration file.
 void checkRegistration()
          Check that all the registered components are loaded
protected  void doRead(java.lang.String key, java.lang.Object configFile)
          Read the component registry.
protected  void doRead(java.lang.String key, java.lang.String configFile)
          Read the component registry.
protected  void doRead(java.lang.String key, java.net.URL configFileURL)
          Read the component registry.
 XAction getAction(java.lang.String context, java.lang.Object id)
          Try to get a binding factory to construct the binding
protected  void read()
          Read the component registry.
 void read(java.lang.String key, java.io.Reader reader)
          Read the component registry.
protected  void read(java.lang.String key, java.lang.String configFile)
          Read the component registry.
static void register(XProject currentProject)
          Register an instance of this binding factory.
 void updateConfig()
          Signal that the configuration has been updated.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

actionContexts

protected java.util.Hashtable actionContexts
The register of binding adapters for each component type


configFiles

protected static java.util.Hashtable configFiles
The config files used to build the set of component adapters. Stores the file names


changeCounter

protected static int changeCounter
A counter for changes to the registry. Used to indicate if the registry needs to be rebuilt


localChangeCounter

protected int localChangeCounter
Used for tracking changes to the registry spec.

Method Detail

register

public static void register(XProject currentProject)
Register an instance of this binding factory.

Parameters:
currentProject - the owner project

getAction

public XAction getAction(java.lang.String context,
                         java.lang.Object id)
Try to get a binding factory to construct the binding

Parameters:
context - the action context or null
id - the action id
Returns:
the new binding if one could be constructed

addConfigFile

public static void addConfigFile(java.lang.String key,
                                 java.lang.Object resource,
                                 boolean overwrite)
Add a configuration file. If the files have already been loaded then the new file will be loaded

Parameters:
key - the name by which the configuration file is referenced
resource - the name/path of the configuration file or the URL for the file
overwrite - true to overwrite and existing entry matching the specified key

updateConfig

public void updateConfig()
Signal that the configuration has been updated.


read

protected void read()
Read the component registry. The format is described in the components.xsd schema.


read

protected void read(java.lang.String key,
                    java.lang.String configFile)
Read the component registry. The format is described in the components.xsd schema. The config file is also registered.

Parameters:
configFile - the name of the configuration file
key - the name by which the configuration file is referenced

doRead

protected void doRead(java.lang.String key,
                      java.lang.Object configFile)
Read the component registry. The format is described in the components.xsd schema.

Parameters:
configFile - the name of the configuration file
key - the name by which the configuration file is referenced

doRead

protected void doRead(java.lang.String key,
                      java.lang.String configFile)
Read the component registry. The format is described in the components.xsd schema.

Parameters:
configFile - the name of the configuration file
key - the name by which the configuration file is referenced

doRead

protected void doRead(java.lang.String key,
                      java.net.URL configFileURL)
Read the component registry. The format is described in the components.xsd schema.

Parameters:
configFileURL - the URL of the configuration file
key - the name by which the configuration file is referenced

read

public void read(java.lang.String key,
                 java.io.Reader reader)
Read the component registry. The format is described in the components.xsd schema.

Parameters:
key - the name by which the configuration file is referenced
reader - the reader from which to read the file

checkRegistration

public void checkRegistration()
Check that all the registered components are loaded