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

Method generate_enum_file

compiler/fory_compiler/generators/java.py:412–441  ·  view source on GitHub ↗

Generate a Java enum file.

(self, enum: Enum)

Source from the content-addressed store, hash-verified

410 return ""
411
412 def generate_enum_file(self, enum: Enum) -> GeneratedFile:
413 """Generate a Java enum file."""
414 lines = []
415 java_package = self.get_java_package()
416
417 # License header
418 lines.append(self.get_license_header())
419 lines.append("")
420
421 # Package
422 if java_package:
423 lines.append(f"package {java_package};")
424 lines.append("")
425
426 lines.append("import org.apache.fory.annotation.ForyEnumId;")
427 lines.append("")
428
429 # Enum declaration
430 lines.extend(
431 self.generate_enum_declaration(enum, f"public enum {enum.name} {{")
432 )
433
434 # Build file path
435 path = self.get_java_package_path()
436 if path:
437 path = f"{path}/{enum.name}.java"
438 else:
439 path = f"{enum.name}.java"
440
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."""

Callers 1

generateMethod · 0.95

Calls 7

get_java_packageMethod · 0.95
get_java_package_pathMethod · 0.95
GeneratedFileClass · 0.90
get_license_headerMethod · 0.80
extendMethod · 0.80
appendMethod · 0.45

Tested by

no test coverage detected