builder.append(template.toString());
}
@Override
public void createUpdaterMethod(Appendable builder, UserDataProperty property, int indentCount) throws IOException {
UserDataType type = property.getType();
// protected UserEntity.Settings.Updater _settings = null;
// @Override public boolean hasSettings() {
// return _settings != null || _wrapper.hasSettings();
// }
// @Override public UserEntity.Settings.Updater getSettings() {
// if (_settings == null && _wrapper.hasSettings())
// _settings = new UserEntity.Settings.Updater(this, _wrapper.getSettings(), UserEntity.Settings.newBuilder());
// return _settings;
// }
// public Updater setSettings(UserEntity.Settings.Builder value) {
// _settings = new UserEntity.Settings.Updater(this, _wrapper.getSettings(), _builder.getSettings());
// return this;
// }
// public Updater clearSettings() {
// _settings = null;
// return this;
// }
// member variable
appendIndent(builder, indentCount).append("protected ").append(type.getJavaType()).append(".Updater ").append(property.getMemberVariableName()).append(" = null;\n");
// has
appendIndent(builder, indentCount).append("@Override public boolean has").append(property.getCamelCaseName()).append("() {\n");
appendIndent(builder, indentCount + 1).append("return ").append(property.getMemberVariableName()).append(" != null || _wrapper.has").append(property.getCamelCaseName()).append("() || _builder.has").append(property.getCamelCaseName()).append("();\n");
appendIndent(builder, indentCount).append("}\n");
// get
appendIndent(builder, indentCount).append("@Override public ").append(type.getJavaType()).append(".Updater get").append(property.getCamelCaseName()).append("() {\n");
appendIndent(builder, indentCount + 1).append("if (").append(property.getMemberVariableName()).append(" == null && (_wrapper.has").append(property.getCamelCaseName()).append("() || _builder.has").append(property.getCamelCaseName()).append("()))\n");
appendIndent(builder, indentCount + 2).append(property.getMemberVariableName()).append(" = new ").append(type.getJavaType()).append(".Updater(this, _wrapper.get").append(property.getCamelCaseName()).append("(), _builder.get").append(property.getCamelCaseName()).append("());\n");
appendIndent(builder, indentCount + 1).append("return ").append(property.getMemberVariableName()).append(";\n");
appendIndent(builder, indentCount).append("}\n");
// set
appendIndent(builder, indentCount).append("public Updater set").append(property.getCamelCaseName()).append("(").append(type.getJavaType()).append(".Updater value) {\n");
appendIndent(builder, indentCount + 1).append(property.getMemberVariableName()).append(" = new ").append(type.getJavaType()).append(".Updater(this, null, _builder.get").append(property.getCamelCaseName()).append("());\n");
appendIndent(builder, indentCount + 1).append("return this;\n");
appendIndent(builder, indentCount).append("}\n");
// clear
appendIndent(builder, indentCount).append("public Updater clear").append(property.getCamelCaseName()).append("() {\n");