Interface IClusterConfig

All Superinterfaces:
org.apache.wicket.util.io.IClusterable, IObservable, IPluginConfig, org.apache.wicket.util.value.IValueMap, Map<String,Object>, Serializable
All Known Implementing Classes:
AbstractClusterDecorator, ClusterConfigDecorator, JavaClusterConfig, JcrClusterConfig

public interface IClusterConfig extends IPluginConfig
Descriptor of a cluster of plugins. These can interact with other plugins by declaring what services are consumed, what services are offered and what properties can be set.

Entries at the top level are available as variables to plugins when the cluster is instantiated. Suppose the cluster config has the key "mykey", value "myvalue". A plugin config contains the key "pluginKey" with value "${mykey}.extra". When the instantiated IPlugin invokes IValueMap.getString(String), the value "myvalue.extra" will be returned.

In addition to these variables, the "cluster.id" variable has a value that is unique to the instantiated cluster. It can be used to create cluster-specific service names.

When the configuration has been obtained from an instantiated cluster with IClusterControl.getClusterConfig(), all variable expansion has been applied. The configuration is read-only in that case.

  • Method Details

    • getPlugins

      List<IPluginConfig> getPlugins()
      The plugin configurations in the cluster. Returns an immutable list of plugins.
    • setPlugins

      void setPlugins(List<IPluginConfig> plugins)
      Update the plugins in the cluster. Only available when the the configuration is used as a template for the cluster configuration.
    • getServices

      List<String> getServices()
      The list of keys for services. Since service types are not available, it is recommended to always use well-known keys when they exist. I.e. use "wicket.id" to identify an IRenderService.

      The returned list is only mutable when the configuration is used as a template.

    • getReferences

      List<String> getReferences()
      The keys for services that are used by plugins in the cluster.

      The returned list is only mutable when the configuration is used as a template.

    • getProperties

      List<String> getProperties()
      Properties that specify additional plugin behavior.

      The returned list is only mutable when the configuration is used as a template.

    • getPropertyDescriptors

      List<PropertyDescriptor> getPropertyDescriptors()
      Descriptors of additional plugin properties.

      Changes to the returned list have no effect on actual configuration.