MCPcopy Create free account
hub / github.com/apache/fory / generate_union_file

Method generate_union_file

compiler/fory_compiler/generators/java.py:443–472  ·  view source on GitHub ↗

Generate a Java union class file.

(self, union: Union)

Source from the content-addressed store, hash-verified

441 return GeneratedFile(path=path, content="\n".join(lines))
442
443 def generate_union_file(self, union: Union) -> GeneratedFile:
444 """Generate a Java union class file."""
445 lines = []
446 imports: Set[str] = set()
447 java_package = self.get_java_package()
448
449 self.collect_union_imports(union, imports)
450
451 lines.append(self.get_license_header())
452 lines.append("")
453
454 if java_package:
455 lines.append(f"package {java_package};")
456 lines.append("")
457
458 if imports:
459 for imp in sorted(imports):
460 lines.append(f"import {imp};")
461 lines.append("")
462
463 for line in self.generate_union_class(union):
464 lines.append(line)
465
466 path = self.get_java_package_path()
467 if path:
468 path = f"{path}/{union.name}.java"
469 else:
470 path = f"{union.name}.java"
471
472 return GeneratedFile(path=path, content="\n".join(lines))
473
474 def get_struct_annotation(self, message: Message) -> str:
475 """Return the ForyStruct annotation for a generated message."""

Callers 1

generateMethod · 0.95

Calls 8

get_java_packageMethod · 0.95
collect_union_importsMethod · 0.95
generate_union_classMethod · 0.95
get_java_package_pathMethod · 0.95
GeneratedFileClass · 0.90
get_license_headerMethod · 0.80
setFunction · 0.50
appendMethod · 0.45

Tested by

no test coverage detected