| CallExceptionList.java |
/*
* $Id: CallExceptionList.java,v 1.24 2012/04/16 19:40:39 agoubard Exp $
*
* See the COPYRIGHT file for redistribution and use restrictions.
*/
package org.xins.common.service;
import java.util.ArrayList;
import java.util.List;
/**
* List of call exceptions. See class {@link CallException}.
*
* @version $Revision: 1.24 $ $Date: 2012/04/16 19:40:39 $
* @author <a href="mailto:ernst@ernstdehaan.com">Ernst de Haan</a>
*
* @since XINS 1.0.0
* @deprecated use List<CallException>
*/
public final class CallExceptionList {
// TODO: Consider deprecating/removing this class in favour of a
// Java 5+ generics-based approach, e.g. List<CallException>.
/**
* The underlying collection to store the <code>CallException</code>
* objects in.
*/
private final List<CallException> _exceptions;
/**
* Constructs a new <code>CallExceptionList</code> object.
*/
public CallExceptionList() {
_exceptions = new ArrayList<CallException>();
}
/**
* Adds a <code>CallException</code> to this list.
*
* @param exception
* the {@link CallException} to add, cannot be <code>null</code>.
*/
void add(CallException exception) {
_exceptions.add(exception);
}
/**
* Counts the number of elements.
*
* @return
* the number of {@link CallException}s, always >= 0.
*/
public int size() {
return (_exceptions == null) ? 0 : _exceptions.size();
}
/**
* Retrieves a <code>CallException</code> by index.
*
* @param index
* the element index, must be >= 0 and < {@link #size()}.
*
* @return
* the {@link CallException} element at the specified index, never
* <code>null</code>.
*
* @throws IndexOutOfBoundsException
* if <code>index < 0 || index >= {@link #size()}</code>.
*/
public CallException get(int index)
throws IndexOutOfBoundsException {
return _exceptions.get(index);
}
/**
* Retrieves the last (most recent) <code>CallException</code>.
*
* @return
* the {@link CallException} element at the highest index, or
* <code>null</code> if this list is empty.
*
* @since XINS 1.1.0
*/
public CallException last() {
if (size() == 0) {
return null;
} else {
return get(size() - 1);
}
}
}