package org.eclipse.uml2.diagram.sequence.internal.layout.model; import java.util.ArrayList; import java.util.Collection; import java.util.Iterator; import java.util.List; /** * */ class SendReceiveMessagesContainer { void addMessage(LMMessage lmMessage) { if (lmMessage.isFromSendToReceive()) { myCallMessages.add(lmMessage); } else { myReturnMessages.add(lmMessage); } } void removeMessage(LMMessage lmMessage) { if (lmMessage.isFromSendToReceive()) { myCallMessages.remove(lmMessage); } else { myReturnMessages.remove(lmMessage); } } List getCallMessages() { return myCallMessages; } List getReturnMessages() { return myReturnMessages; } LMReturnMessage findReturnMessage(LMCallMessage lmCallMessage) { LMReceiveMessageEnd lmReceiveMessageEnd = lmCallMessage.getReceiveMessageEnd(); if (lmReceiveMessageEnd == null) { return null; } for (Iterator it = myReturnMessages.iterator(); it.hasNext(); ) { LMReturnMessage lmReturnMessage = (LMReturnMessage) it.next(); if (lmReturnMessage.getReceiveMessageEnd() == lmReceiveMessageEnd) { return lmReturnMessage; } } return null; } Collection getOutgoingLMMessages(LMSendMessageEnd sendMessageEnd) { List result = new ArrayList(1); for (int i=0; i<getCallMessages().size(); i++) { LMMessage lmMessage1 = (LMMessage) getCallMessages().get(i); if (lmMessage1.getSendMessageEnd() == sendMessageEnd) { result.add(lmMessage1); } } for (int i=0; i<getReturnMessages().size(); i++) { LMMessage lmMessage1 = (LMMessage) getReturnMessages().get(i); if (lmMessage1.getSendMessageEnd() == sendMessageEnd) { result.add(lmMessage1); } } return result; } private final List myCallMessages = new ArrayList(1); private final List myReturnMessages = new ArrayList(1); }