def get_unique_object_contents(self, location: str) -> Tuple[bool, str, Union[str, Dict[str, str]]]:
<EOL>simpleobjects_found = self.find_simpleobject_file_occurrences(location)<EOL>complexobject_attributes_found = self.find_multifile_object_children(location, no_errors=True)<EOL>if len(simpleobjects_found) > <NUM_LIT:1>or (len(simpleobjects_found) == <NUM_LIT:1> and len(complexobject_attributes_found) > <NUM_LIT:0>):<EOL><INDENT>u = simpleobjects_found<EOL>u.update(complexobject_attributes_found)<EOL>raise ObjectPresentMultipleTimesOnFileSystemError.create(location, list(u.keys()))<EOL><DEDENT>elif len(simpleobjects_found) == <NUM_LIT:1>:<EOL><INDENT>is_single_file = True<EOL>ext = list(simpleobjects_found.keys())[<NUM_LIT:0>]<EOL>singlefile_object_file_path = simpleobjects_found[ext]<EOL>return is_single_file, ext, singlefile_object_file_path<EOL><DEDENT>elif len(complexobject_attributes_found) > <NUM_LIT:0>:<EOL><INDENT>is_single_file = False<EOL>ext = MULTIFILE_EXT<EOL>if '<STR_LIT>' in complexobject_attributes_found.keys() or None in complexobject_attributes_found.keys():<EOL><INDENT>raise IllegalContentNameError.create(location, complexobject_attributes_found[MULTIFILE_EXT])<EOL><DEDENT>return is_single_file, ext, complexobject_attributes_found<EOL><DEDENT>else:<EOL><INDENT>if self.is_multifile_object_without_children(location):<EOL><INDENT>is_single_file = False<EOL>ext = MULTIFILE_EXT<EOL>return is_single_file, ext, dict()<EOL><DEDENT>else:<EOL><INDENT>loc_without_ext = splitext(location)[<NUM_LIT:0>]<EOL>simpleobjects_found = self.find_simpleobject_file_occurrences(loc_without_ext)<EOL>complexobject_attributes_found = self.find_multifile_object_children(loc_without_ext, no_errors=True)<EOL>raise ObjectNotFoundOnFileSystemError.create(location, simpleobjects_found,<EOL>complexobject_attributes_found)<EOL><DEDENT><DEDENT>
Utility method to find a unique singlefile or multifile object.
This method throws
* ObjectNotFoundOnFileSystemError if no file is found
* ObjectPresentMultipleTimesOnFileSystemError if the object is found multiple times (for example with
several file extensions, or as a file AND a folder)
* IllegalContentNameError if a multifile child name is None or empty string.

It relies on the abstract methods of this class (find_simpleobject_file_occurrences and
find_multifile_object_children) to find the various files present.

:param location: a location identifier compliant with the provided file mapping configuration
:return: [True, singlefile_ext, singlefile_path] if a unique singlefile object is present ;
False, MULTIFILE_EXT, complexobject_attributes_found] if a unique multifile object is present, with
complexobject_attributes_found being a dictionary {name: location}