<commit_before>package ru.agentlab.maia.agent.match;

import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;
import java.util.UUID;

import ru.agentlab.maia.IMessage;

public class MessageMatcher implements IMatcher<IMessage> {

	private IMatcher<? super UUID> senderMatcher;

	private IMatcher<? super List<UUID>> receiversMatcher;

	private IMatcher<? super List<UUID>> replyToMatcher;

	private IMatcher<? super String> contentMatcher;

	private IMatcher<? super String> replyWithMatcher;

	private IMatcher<? super String> inReplyToMatcher;

	private IMatcher<? super String> encodingMatcher;

	private IMatcher<? super String> languageMatcher;

	private IMatcher<? super String> ontologyMatcher;

	private IMatcher<? super String> performativeMatcher;

	private IMatcher<? super LocalDateTime> replyByMatcher;

	private IMatcher<? super String> protocolMatcher;

	private IMatcher<? super String> conversationIdMatcher;

	private IMatcher<? super LocalDateTime> postTimeStampMatcher;

	@Override
	public boolean match(IMessage object, Map<String, Object> map) {
		return false;
	}

	public IMatcher<? super UUID> getSenderMatcher() {
		return senderMatcher;
	}

	public void setSenderMatcher(IMatcher<? super UUID> senderMatcher) {
		this.senderMatcher = senderMatcher;
	}

	public IMatcher<? super List<UUID>> getReceiversMatcher() {
		return receiversMatcher;
	}

	public void setReceiversMatcher(IMatcher<? super List<UUID>> receiversMatcher) {
		this.receiversMatcher = receiversMatcher;
	}

	public IMatcher<? super List<UUID>> getReplyToMatcher() {
		return replyToMatcher;
	}

	public void setReplyToMatcher(IMatcher<? super List<UUID>> replyToMatcher) {
		this.replyToMatcher = replyToMatcher;
	}

	public IMatcher<? super String> getContentMatcher() {<commit_msg>implement matching<commit_after>package ru.agentlab.maia.agent.match;

import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;
import java.util.UUID;

import ru.agentlab.maia.IMessage;

public class MessageMatcher implements IMatcher<IMessage> {

	private IMatcher<? super UUID> senderMatcher;

	private IMatcher<? super List<UUID>> receiversMatcher;

	private IMatcher<? super List<UUID>> replyToMatcher;

	private IMatcher<? super String> contentMatcher;

	private IMatcher<? super String> replyWithMatcher;

	private IMatcher<? super String> inReplyToMatcher;

	private IMatcher<? super String> encodingMatcher;

	private IMatcher<? super String> languageMatcher;

	private IMatcher<? super String> ontologyMatcher;

	private IMatcher<? super String> performativeMatcher;

	private IMatcher<? super LocalDateTime> replyByMatcher;

	private IMatcher<? super String> protocolMatcher;

	private IMatcher<? super String> conversationIdMatcher;

	private IMatcher<? super LocalDateTime> postTimeStampMatcher;

	@Override
	public boolean match(IMessage object, Map<String, Object> map) {
		if (senderMatcher != null && !senderMatcher.match(object.getSender(), map)) {
			return false;
		}
		if (receiversMatcher != null && !receiversMatcher.match(object.getReceivers(), map)) {
			return false;
		}
		if (replyToMatcher != null && !replyToMatcher.match(object.getReplyTo(), map)) {
			return false;
		}
		if (contentMatcher != null && !contentMatcher.match(object.getContent(), map)) {
			return false;
		}
		if (replyWithMatcher != null && !replyWithMatcher.match(object.getReplyWith(), map)) {
			return false;
		}
		if (inReplyToMatcher != null && !inReplyToMatcher.match(object.getInReplyTo(), map)) {
			return false;
		}
		if (encodingMatcher != null && !encodingMatcher.match(object.getEncoding(), map)) {
			return false;
		}
		if (languageMatcher != null && !languageMatcher.match(object.getLanguage(), map)) {
			return false;
		}
		if (ontologyMatcher != null && !ontologyMatcher.match(object.getOntology(), map)) {
			return false;
		}
		if (performativeMatcher != null && !performativeMatcher.match(object.getPerformative(), map)) {
			return false;
		}
		if (replyByMatcher != null && !replyByMatcher.match(object.getReplyBy(), map)) {
			return false;
		}
		if (protocolMatcher != null && !protocolMatcher.match(object.getProtocol(), map)) {
			return false;
		}
		if (conversationIdMatcher != null && !conversationIdMatcher.match(object.getConversationId(), map)) {
			return false;
		}
		if (postTimeStampMatcher != null && !postTimeStampMatcher.match(object.getPostTimeStamp(), map)) {
			return false;
		}
		return false;
	}

	public IMatcher<? super UUID> getSenderMatcher() {
		return senderMatcher;
	}

	public void setSenderMatcher(IMatcher<? super UUID> senderMatcher) {
		this.senderMatcher = senderMatcher;
	}

	public IMatcher<? super List<UUID>> getReceiversMatcher() {
		return receiversMatcher;
	}

	public void setReceiversMatcher(IMatcher<? super List<UUID>> receiversMatcher) {
		this.receiversMatcher = receiversMatcher;
	}

	public IMatcher<? super List<UUID>> getReplyToMatcher() {
		return replyToMatcher;
	}

	public void setReplyToMatcher(IMatcher<? super List<UUID>> replyToMatcher) {
		this.replyToMatcher = replyToMatcher;
	}

	public IMatcher<? super String> getContentMatcher() {
{'fraction_non_alphanumeric': 0.11050583657587548, 'fraction_numerical': 0.0, 'mean_word_length': 5.540712468193385, 'pattern_counts': {'":': 0, '<': 61, '<?xml version=': 0, '>': 61, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6349806', 'n_tokens_mistral': 1604, 'n_tokens_neox': 1494, 'n_words': 393}