package models.controlFlowModel;
import java.util.ArrayList;
import java.util.List;
public class CompositeCallEdgeAttribute extends CallEdgeAttribute {
private CallEdgeAttribute currentEdgeAttr = null;
private List<CallEdgeAttribute> mergedCallEdgeAttrs = null;
/*************************************************************
* [ *constructor ]
/*************************************************************
*
*/
public CompositeCallEdgeAttribute(final CallEdgeAttribute callEdgeAttr) {
super(callEdgeAttr.getCallEdge(),
callEdgeAttr.getOriginalSourceObjectNode(),
callEdgeAttr.getSourceCell(), callEdgeAttr.getDestinationCell()
);
this.currentEdgeAttr = (this.currentEdgeAttr == null)
? callEdgeAttr : null;
}
/*************************************************************
* [ *public ]
/*************************************************************
*
*/
public void mergeCallEdgeAttribute(final CallEdgeAttribute mergedCallEdgeAttr) {
if(this.currentEdgeAttr == null) return;
if(this.mergedCallEdgeAttrs == null) this.mergedCallEdgeAttrs = new ArrayList<CallEdgeAttribute>();
this.mergedCallEdgeAttrs.add(mergedCallEdgeAttr);
}
}