package org.codehaus.mojo.mrm.api.maven;

import java.io.IOException;
import java.io.InputStream;

/**
 * Base implementation of {@link ArtifactStore}.
 *
 * @serial
 * @since 1.0
 */
public abstract class BaseArtifactStore
    implements ArtifactStore
{

    /**
     * Ensure consistent serialization.
     *
     * @since 1.0
     */
    private static final long serialVersionUID = 1L;

    /**
     * {@inheritDoc}
     */
    public void set( Artifact artifact, InputStream content )
        throws IOException
    {
        throw new UnsupportedOperationException( "Read-only artifact store" );
    }
    
    /**
     * {@inheritDoc}
     */
    public void setArchetypeCatalog( InputStream content )
        throws IOException
    {
        throw new UnsupportedOperationException( "Read-only artifact store" );
    }
    
}

@@ -92,16 +92,77 @@
 tream;%0A%0A
+import org.apache.maven.archetype.catalog.ArchetypeCatalog;%0A%0A
 /**%0A * B
@@ -886,10 +886,551 @@
  %7D%0A    %0A
+    /**%0A     * %7B@inheritDoc%7D%0A     */%0A    public ArchetypeCatalog getArchetypeCatalog()%0A        throws IOException, ArchetypeCatalogNotFoundException%0A    %7B%0A        throw new UnsupportedOperationException( %22getArchetypeCatalog() has not been implemented%22 );%0A    %7D%0A    %0A    /**%0A     * %7B@inheritDoc%7D%0A     */%0A    public long getArchetypeCatalogLastModified()%0A        throws IOException, ArchetypeCatalogNotFoundException%0A    %7B%0A        throw new UnsupportedOperationException( %22getArchetypeCatalogLastModified() has not been implemented%22 );%0A    %7D%0A
 %7D%0A

Add stubMethods for all new methods added to the interface of ArtifactStore to prevent LinkageErrors