初始化工程
This commit is contained in:
65
Config/Tools/Luban/Templates/java-bin/bean.sbn
Normal file
65
Config/Tools/Luban/Templates/java-bin/bean.sbn
Normal file
@@ -0,0 +1,65 @@
|
||||
{{~if __namespace_with_top_module != ''~}}
|
||||
package {{__namespace_with_top_module}};
|
||||
{{~end~}}
|
||||
|
||||
import luban.*;
|
||||
|
||||
{{~
|
||||
parent_def_type = __this.parent_def_type
|
||||
export_fields = __this.export_fields
|
||||
hierarchy_export_fields = __this.hierarchy_export_fields
|
||||
~}}
|
||||
|
||||
{{~if __this.comment != '' ~}}
|
||||
/**
|
||||
* {{escape_comment __this.comment}}
|
||||
*/
|
||||
{{~end~}}
|
||||
public {{class_modifier __this}} class {{__name}} extends {{if parent_def_type}}{{__this.parent_def_type.full_name_with_top_module}}{{else}}AbstractBean{{end}} {
|
||||
public {{__name}}(ByteBuf _buf) {
|
||||
{{~if parent_def_type~}}
|
||||
super(_buf);
|
||||
{{~end~}}
|
||||
{{~ for field in export_fields ~}}
|
||||
{{deserialize '_buf' (format_field_name __code_style field.name) field.ctype}}
|
||||
{{~end~}}
|
||||
}
|
||||
|
||||
public static {{__name}} deserialize(ByteBuf _buf) {
|
||||
{{~if __this.is_abstract_type~}}
|
||||
switch (_buf.readInt()) {
|
||||
{{~for child in __this.hierarchy_not_abstract_children~}}
|
||||
case {{child.full_name_with_top_module}}.__ID__: return new {{child.full_name_with_top_module}}(_buf);
|
||||
{{~end~}}
|
||||
default: throw new SerializationException();
|
||||
}
|
||||
{{~else~}}
|
||||
return new {{__this.full_name_with_top_module}}(_buf);
|
||||
{{~end~}}
|
||||
}
|
||||
|
||||
{{~ for field in export_fields ~}}
|
||||
{{~if field.comment != '' ~}}
|
||||
/**
|
||||
* {{escape_comment field.comment}}
|
||||
*/
|
||||
{{~end~}}
|
||||
public final {{declaring_type_name field.ctype}} {{format_field_name __code_style field.name}};
|
||||
{{~end~}}
|
||||
|
||||
{{~if !__this.is_abstract_type~}}
|
||||
public static final int __ID__ = {{__this.id}};
|
||||
|
||||
@Override
|
||||
public int getTypeId() { return __ID__; }
|
||||
{{~end~}}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "{{full_name}}{ "
|
||||
{{~for field in hierarchy_export_fields ~}}
|
||||
+ "{{format_field_name __code_style field.name}}:" + {{format_field_name __code_style field.name}} + ","
|
||||
{{~end~}}
|
||||
+ "}";
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user