"""Module for a base entities of a asteex context."""


class Source:
    """Class for a base source to provide a context value."""

    def __init__(self, strategy):
        self.__strategy = str(strategy)

    def get_strategy(self):
        """Get the strategy with which the value should be requested from the source.

        :returns: string strategy.
        """
        return self.__strategy

    def __repr__(self):
        class_name = self.__class__.__name__
        strategy = self.__strategy

        return f"{class_name}(strategy='{strategy}')"
