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

Method generate_getter_setter

compiler/fory_compiler/generators/java.py:1253–1286  ·  view source on GitHub ↗

Generate getter and setter for a field.

(
        self, field: Field, parent_stack: Optional[List[Message]]
    )

Source from the content-addressed store, hash-verified

1251 return lines
1252
1253 def generate_getter_setter(
1254 self, field: Field, parent_stack: Optional[List[Message]]
1255 ) -> List[str]:
1256 """Generate getter and setter for a field."""
1257 lines = []
1258 is_any = (
1259 isinstance(field.field_type, PrimitiveType)
1260 and field.field_type.kind == PrimitiveKind.ANY
1261 )
1262 nullable = field.optional or is_any
1263 java_type = self.generate_type(
1264 field.field_type,
1265 nullable,
1266 field.element_optional,
1267 field.element_ref,
1268 field,
1269 parent_stack=parent_stack,
1270 )
1271 field_name = self.to_camel_case(field.name)
1272 pascal_name = self.to_pascal_case(field.name)
1273
1274 # Getter
1275 lines.append(f"public {java_type} get{pascal_name}() {{")
1276 lines.append(f" return {field_name};")
1277 lines.append("}")
1278 lines.append("")
1279
1280 # Setter
1281 lines.append(f"public void set{pascal_name}({java_type} {field_name}) {{")
1282 lines.append(f" this.{field_name} = {field_name};")
1283 lines.append("}")
1284 lines.append("")
1285
1286 return lines
1287
1288 def generate_type(
1289 self,

Callers 2

generate_message_fileMethod · 0.95

Calls 4

generate_typeMethod · 0.95
to_camel_caseMethod · 0.80
to_pascal_caseMethod · 0.80
appendMethod · 0.45

Tested by

no test coverage detected