package org.ovirt.engine.core.bll.provider;
import java.security.cert.Certificate;
import java.util.List;
public interface ProviderProxy<T extends ProviderValidator> {
/**
* Test the connection to the provider.<br>
* If the connection is unsuccessful, an exception will be thrown.
*/
void testConnection();
/**
* Get the certificate chain of the provider.<br>
* Useful when the provider is secured.
* @return List of Certificate objects
*/
default List<? extends Certificate> getCertificateChain() {
return null;
}
/**
* Callback executed when the provider is added.<br>
* Useful to add provider-specific operations when the provider is added.
*/
default void onAddition() {
}
/**
* Callback executed when the provider is modified.<br>
* Useful to add provider-specific operations when the provider is modified.
*/
default void onModification() {
}
/**
* Callback executed when the provider is removed.<br>
* Useful to add provider-specific operations when the provider is removed.
*/
default void onRemoval() {
}
/**
* Gets a specific validator for the provider
*/
T getProviderValidator();
}