1 package org.objectweb.celtix.configuration; 2 3 import java.util.Collection; 4 5 /** 6 * Container for a component's runtime configuration metata. 7 * 8 */ 9 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 } 45