package hudson.plugins.accurev;
import hudson.model.Run;
import hudson.scm.ChangeLogSet;
import org.kohsuke.stapler.export.Exported;
import org.kohsuke.stapler.export.ExportedBean;
import java.util.Collection;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
/**
* Created by IntelliJ IDEA.
*
* @author connollys
* @since 10-Oct-2007 13:12:40
*/
@ExportedBean(defaultVisibility = 999)
public final class AccurevChangeLogSet extends ChangeLogSet<AccurevTransaction> {
private final List<AccurevTransaction> transactions;
AccurevChangeLogSet(Run build, List<AccurevTransaction> transactions) {
// TODO: Implement RepositoryBrowser?
super(build, null);
if (transactions == null) {
throw new NullPointerException("Cannot have a null transaction list");
}
this.transactions = Collections.unmodifiableList(transactions);
for (AccurevTransaction transaction : transactions) {
transaction.setParent(this);
}
}
public boolean isEmptySet() {
return transactions.isEmpty();
}
public Iterator<AccurevTransaction> iterator() {
return transactions.iterator();
}
public Collection<AccurevTransaction> getLogs() {
return transactions;
}
public java.lang.Object[] toArray() {
if (transactions == null) {
return null;
}
return transactions.toArray();
}
@Exported
public String getKind() {
return "accurev";
}
}