Object[] params = {data};
PipeComponentIF component = (PipeComponentIF) cons.newInstance(params);
return component;
} catch(ComponentClassNotFoundException cle) {
throw new PipeComponentCreationException("Implementation class for Pipe Component "
+ componentID + " not found.", cle);
} catch(InstantiationException e) {
throw new PipeComponentCreationException("Implementation class for Pipe Component "
+ componentID + " cannot be instantiated.", e);
} catch(IllegalAccessException e) {
throw new PipeComponentCreationException("Implementation class of " + componentID
+ " cannot be accessed.", e);
} catch(NoSuchMethodException e) {
throw new PipeComponentCreationException("NoSuchMethodException while trying to get a "
+ "constructor for creating a new instance of Pipe Component " + componentID
+ ".", e);
} catch(InvocationTargetException e) {
throw new PipeComponentCreationException("InvocationTargetException while trying to "
+ "instantiate Pipe Component" + componentID + ".", e);
}
}