
package com.sun.syndication.feed.module;

import com.sun.syndication.feed.CopyFrom;
import java.io.Serializable;

/**
 * Base class for modules describing Metadata of feeds. Examples of such modules are
 * the Dublin Core and Syndication modules.
 * <p>
 * @author Alejandro Abdelnur
 *
 */
public interface Module extends Cloneable,CopyFrom,Serializable{

    /**
     * Returns the URI of the module.
     * <p>
     * @return URI of the module.
     *
     */
    String getUri();

    /**
     * Creates a deep clone of the object.
     * <p>
     * @return a clone of the object.
     * @throws CloneNotSupportedException thrown if an element of the object cannot be cloned.
     *
     */
    public Object clone() throws CloneNotSupportedException;

}
