/*******************************************************************************
* Copyright (c) 2006-2010 eBay Inc. All Rights Reserved.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*******************************************************************************/
/**
*
*/
package org.ebayopensource.turmeric.eclipse.errorlibrary.providers;
import java.io.IOException;
import org.ebayopensource.turmeric.eclipse.errorlibrary.ui.model.ErrorLibraryParamModel;
import org.ebayopensource.turmeric.eclipse.exception.resources.projects.SOAErrorLibraryCreationFailedException;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IProgressMonitor;
/**
* The Interface IErrorLibraryCreator.
*
* @author yayu
*/
public interface IErrorLibraryCreator {
/**
* Pre creation.
*
* @param model the model
* @throws SOAErrorLibraryCreationFailedException the sOA error library creation failed exception
*/
public void preCreation(ErrorLibraryParamModel model)
throws SOAErrorLibraryCreationFailedException;
/**
* Post creation.
*
* @param project the project
* @param model the model
* @param monitor the monitor
* @throws SOAErrorLibraryCreationFailedException the sOA error library creation failed exception
*/
public void postCreation(IProject project, ErrorLibraryParamModel model,
IProgressMonitor monitor) throws SOAErrorLibraryCreationFailedException;
/**
* Creates the platform specific artifacts.
*
* @param project the project
* @param srcFolder the src folder
* @param monitor the monitor
* @throws CoreException the core exception
* @throws IOException Signals that an I/O exception has occurred.
*/
public void createPlatformSpecificArtifacts(IProject project, String srcFolder,
IProgressMonitor monitor) throws CoreException, IOException;
}