01: package org.objectweb.celtix.configuration;
02:
03: import java.util.Collection;
04:
05: /**
06: * Container for a component's runtime configuration metata.
07: *
08: */
09: public interface ConfigurationMetadata {
10:
11: /**
12: * Gets the namespace URI for this configuration metadata model.
13: *
14: * @return the configuration metadata model's namespace URI.
15: */
16: String getNamespaceURI();
17:
18: /**
19: * Gets the parent namespace URI for this configuration metadata model.
20: * The presence of this value means that the underlying type of
21: * configuration can only be created as a child of a configuration with
22: * namespace 'parentNamespace'. The absence of this attribute means that it
23: * can be be created as a top level configuration object
24: *
25: * @return the configuration metadata model's parent namespace URI.
26: */
27: String getParentNamespaceURI();
28:
29: /**
30: * Gets the metadata for the specified configuration item name.
31: *
32: * @param name the name of the configuration item.
33: * @return the item's configuration metadata or null if no such item is
34: * defined.
35: */
36: ConfigurationItemMetadata getDefinition(String name);
37:
38: /**
39: * Gets all configuration metadata items in this container.
40: *
41: * @return the collection of configuration metadata items.
42: */
43: Collection<ConfigurationItemMetadata> getDefinitions();
44: }
|