summaryrefslogtreecommitdiff
path: root/slixmpp/xmlstream/matcher/base.py
blob: 552269c5cc8092152f8c8b04ed7ed46d7f50f4ef (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# slixmpp.xmlstream.matcher.base
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Part of Slixmpp: The Slick XMPP Library
# :copyright: (c) 2011 Nathanael C. Fritz
# :license: MIT, see LICENSE for more details

from typing import Any
from slixmpp.xmlstream.stanzabase import StanzaBase


class MatcherBase(object):

    """
    Base class for stanza matchers. Stanza matchers are used to pick
    stanzas out of the XML stream and pass them to the appropriate
    stream handlers.

    :param criteria: Object to compare some aspect of a stanza against.
    """

    def __init__(self, criteria: Any):
        self._criteria = criteria

    def match(self, xml: StanzaBase) -> bool:
        """Check if a stanza matches the stored criteria.

        Meant to be overridden.
        """
        return False