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

Method generate

compiler/fory_compiler/generators/java.py:362–403  ·  view source on GitHub ↗

Generate Java files for the schema. Generation mode depends on options: - java_multiple_files = true: Separate file per type (default behavior) - java_outer_classname set + java_multiple_files = false: Single file with outer class - Neither set: Separate file per typ

(self)

Source from the content-addressed store, hash-verified

360 }
361
362 def generate(self) -> List[GeneratedFile]:
363 """Generate Java files for the schema.
364
365 Generation mode depends on options:
366 - java_multiple_files = true: Separate file per type (default behavior)
367 - java_outer_classname set + java_multiple_files = false: Single file with outer class
368 - Neither set: Separate file per type
369 """
370 files = []
371
372 outer_classname = self.get_java_outer_classname()
373 multiple_files = self.get_java_multiple_files()
374
375 if outer_classname and not multiple_files:
376 # Generate all types in a single outer class file
377 files.append(self.generate_outer_class_file(outer_classname))
378 # Generate schema module (with outer class prefix)
379 files.append(self.generate_module_file(outer_classname))
380 else:
381 # Generate separate files for each type
382 # Generate enum files (top-level only, nested enums go inside message files)
383 for enum in self.schema.enums:
384 if self.is_imported_type(enum):
385 continue
386 files.append(self.generate_enum_file(enum))
387
388 # Generate union files (top-level only, nested unions go inside message files)
389 for union in self.schema.unions:
390 if self.is_imported_type(union):
391 continue
392 files.append(self.generate_union_file(union))
393
394 # Generate message files (includes nested types as inner classes)
395 for message in self.schema.messages:
396 if self.is_imported_type(message):
397 continue
398 files.append(self.generate_message_file(message))
399
400 # Generate schema module
401 files.append(self.generate_module_file())
402
403 return files
404
405 def get_java_package_path(self) -> str:
406 """Get the Java package as a path."""

Calls 9

generate_module_fileMethod · 0.95
is_imported_typeMethod · 0.95
generate_enum_fileMethod · 0.95
generate_union_fileMethod · 0.95
generate_message_fileMethod · 0.95
appendMethod · 0.45