(self)
| 893 | return isinstance(self.schema.get_type(field_type.name), (Message, Union)) |
| 894 | |
| 895 | def generate_module_file(self) -> GeneratedFile: |
| 896 | imports = { |
| 897 | "org.apache.fory.{Fory, ThreadSafeFory}", |
| 898 | "org.apache.fory.scala.{ForyScala, ForySerializer}", |
| 899 | "org.apache.fory.serializer.scala.ScalaSerializers", |
| 900 | } |
| 901 | lines = self.source_header(imports) |
| 902 | class_name = self.get_module_name() |
| 903 | package_name = self.get_scala_package() |
| 904 | if package_name: |
| 905 | access = f"private[{package_name.split('.')[-1]}] " |
| 906 | else: |
| 907 | access = "" |
| 908 | lines.append(f"object {class_name} extends org.apache.fory.ForyModule {{") |
| 909 | lines.append(" private lazy val fory: ThreadSafeFory =") |
| 910 | lines.append(" ForyScala.builder()") |
| 911 | lines.append(" .withXlang(true)") |
| 912 | lines.append(" .withCompatible(true)") |
| 913 | lines.append(" .withRefTracking(true)") |
| 914 | lines.append(" .withModule(this)") |
| 915 | lines.append(" .buildThreadSafeFory()") |
| 916 | lines.append("") |
| 917 | lines.append(f" {access}def getFory: ThreadSafeFory = fory") |
| 918 | lines.append("") |
| 919 | lines.append(" override def install(fory: Fory): Unit = {") |
| 920 | imported_modules = self._imported_regs() |
| 921 | for package, module in imported_modules: |
| 922 | if package: |
| 923 | lines.append(f" fory.register({package}.{module})") |
| 924 | else: |
| 925 | lines.append(f" fory.register({module})") |
| 926 | registrations = self.registration_order() |
| 927 | for type_def, owner_path in registrations: |
| 928 | if isinstance(type_def, Message): |
| 929 | self.generate_type_registration( |
| 930 | lines, type_def, owner_path, type_only=True |
| 931 | ) |
| 932 | for type_def, owner_path in registrations: |
| 933 | if isinstance(type_def, Message): |
| 934 | self.serializer_registration(lines, type_def, owner_path) |
| 935 | else: |
| 936 | self.generate_type_registration(lines, type_def, owner_path) |
| 937 | lines.append(" }") |
| 938 | lines.append("}") |
| 939 | return self.source_file(class_name, lines) |
| 940 | |
| 941 | def registration_order(self) -> List[Tuple[object, Optional[str]]]: |
| 942 | entries: List[Tuple[object, Optional[str], List[Message]]] = [] |
no test coverage detected