package com.dianping.pigeon.monitor;
import java.util.List;
/**
* Created by zhanjun on 2017/4/12.
*/
public class CompositeTransaction implements MonitorTransaction {
private List<MonitorTransaction> monitorTransactionList;
public CompositeTransaction(List<MonitorTransaction> monitorTransactionList) {
this.monitorTransactionList = monitorTransactionList;
}
@Override
public void setStatusError(Throwable t) {
for (MonitorTransaction transaction : monitorTransactionList) {
transaction.setStatusError(t);
}
}
@Override
public void complete() {
for (MonitorTransaction transaction : monitorTransactionList) {
transaction.complete();
}
}
@Override
public void complete(long startTime) {
for (MonitorTransaction transaction : monitorTransactionList) {
transaction.complete(startTime);
}
}
@Override
public void setStatusOk() {
for (MonitorTransaction transaction : monitorTransactionList) {
transaction.setStatusOk();
}
}
@Override
public void addData(String name, Object data) {
for (MonitorTransaction transaction : monitorTransactionList) {
transaction.addData(name, data);
}
}
@Override
public void readMonitorContext(String serverDomain) {
for (MonitorTransaction transaction : monitorTransactionList) {
transaction.readMonitorContext(serverDomain);
}
}
@Override
public void writeMonitorContext() {
for (MonitorTransaction transaction : monitorTransactionList) {
transaction.writeMonitorContext();
}
}
@Override
public void logEvent(String name, String event, String desc) {
for (MonitorTransaction transaction : monitorTransactionList) {
transaction.logEvent(name, event, desc);
}
}
@Override
public String getParentRootMessage() {
return null;
}
}