1 package org.andromda.core.namespace;
2
3 import java.net.URL;
4
5 /**
6 * This represents a component that can be discovered/registered within a namespace.
7 *
8 * @author Chad Brandon
9 */
10 public interface NamespaceComponent
11 {
12 /**
13 * Sets the namespace to which this component belongs.
14 *
15 * @param namespace the name of the namespace to which this component belongs.
16 */
17 public void setNamespace(String namespace);
18
19 /**
20 * Gets the namespace to which this component belongs.
21 *
22 * @return the name of the namespace.
23 */
24 public String getNamespace();
25
26 /**
27 * The entire path to the resource this namespace component instance
28 * is configured from.
29 *
30 * @return URL the path to the resource from which this namespace
31 * component was configured.
32 */
33 public URL getResource();
34
35 /**
36 * Sets the path of the resource from which this namespace component is configured.
37 *
38 * @param resource the resource URL.
39 */
40 public void setResource(URL resource);
41 }