def __init__(self, location: str, is_singlefile: bool, ext: str):
<EOL>check_var(location, var_types=str, var_name='<STR_LIT:location>')<EOL>self.location = location<EOL>check_var(is_singlefile, var_types=bool, var_name='<STR_LIT>')<EOL>self.is_singlefile = is_singlefile<EOL>check_var(ext, var_types=str, var_name='<STR_LIT>')<EOL>self.ext = ext<EOL>if (is_singlefile and self.ext is MULTIFILE_EXT) or (not is_singlefile and self.ext is not MULTIFILE_EXT):<EOL><INDENT>raise ValueError('<STR_LIT>')<EOL><DEDENT>
Constructor. A persisted object has a given filesystem location, is a singlefile or not (in which case it has
children), and has an extension such as .txt, .cfg, etc. Multifile objects have

:param location:
:param is_singlefile:
:param ext: