Reads given file content and stores it in the content cache.

        :param mode: File read mode.
        :type mode: unicode
        :param encoding: File encoding codec.
        :type encoding: unicode
        :param errors: File encoding errors handling.
        :type errors: unicode
        :return: Method success.
        :rtype: bool

def cache(self, mode="r", encoding=Constants.default_codec, errors=Constants.codec_error):
        """
        Reads given file content and stores it in the content cache.

        :param mode: File read mode.
        :type mode: unicode
        :param encoding: File encoding codec.
        :type encoding: unicode
        :param errors: File encoding errors handling.
        :type errors: unicode
        :return: Method success.
        :rtype: bool
        """

        self.uncache()

        if foundations.strings.is_website(self.__path):
            try:
                LOGGER.debug("> Caching '{0}' online file content.".format(self.__path))
                self.__content = urllib2.urlopen(self.__path).readlines()
                return True
            except urllib2.URLError as error:
                raise foundations.exceptions.UrlReadError(
                    "!> {0} | '{1}' url is not readable: '{2}'.".format(self.__class__.__name__, self.__path, error))
        elif foundations.common.path_exists(self.__path):
            if not is_readable(self.__path):
                raise foundations.exceptions.FileReadError(
                    "!> {0} | '{1}' file is not readable!".format(self.__class__.__name__, self.__path))

            with codecs.open(self.__path, mode, encoding, errors) as file:
                LOGGER.debug("> Caching '{0}' file content.".format(self.__path))
                self.__content = file.readlines()
                return True
        return False