| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 | 
							- class builder:
 
-     """
 
-     This is class responsible for building new items for database.
 
-     """
 
-     def __init__(self, target: object = None) -> None:
 
-         """ 
 
-         This create new builder, cleaning it by default.
 
-         Parameters:
 
-             target (object<target_type>): Object to work on
 
-         """
 
-         self.clear(target)
 
-     @property
 
-     def _target(self) -> object:
 
-         """ Target to work on for child class. """
 
-         return self.__target
 
-     @property
 
-     def result(self) -> object:
 
-         """
 
-         This return created object, or raise exception if it is not ready.
 
-         Returns:
 
-             (object<target_type>): Ready created object
 
-         """
 
-         if not self.__target.ready:
 
-             raise TypeError("Can not read not ready result.")
 
-         return self.__target
 
-     def clear(self, target: object = None) -> None:
 
-         """
 
-         This drop previous object from builded, and set new one. When target
 
-         is not set, it create empty object to work on.
 
-         Parameters:
 
-             target (object<target_type> | None): Target to work on or None
 
-         """
 
-         if target is not None:
 
-             self.__target = target
 
-             return
 
-         self.__target = self.__target_type()
 
-     def __init_subclass__(cls, target_type: type, **kwargs) -> None:
 
-         """
 
-         This create new class. It require target_type, which is class of new
 
-         objects. It must have ready property, to check when new object is 
 
-         ready to load.
 
-         Parameters:
 
-             target_type(type): Type of target objects
 
-             **kwargs: Rest of parameters
 
-         """
 
-         super().__init_subclass__(**kwargs)
 
-         if not type(target_type.ready) is property:
 
-             raise Exception("Builder can build only database items.")
 
-         cls.__target_type = target_type
 
 
  |