/*******************************************************************************
* 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.repositorysystem.core;
import java.io.File;
import java.io.IOException;
import java.util.Set;
import org.ebayopensource.turmeric.eclipse.exception.AbstractSOAException;
import org.ebayopensource.turmeric.eclipse.resources.model.AssetInfo;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IProgressMonitor;
/**
* The Interface IErrorRegistryBridge.
*
* @author smathew
*/
public interface IErrorRegistryBridge {
/**
* Gets the error libs.
*
* @return all error libraries for the underlying system
* @throws Exception the exception
*/
public Set<AssetInfo> getErrorLibs() throws Exception;
/**
* get the error lib view root, create the view dir structure if required.
*
* @param project the project
* @param monitor the monitor
* @return the error library view root
* @throws CoreException the core exception
*/
public File getErrorLibraryViewRoot(IProject project,
IProgressMonitor monitor) throws CoreException;
/**
* Create specific artifacts for the underlying system.
*
* @param project the project
* @param monitor the monitor
* @throws CoreException the core exception
* @throws AbstractSOAException the abstract soa exception
* @throws IOException Signals that an I/O exception has occurred.
*/
public void createPlatformSpecificArtifacts(IProject project, IProgressMonitor monitor)
throws CoreException, AbstractSOAException, IOException;
/**
* Next error id.
*
* @param storeLocation the store location
* @param organization the organization
* @param domain the domain
* @return a new Error ID for the given options
* @throws Exception the exception
*/
public long nextErrorId(String storeLocation, String organization,
String domain) throws Exception;
}