Major revamp of FlowPatternFinder to ensure thread safety. Added generic structure...
[pingpong.git] / Code / Projects / SmartPlugDetector / src / main / java / edu / uci / iotproject / comparison / CompleteMatchPatternComparisonResult.java
1 package edu.uci.iotproject.comparison;
2
3 import edu.uci.iotproject.Conversation;
4 import edu.uci.iotproject.FlowPattern;
5
6 /**
7  * The result of a search for a complete match. Serves as an example implementation of
8  * {@link AbstractPatternComparisonResult}.
9  *
10  * @author Janus Varmarken {@literal <jvarmark@uci.edu>}
11  * @author Rahmadi Trimananda {@literal <rtrimana@uci.edu>}
12  */
13 public class CompleteMatchPatternComparisonResult extends AbstractPatternComparisonResult<Boolean> {
14
15     public CompleteMatchPatternComparisonResult(Conversation conversation, FlowPattern flowPattern, Boolean result) {
16         super(conversation, flowPattern, result);
17     }
18
19     @Override
20     public String getTextualDescription() {
21         if (getResult()) {
22             return String.format("[ find ] Detected a COMPLETE MATCH of pattern '%s' at %s!",
23                     mFlowPattern.getPatternId(), mConversation.getPackets().get(0).getTimestamp().toString());
24         } else {
25             return String.format("[ miss ] flow starting at %s was **not** a complete match of pattern '%s'",
26                     mConversation.getPackets().get(0).getTimestamp().toString(), mFlowPattern.getPatternId());
27         }
28     }
29
30 }