// Path: src/main/java/org/cloudfoundry/community/servicebroker/datalifecycle/exception/DataProviderSanitizationFailedException.java
// public class DataProviderSanitizationFailedException extends Exception {
// 
// 	private static final long serialVersionUID = 1L;
// 
// 	public DataProviderSanitizationFailedException(String msg) {
// 		super(msg);
// 	}
// }


import java.util.Map;
import org.cloudfoundry.community.servicebroker.datalifecycle.exception.DataProviderSanitizationFailedException;
package org.cloudfoundry.community.servicebroker.datalifecycle.provider;



public interface DataProvider {

	/**
	 * Sanitize the data source with the incoming script. This method is called
	 * upon provision and typically removes or modifies sensitive data from the
	 * database. This method is always called in order to ensure the sanitize
	 * point has a chance to perform operations which my not be scripted.
	 *
	 * Creds are obtained from the CopyProvider after creating a copy, so the
	 * DataProvider needs to understand the object, as it's opaque to the
	 * framework.
	 *
	 * @param script
	 *            to run against the data source, may be null
	 * @param creds
	 *            to login to service instance, provided by the CopyProvider
	 * @throws DataProviderSanitizationFailedException
	 *             if the script fails.
	 */
	void sanitize(String script, Map<String, Object> creds)
// Path: src/main/java/org/cloudfoundry/community/servicebroker/datalifecycle/exception/DataProviderSanitizationFailedException.java
// public class DataProviderSanitizationFailedException extends Exception {
// 
// 	private static final long serialVersionUID = 1L;
// 
// 	public DataProviderSanitizationFailedException(String msg) {
// 		super(msg);
// 	}
// }


// Path: src/main/java/org/cloudfoundry/community/servicebroker/datalifecycle/provider/DataProvider.java
import java.util.Map;
import org.cloudfoundry.community.servicebroker.datalifecycle.exception.DataProviderSanitizationFailedException;

package org.cloudfoundry.community.servicebroker.datalifecycle.provider;



public interface DataProvider {

	/**
	 * Sanitize the data source with the incoming script. This method is called
	 * upon provision and typically removes or modifies sensitive data from the
	 * database. This method is always called in order to ensure the sanitize
	 * point has a chance to perform operations which my not be scripted.
	 *
	 * Creds are obtained from the CopyProvider after creating a copy, so the
	 * DataProvider needs to understand the object, as it's opaque to the
	 * framework.
	 *
	 * @param script
	 *            to run against the data source, may be null
	 * @param creds
	 *            to login to service instance, provided by the CopyProvider
	 * @throws DataProviderSanitizationFailedException
	 *             if the script fails.
	 */
	void sanitize(String script, Map<String, Object> creds)
			throws DataProviderSanitizationFailedException;