/**
 * Copyright © 2013 by Data Virtuality GmbH
 */
package com.datavirtuality.dv.core.interfaces;



/**
 * Generic Teiid Extension.
 *
 * @author Alex Klebeck
 * @date 09.11.2012
 */
public interface GenericTeiidExtension {
	
	/**
	 * runs the Particular Extension that implements this interface with an arbitrary number of parameters.
	 * Its up to the Extension to check, if parameters / their types are valid and to throw the {@link IllegalArgumentException} otherwise.

	 *
	 * @param objects the objects
	 * @throws Throwable if an error occurs during the execution of this extension
	 */
	public Object run(Object... objects) throws Throwable;
}
