@Override protected void writeSetterBody(JavaFileWriter writer, MethodDeclarationParameters params) throws IOException { String argName = params.getArgumentNames().get(0); final String argAsString = argName + "AsString"; Expression condition = Expressions.fromString(argName + " == null"); Expression ifTrue = Expressions.fromString("null"); Expression ifFalse = Expressions.callMethodOn(argName, "name"); writer.writeFieldDeclaration(CoreTypes.JAVA_STRING, argAsString, new TernaryExpression(condition, ifTrue, ifFalse)); writer.writeStatement(Expressions.callMethod("set", propertyName, argAsString)); writer.writeStringStatement("return this"); }
@Override protected void writeGetterBody(JavaFileWriter writer, MethodDeclarationParameters params) throws IOException { final String value = "value"; writer.writeFieldDeclaration(CoreTypes.JAVA_STRING, value, Expressions.callMethod("get", propertyName)); Expression condition = Expressions.fromString(value + " == null"); Expression ifTrue = Expressions.fromString("null"); Expression ifFalse = Expressions.staticMethod(enumType, "valueOf", value); TernaryExpression ternary = new TernaryExpression(condition, ifTrue, ifFalse); writer.writeStatement(ternary.returnExpr()); }
protected void writePropertiesInitializationBlock() throws IOException { for (int i = 0; i < modelSpec.getPropertyGenerators().size(); i++) { writer.writeStatement(Expressions .assign(Expressions.arrayReference(PROPERTIES_ARRAY_NAME, i), Expressions.fromString(modelSpec.getPropertyGenerators().get(i).getPropertyName()))); } }
@Override public void afterEmitPropertyDeclaration(JavaFileWriter writer, PropertyGenerator propertyGenerator) throws IOException { if (propertyGenerator instanceof RowidPropertyGenerator) { if (((TableModelSpecWrapper) modelSpec).isVirtualTable()) { writer.writeAnnotation(CoreTypes.DEPRECATED); writer.writeFieldDeclaration(TypeConstants.LONG_PROPERTY, DEFAULT_ID_PROPERTY_NAME, Expressions.fromString(DEFAULT_ROWID_PROPERTY_NAME), TypeConstants.PUBLIC_STATIC_FINAL); } writeRowidSupportMethods(writer, propertyGenerator.getPropertyName()); } }
private void emitSqlTableDeclaration(boolean view) throws IOException { writer.writeComment("--- " + (view ? "view" : "subquery") + " declaration"); String name = "\"" + modelSpec.getSpecAnnotation().viewName().trim() + "\""; if (modelSpec.getQueryElement() != null) { Expression queryReference = Expressions.staticReference(modelSpec.getModelSpecName(), modelSpec.getQueryElement().getSimpleName().toString()) .callMethod("selectMore", ALIASED_PROPERTY_ARRAY_NAME); if (modelSpec.getViewQueryAnnotation().freeze()) { queryReference = queryReference.callMethod("freeze"); } writer.writeFieldDeclaration(TypeConstants.QUERY, QUERY_NAME, queryReference, TypeConstants.PUBLIC_STATIC_FINAL); Expression initializer = constructInitializer(name, view); writer.writeFieldDeclaration(view ? TypeConstants.VIEW : TypeConstants.SUBQUERY_TABLE, view ? VIEW_NAME : SUBQUERY_NAME, initializer, TypeConstants.PUBLIC_STATIC_FINAL); } else { writer.writeFieldDeclaration(CoreTypes.JAVA_STRING, view ? "VIEW_NAME" : "SUBQUERY_NAME", Expressions.fromString(name), TypeConstants.PUBLIC_STATIC_FINAL); } writer.writeNewline(); }
@Override protected void writeSetterBody(JavaFileWriter writer, MethodDeclarationParameters params) throws IOException { String argName = params.getArgumentNames().get(0); final String argAsString = argName + "AsString"; Expression condition = Expressions.fromString(argName + " == null"); Expression ifTrue = Expressions.fromString("null"); Expression ifFalse = Expressions.callMethodOn(argName, "name"); writer.writeFieldDeclaration(CoreTypes.JAVA_STRING, argAsString, new TernaryExpression(condition, ifTrue, ifFalse)); writer.writeStatement(Expressions.callMethod("set", propertyName, argAsString)); writer.writeStringStatement("return this"); }
@Override protected void writeGetterBody(JavaFileWriter writer, MethodDeclarationParameters params) throws IOException { final String value = "value"; writer.writeFieldDeclaration(CoreTypes.JAVA_STRING, value, Expressions.callMethod("get", propertyName)); Expression condition = Expressions.fromString(value + " == null"); Expression ifTrue = Expressions.fromString("null"); Expression ifFalse = Expressions.staticMethod(enumType, "valueOf", value); TernaryExpression ternary = new TernaryExpression(condition, ifTrue, ifFalse); writer.writeStatement(ternary.returnExpr()); }
protected void writePropertiesInitializationBlock() throws IOException { for (int i = 0; i < modelSpec.getPropertyGenerators().size(); i++) { writer.writeStatement(Expressions .assign(Expressions.arrayReference(PROPERTIES_ARRAY_NAME, i), Expressions.fromString(modelSpec.getPropertyGenerators().get(i).getPropertyName()))); } }
@Override public void afterEmitPropertyDeclaration(JavaFileWriter writer, PropertyGenerator propertyGenerator) throws IOException { if (propertyGenerator instanceof RowidPropertyGenerator) { if (((TableModelSpecWrapper) modelSpec).isVirtualTable()) { writer.writeAnnotation(CoreTypes.DEPRECATED); writer.writeFieldDeclaration(TypeConstants.LONG_PROPERTY, DEFAULT_ID_PROPERTY_NAME, Expressions.fromString(DEFAULT_ROWID_PROPERTY_NAME), TypeConstants.PUBLIC_STATIC_FINAL); } writeRowidSupportMethods(writer, propertyGenerator.getPropertyName()); } }
private void emitSqlTableDeclaration(boolean view) throws IOException { writer.writeComment("--- " + (view ? "view" : "subquery") + " declaration"); String name = "\"" + modelSpec.getSpecAnnotation().viewName().trim() + "\""; if (modelSpec.getQueryElement() != null) { Expression queryReference = Expressions.staticReference(modelSpec.getModelSpecName(), modelSpec.getQueryElement().getSimpleName().toString()) .callMethod("selectMore", ALIASED_PROPERTY_ARRAY_NAME); if (modelSpec.getViewQueryAnnotation().freeze()) { queryReference = queryReference.callMethod("freeze"); } writer.writeFieldDeclaration(TypeConstants.QUERY, QUERY_NAME, queryReference, TypeConstants.PUBLIC_STATIC_FINAL); Expression initializer = constructInitializer(name, view); writer.writeFieldDeclaration(view ? TypeConstants.VIEW : TypeConstants.SUBQUERY_TABLE, view ? VIEW_NAME : SUBQUERY_NAME, initializer, TypeConstants.PUBLIC_STATIC_FINAL); } else { writer.writeFieldDeclaration(CoreTypes.JAVA_STRING, view ? "VIEW_NAME" : "SUBQUERY_NAME", Expressions.fromString(name), TypeConstants.PUBLIC_STATIC_FINAL); } writer.writeNewline(); }