/** * 添加给Example类序列化的方法 * @param topLevelClass * @param introspectedTable * @return */ @Override public boolean modelExampleClassGenerated(TopLevelClass topLevelClass,IntrospectedTable introspectedTable){ makeSerializable(topLevelClass, introspectedTable); for (InnerClass innerClass : topLevelClass.getInnerClasses()) { if ("GeneratedCriteria".equals(innerClass.getType().getShortName())) { innerClass.addSuperInterface(serializable); } if ("Criteria".equals(innerClass.getType().getShortName())) { innerClass.addSuperInterface(serializable); } if ("Criterion".equals(innerClass.getType().getShortName())) { innerClass.addSuperInterface(serializable); } } return true; }
private InnerClass getCriteriaInnerClass(TopLevelClass topLevelClass) { Method method; InnerClass answer = new InnerClass(FullyQualifiedJavaType.getCriteriaInstance()); answer.setVisibility(JavaVisibility.PUBLIC); answer.setStatic(true); answer.setSuperClass(FullyQualifiedJavaType.getGeneratedCriteriaInstance()); context.getCommentGenerator().addClassComment(answer, introspectedTable, true); method = new Method(); method.setVisibility(JavaVisibility.PROTECTED); method.setName("Criteria"); //$NON-NLS-1$ method.setConstructor(true); method.addBodyLine("super();"); //$NON-NLS-1$ answer.addMethod(method); return answer; }
StringBuilder sb = new StringBuilder(); addFormattedJavadoc(sb, indentLevel); addFormattedAnnotations(sb, indentLevel); sb.append(getVisibility().getValue()); if (isAbstract()) { sb.append("abstract "); //$NON-NLS-1$ if (isStatic()) { sb.append("static "); //$NON-NLS-1$ if (isFinal()) { sb.append("final "); //$NON-NLS-1$ sb.append(getType().getShortName()); if (!this.getTypeParameters().isEmpty()) { boolean comma = false; sb.append("<"); //$NON-NLS-1$ OutputUtilities.newLine(sb); InnerClass innerClass = icIter.next(); sb.append(innerClass.getFormattedContent(indentLevel, compilationUnit)); if (icIter.hasNext()) { OutputUtilities.newLine(sb);
protected void generateFluentSetterFor(String field, FullyQualifiedJavaType type, InnerClass innerClass) { Method method = new Method(); method.setVisibility(JavaVisibility.PUBLIC); method.setName(field); method.addParameter(new Parameter(type, field)); method.addBodyLine("this." + field + " = " + field + ";"); method.addBodyLine("return this;"); method.setReturnType(innerClass.getType()); innerClass.addMethod(method); }
field.setType(new FullyQualifiedJavaType("java.util.List<Criterion>")); //$NON-NLS-1$ field.setName(answer); innerClass.addField(field); sb.append(';'); method.addBodyLine(sb.toString()); innerClass.addMethod(method); field.getName(), introspectedColumn.getTypeHandler())); method.addBodyLine("allCriteria = null;"); //$NON-NLS-1$ innerClass.addMethod(method); innerClass.addMethod(method);
private void addFactoryMethodToCriteria(TopLevelClass topLevelClass, InnerClass innerClass, IntrospectedTable introspectedTable) { Field f = new Field("example", topLevelClass.getType()); f.setVisibility(JavaVisibility.PRIVATE); innerClass.addField(f); // overwrite constructor List<Method> methods = innerClass.getMethods(); for (Method method : methods) { if (method.isConstructor()) { method.addParameter(new Parameter(topLevelClass.getType(), "example")); method.addBodyLine("this.example = example;"); } } // add factory method "example" Method method = new Method("example"); method.setVisibility(JavaVisibility.PUBLIC); method.setReturnType(topLevelClass.getType()); method.addBodyLine("return this.example;"); context.getCommentGenerator().addGeneralMethodComment(method, introspectedTable); innerClass.addMethod(method); } }
@Override public boolean modelExampleClassGenerated(TopLevelClass topLevelClass, IntrospectedTable introspectedTable) { for (InnerClass innerClass : topLevelClass.getInnerClasses()) { if (FullyQualifiedJavaType.getGeneratedCriteriaInstance().equals(innerClass.getType())) { String tableName = introspectedTable.getFullyQualifiedTableNameAtRuntime(); Method method = new Method(); method.setName("addConditionSql"); method.setVisibility(JavaVisibility.PUBLIC); method.setReturnType(FullyQualifiedJavaType.getCriteriaInstance()); method.addBodyLine("addCriterion(conditionSql);"); method.addBodyLine("return (Criteria) this;"); method.addParameter(new Parameter(FullyQualifiedJavaType.getStringInstance(), "conditionSql")); PluginUtils.addDoc(this.getContext(), method, tableName); innerClass.getMethods().add(method); System.out.println("-----------------" + topLevelClass.getType().getShortName() + " add method=addConditionSql for custom sql statement in where clause."); } } return true; } }
@Override public void addClassComment(InnerClass innerClass, IntrospectedTable introspectedTable, boolean markAsDoNotDelete) { SimpleDateFormat sdf1=new SimpleDateFormat("yyyy"); SimpleDateFormat sdf2=new SimpleDateFormat("yyyy-MM-dd"); innerClass.addJavaDocLine("/**"); innerClass.addJavaDocLine(" *"); innerClass.addJavaDocLine(" * @author "+author); innerClass.addJavaDocLine(" * @description "); innerClass.addJavaDocLine(" * @Copyright (c) "+ sdf1.format(new Date())+", Lianjia Group All Rights Reserved."); innerClass.addJavaDocLine(" * @date "+sdf2.format(new Date())+""); innerClass.addJavaDocLine(" * @version 1.0"); innerClass.addJavaDocLine(" */"); }
/** * {@inheritDoc} */ @Override public boolean modelExampleClassGenerated(TopLevelClass topLevelClass, IntrospectedTable introspectedTable) { List<InnerClass> innerClasses = topLevelClass.getInnerClasses(); for (InnerClass innerClass : innerClasses) { if ("Criteria".equals(innerClass.getType().getShortName())) { addFactoryMethodToCriteria(topLevelClass, innerClass, introspectedTable); } } List<Method> methods = topLevelClass.getMethods(); for (Method method : methods) { if (!"createCriteriaInternal".equals(method.getName())) continue; method.getBodyLines().set(0, "Criteria criteria = new Criteria(this);"); } return true; }
protected Field generateFieldDeclarationFor(String field, FullyQualifiedJavaType type, InnerClass innerClass) { Field ff = new Field(); ff.setVisibility(JavaVisibility.PROTECTED); ff.setType(type); ff.setName(field); innerClass.addField(ff); return ff; }
protected void generateFluentGetterFor(String field, FullyQualifiedJavaType type, InnerClass innerClass) { Method method = new Method(); method.setVisibility(JavaVisibility.PUBLIC); method.setName(field); method.addBodyLine("return this." + field + ";"); method.setReturnType(type); innerClass.addMethod(method); }
in.setSuperClass(criteria); Method method = in.getMethods().get(0); method.removeParameter(1); method.addParameter(1, parameter);
private InnerClass getCriteriaInnerClass(TopLevelClass topLevelClass) { Method method; InnerClass answer = new InnerClass(FullyQualifiedJavaType.getCriteriaInstance()); answer.setVisibility(JavaVisibility.PUBLIC); answer.setStatic(true); answer.setSuperClass(FullyQualifiedJavaType.getGeneratedCriteriaInstance()); context.getCommentGenerator().addClassComment(answer, introspectedTable, true); method = new Method(); method.setVisibility(JavaVisibility.PROTECTED); method.setName("Criteria"); //$NON-NLS-1$ method.setConstructor(true); method.addBodyLine("super();"); //$NON-NLS-1$ answer.addMethod(method); return answer; }
public String getFormattedContent(int indentLevel) { StringBuilder sb = new StringBuilder(); addFormattedJavadoc(sb, indentLevel); addFormattedAnnotations(sb, indentLevel); sb.append(getVisibility().getValue()); if (isAbstract()) { sb.append("abstract "); //$NON-NLS-1$ if (isStatic()) { sb.append("static "); //$NON-NLS-1$ if (isFinal()) { sb.append("final "); //$NON-NLS-1$ sb.append(getType().getShortName()); OutputUtilities.newLine(sb); InnerClass innerClass = icIter.next(); sb.append(innerClass.getFormattedContent(indentLevel)); if (icIter.hasNext()) { OutputUtilities.newLine(sb);
field.setType(new FullyQualifiedJavaType("java.util.List<Criterion>")); //$NON-NLS-1$ field.setName(answer); innerClass.addField(field); sb.append(';'); method.addBodyLine(sb.toString()); innerClass.addMethod(method); field.getName(), introspectedColumn.getTypeHandler())); method.addBodyLine("allCriteria = null;"); //$NON-NLS-1$ innerClass.addMethod(method); innerClass.addMethod(method);
if (FullyQualifiedJavaType.getGeneratedCriteriaInstance().equals(innerClass.getType())) { for (Method method : innerClass.getMethods()) { String FN = fieldName.substring(0, 1).toUpperCase() + fieldName.substring(1, fieldName.length()); if (method.getName().equals("and" + FN + "EqualTo")) {
@Override public void addClassComment(InnerClass innerClass, IntrospectedTable introspectedTable, boolean markAsDoNotDelete) { SimpleDateFormat sdf1=new SimpleDateFormat("yyyy"); SimpleDateFormat sdf2=new SimpleDateFormat("yyyy-MM-dd"); innerClass.addJavaDocLine("/**"); innerClass.addJavaDocLine(" *"); innerClass.addJavaDocLine(" * @author "+author); innerClass.addJavaDocLine(" * @description "); innerClass.addJavaDocLine(" * @Copyright (c) "+ sdf1.format(new Date())+", Lianjia Group All Rights Reserved."); innerClass.addJavaDocLine(" * @date "+sdf2.format(new Date())+""); innerClass.addJavaDocLine(" * @version 1.0"); innerClass.addJavaDocLine(" */"); }
private void handleAlias(TopLevelClass topLevelClass, InnerClass innerClass, String tableFieldName, String aliasFieldName, String alias) { FullyQualifiedJavaType fieldType = FullyQualifiedJavaType.getStringInstance(); // tlc field Field field = new Field(aliasFieldName, fieldType); field.setVisibility(JavaVisibility.PUBLIC); field.setStatic(true); field.setFinal(true); field.setInitializationString(tableFieldName + "." + aliasFieldName); //$NON-NLS-1$ commentGenerator.addFieldAnnotation(field, introspectedTable, topLevelClass.getImportedTypes()); topLevelClass.addField(field); // inner class field field = new Field(aliasFieldName, fieldType); field.setVisibility(JavaVisibility.PUBLIC); field.setFinal(true); field.setInitializationString(String.format("\"%s\"", alias)); innerClass.addField(field); }
protected void generateGetterFor(String field, FullyQualifiedJavaType type, InnerClass innerClass) { Method method = new Method(); method.setVisibility(JavaVisibility.PUBLIC); method.setName("get" + capitalize(field)); method.setReturnType(type); method.addBodyLine("return this." + field + ";"); innerClass.addMethod(method); }