001package org.andromda.core.namespace; 002 003import java.net.URL; 004 005/** 006 * This represents a component that can be discovered/registered within a namespace. 007 * 008 * @author Chad Brandon 009 */ 010public interface NamespaceComponent 011{ 012 /** 013 * Sets the namespace to which this component belongs. 014 * 015 * @param namespace the name of the namespace to which this component belongs. 016 */ 017 public void setNamespace(String namespace); 018 019 /** 020 * Gets the namespace to which this component belongs. 021 * 022 * @return the name of the namespace. 023 */ 024 public String getNamespace(); 025 026 /** 027 * The entire path to the resource this namespace component instance 028 * is configured from. 029 * 030 * @return URL the path to the resource from which this namespace 031 * component was configured. 032 */ 033 public URL getResource(); 034 035 /** 036 * Sets the path of the resource from which this namespace component is configured. 037 * 038 * @param resource the resource URL. 039 */ 040 public void setResource(URL resource); 041}