The constructor you have seen in other libraries expects you to provide a data series and the number of AR and MA coefficients respectively. Presumably it will then FIT a model to the data you have provided.
While this may be fine for many use cases, in truly object oriented programming it is considered good practice if each class will only have a single concern (i.e. being the model), rather than also fitting a model to data at the same time. That way you are not binding your code to any particular implementations of fitting etc.
So in our constructor you are only creating the model with EXISTING coefficients, rather than fitting it to data. Fitting of a model is performed via implementations of the ARMAFitting interface. We provide an implementation class called ConditionalSumOfSquares which can be used to fit a model and compute the AIC:
ARMAFitting fitting = new ConditionalSumOfSquares(data, AR, 0, MA);<br />
ARIMAModel model = fitting.getModel();<br />
double AIC = fitting.AIC();</code>
I am not sure what residual series you would like to compute. Please let me know and I will try to help.
Otherwise you may find some helpful information at: http://www.numericalmethod.com/javadoc/suanshu/