001package org.andromda.core.namespace;
002
003import java.net.URL;
004
005/**
006 * Represents the base plugin of AndroMDA. All Plugin instances inherit from this class.
007 *
008 * @author Chad Brandon
009 */
010public abstract class BaseNamespaceComponent
011    implements NamespaceComponent
012{
013    /**
014     * The namespace in which this component resides.
015     */
016    private String namespace;
017
018    /**
019     * @see org.andromda.core.namespace.NamespaceComponent#setNamespace(String)
020     */
021    public void setNamespace(final String namespace)
022    {
023        this.namespace = namespace;
024    }
025
026    /**
027     * @see org.andromda.core.namespace.NamespaceComponent#getNamespace()
028     */
029    public String getNamespace()
030    {
031        return this.namespace;
032    }
033
034    /**
035     * The URL to the resource that configured this instance.
036     */
037    private URL resource;
038
039    /**
040     * @see org.andromda.core.namespace.NamespaceComponent#getResource()
041     */
042    public URL getResource()
043    {
044        return this.resource;
045    }
046
047    /**
048     * @see org.andromda.core.namespace.NamespaceComponent#setResource(java.net.URL)
049     */
050    public void setResource(final URL resource)
051    {
052        this.resource = resource;
053    }
054}