use of org.mybatis.generator.api.dom.java.FullyQualifiedJavaType in project generator by mybatis.
the class TestResourceGenerator method simpleClassWithGeneratedAndCustomItems.
public static String simpleClassWithGeneratedAndCustomItems() {
TopLevelClass tlc = new TopLevelClass(new FullyQualifiedJavaType("org.mybatis.test.SimpleClass"));
tlc.setVisibility(JavaVisibility.PUBLIC);
Field field = new Field("description", FullyQualifiedJavaType.getStringInstance());
field.setVisibility(JavaVisibility.PRIVATE);
commentGenerator.addFieldComment(field);
tlc.addField(field);
Method method = new Method("getDescription");
method.setReturnType(FullyQualifiedJavaType.getStringInstance());
method.addBodyLine("return description;");
method.setVisibility(JavaVisibility.PUBLIC);
commentGenerator.addMethodComment(method);
tlc.addMethod(method);
method = new Method("setDescription");
method.addParameter(new Parameter(FullyQualifiedJavaType.getStringInstance(), "description"));
method.addBodyLine("this.description = description;");
method.setVisibility(JavaVisibility.PUBLIC);
commentGenerator.addMethodComment(method);
tlc.addMethod(method);
// no comments on these items - they should survive a merge
FullyQualifiedJavaType bigDecimal = new FullyQualifiedJavaType("java.math.BigDecimal");
tlc.addImportedType(bigDecimal);
field = new Field("amount", bigDecimal);
field.setVisibility(JavaVisibility.PRIVATE);
tlc.addField(field);
method = new Method("getAmount");
method.setReturnType(bigDecimal);
method.addBodyLine("return amount;");
method.setVisibility(JavaVisibility.PUBLIC);
tlc.addMethod(method);
method = new Method("setAmount");
method.addParameter(new Parameter(bigDecimal, "amount"));
method.addBodyLine("this.amount = amount;");
method.setVisibility(JavaVisibility.PUBLIC);
tlc.addMethod(method);
return tlc.getFormattedContent();
}
use of org.mybatis.generator.api.dom.java.FullyQualifiedJavaType in project generator by mybatis.
the class TestResourceGenerator method simpleClassWithAllGeneratedItems.
public static String simpleClassWithAllGeneratedItems() {
TopLevelClass tlc = new TopLevelClass(new FullyQualifiedJavaType("org.mybatis.test.SimpleClass"));
tlc.setVisibility(JavaVisibility.PUBLIC);
Field field = new Field("id", FullyQualifiedJavaType.getIntInstance());
field.setVisibility(JavaVisibility.PRIVATE);
commentGenerator.addFieldComment(field);
tlc.addField(field);
Method method = new Method("getId");
method.setReturnType(FullyQualifiedJavaType.getIntInstance());
method.addBodyLine("return id;");
method.setVisibility(JavaVisibility.PUBLIC);
commentGenerator.addMethodComment(method);
tlc.addMethod(method);
method = new Method("setId");
method.addParameter(new Parameter(FullyQualifiedJavaType.getIntInstance(), "id"));
method.addBodyLine("this.id = id;");
method.setVisibility(JavaVisibility.PUBLIC);
commentGenerator.addMethodComment(method);
tlc.addMethod(method);
return tlc.getFormattedContent();
}
use of org.mybatis.generator.api.dom.java.FullyQualifiedJavaType in project generator by mybatis.
the class TestResourceGenerator method simpleInterfaceWithAllGeneratedItems.
public static String simpleInterfaceWithAllGeneratedItems() {
Interface itf = new Interface(new FullyQualifiedJavaType("org.mybatis.test.SimpleInterface"));
itf.setVisibility(JavaVisibility.PUBLIC);
Method method = new Method("count");
method.setReturnType(FullyQualifiedJavaType.getIntInstance());
commentGenerator.addMethodComment(method);
itf.addMethod(method);
method = new Method("add");
method.addParameter(new Parameter(FullyQualifiedJavaType.getIntInstance(), "a"));
method.addParameter(new Parameter(FullyQualifiedJavaType.getIntInstance(), "b"));
method.setReturnType(FullyQualifiedJavaType.getIntInstance());
commentGenerator.addMethodComment(method);
itf.addMethod(method);
return itf.getFormattedContent();
}
use of org.mybatis.generator.api.dom.java.FullyQualifiedJavaType in project generator by mybatis.
the class BaseRecordGenerator method getCompilationUnits.
@Override
public List<CompilationUnit> getCompilationUnits() {
FullyQualifiedTable table = introspectedTable.getFullyQualifiedTable();
progressCallback.startTask(getString("Progress.8", //$NON-NLS-1$
table.toString()));
Plugin plugins = context.getPlugins();
CommentGenerator commentGenerator = context.getCommentGenerator();
TopLevelClass topLevelClass = new TopLevelClass(introspectedTable.getBaseRecordType());
topLevelClass.setVisibility(JavaVisibility.PUBLIC);
commentGenerator.addJavaFileComment(topLevelClass);
FullyQualifiedJavaType superClass = getSuperClass();
if (superClass != null) {
topLevelClass.setSuperClass(superClass);
topLevelClass.addImportedType(superClass);
}
List<IntrospectedColumn> introspectedColumns;
if (includePrimaryKeyColumns()) {
if (includeBLOBColumns()) {
introspectedColumns = introspectedTable.getAllColumns();
} else {
introspectedColumns = introspectedTable.getNonBLOBColumns();
}
} else {
if (includeBLOBColumns()) {
introspectedColumns = introspectedTable.getNonPrimaryKeyColumns();
} else {
introspectedColumns = introspectedTable.getBaseColumns();
}
}
String rootClass = getRootClass();
for (IntrospectedColumn introspectedColumn : introspectedColumns) {
if (RootClassInfo.getInstance(rootClass, warnings).containsProperty(introspectedColumn)) {
continue;
}
Field field = getJavaBeansField(introspectedColumn, context, introspectedTable);
if (plugins.modelFieldGenerated(field, topLevelClass, introspectedColumn, introspectedTable, Plugin.ModelClassType.BASE_RECORD)) {
topLevelClass.addField(field);
topLevelClass.addImportedType(field.getType());
}
Method method = getJavaBeansGetter(introspectedColumn, context, introspectedTable);
if (plugins.modelGetterMethodGenerated(method, topLevelClass, introspectedColumn, introspectedTable, Plugin.ModelClassType.BASE_RECORD)) {
topLevelClass.addMethod(method);
}
method = getJavaBeansSetter(introspectedColumn, context, introspectedTable);
if (plugins.modelSetterMethodGenerated(method, topLevelClass, introspectedColumn, introspectedTable, Plugin.ModelClassType.BASE_RECORD)) {
topLevelClass.addMethod(method);
}
}
List<CompilationUnit> answer = new ArrayList<CompilationUnit>();
if (context.getPlugins().modelBaseRecordClassGenerated(topLevelClass, introspectedTable)) {
answer.add(topLevelClass);
}
return answer;
}
use of org.mybatis.generator.api.dom.java.FullyQualifiedJavaType in project generator by mybatis.
the class ExampleGenerator method getCompilationUnits.
@Override
public List<CompilationUnit> getCompilationUnits() {
FullyQualifiedTable table = introspectedTable.getFullyQualifiedTable();
progressCallback.startTask(getString("Progress.6", //$NON-NLS-1$
table.toString()));
CommentGenerator commentGenerator = context.getCommentGenerator();
FullyQualifiedJavaType type = new FullyQualifiedJavaType(introspectedTable.getExampleType());
TopLevelClass topLevelClass = new TopLevelClass(type);
topLevelClass.setVisibility(JavaVisibility.PUBLIC);
commentGenerator.addJavaFileComment(topLevelClass);
// add default constructor
Method method = new Method();
method.setVisibility(JavaVisibility.PUBLIC);
method.setConstructor(true);
method.setName(type.getShortName());
if (generateForJava5) {
//$NON-NLS-1$
method.addBodyLine("oredCriteria = new ArrayList<Criteria>();");
} else {
//$NON-NLS-1$
method.addBodyLine("oredCriteria = new ArrayList();");
}
commentGenerator.addGeneralMethodComment(method, introspectedTable);
topLevelClass.addMethod(method);
// add shallow copy constructor if the update by
// example methods are enabled - because the parameter
// class for update by example methods will subclass this class
Rules rules = introspectedTable.getRules();
if (rules.generateUpdateByExampleSelective() || rules.generateUpdateByExampleWithBLOBs() || rules.generateUpdateByExampleWithoutBLOBs()) {
method = new Method();
method.setVisibility(JavaVisibility.PROTECTED);
method.setConstructor(true);
method.setName(type.getShortName());
//$NON-NLS-1$
method.addParameter(new Parameter(type, "example"));
//$NON-NLS-1$
method.addBodyLine("this.orderByClause = example.orderByClause;");
//$NON-NLS-1$
method.addBodyLine("this.oredCriteria = example.oredCriteria;");
//$NON-NLS-1$
method.addBodyLine("this.distinct = example.distinct;");
commentGenerator.addGeneralMethodComment(method, introspectedTable);
topLevelClass.addMethod(method);
}
// add field, getter, setter for orderby clause
Field field = new Field();
field.setVisibility(JavaVisibility.PROTECTED);
field.setType(FullyQualifiedJavaType.getStringInstance());
//$NON-NLS-1$
field.setName("orderByClause");
commentGenerator.addFieldComment(field, introspectedTable);
topLevelClass.addField(field);
method = new Method();
method.setVisibility(JavaVisibility.PUBLIC);
//$NON-NLS-1$
method.setName("setOrderByClause");
method.addParameter(new Parameter(FullyQualifiedJavaType.getStringInstance(), //$NON-NLS-1$
"orderByClause"));
//$NON-NLS-1$
method.addBodyLine("this.orderByClause = orderByClause;");
commentGenerator.addGeneralMethodComment(method, introspectedTable);
topLevelClass.addMethod(method);
method = new Method();
method.setVisibility(JavaVisibility.PUBLIC);
method.setReturnType(FullyQualifiedJavaType.getStringInstance());
//$NON-NLS-1$
method.setName("getOrderByClause");
//$NON-NLS-1$
method.addBodyLine("return orderByClause;");
commentGenerator.addGeneralMethodComment(method, introspectedTable);
topLevelClass.addMethod(method);
// add field, getter, setter for distinct
field = new Field();
field.setVisibility(JavaVisibility.PROTECTED);
field.setType(FullyQualifiedJavaType.getBooleanPrimitiveInstance());
//$NON-NLS-1$
field.setName("distinct");
commentGenerator.addFieldComment(field, introspectedTable);
topLevelClass.addField(field);
method = new Method();
method.setVisibility(JavaVisibility.PUBLIC);
//$NON-NLS-1$
method.setName("setDistinct");
method.addParameter(new Parameter(FullyQualifiedJavaType.getBooleanPrimitiveInstance(), //$NON-NLS-1$
"distinct"));
//$NON-NLS-1$
method.addBodyLine("this.distinct = distinct;");
commentGenerator.addGeneralMethodComment(method, introspectedTable);
topLevelClass.addMethod(method);
method = new Method();
method.setVisibility(JavaVisibility.PUBLIC);
method.setReturnType(FullyQualifiedJavaType.getBooleanPrimitiveInstance());
//$NON-NLS-1$
method.setName("isDistinct");
//$NON-NLS-1$
method.addBodyLine("return distinct;");
commentGenerator.addGeneralMethodComment(method, introspectedTable);
topLevelClass.addMethod(method);
// add field and methods for the list of ored criteria
field = new Field();
field.setVisibility(JavaVisibility.PROTECTED);
FullyQualifiedJavaType fqjt;
if (generateForJava5) {
//$NON-NLS-1$
fqjt = new FullyQualifiedJavaType("java.util.List<Criteria>");
} else {
//$NON-NLS-1$
fqjt = new FullyQualifiedJavaType("java.util.List");
}
field.setType(fqjt);
//$NON-NLS-1$
field.setName("oredCriteria");
commentGenerator.addFieldComment(field, introspectedTable);
topLevelClass.addField(field);
method = new Method();
method.setVisibility(JavaVisibility.PUBLIC);
method.setReturnType(fqjt);
//$NON-NLS-1$
method.setName("getOredCriteria");
//$NON-NLS-1$
method.addBodyLine("return oredCriteria;");
commentGenerator.addGeneralMethodComment(method, introspectedTable);
topLevelClass.addMethod(method);
method = new Method();
method.setVisibility(JavaVisibility.PUBLIC);
//$NON-NLS-1$
method.setName("or");
method.addParameter(new Parameter(FullyQualifiedJavaType.getCriteriaInstance(), //$NON-NLS-1$
"criteria"));
//$NON-NLS-1$
method.addBodyLine("oredCriteria.add(criteria);");
commentGenerator.addGeneralMethodComment(method, introspectedTable);
topLevelClass.addMethod(method);
method = new Method();
method.setVisibility(JavaVisibility.PUBLIC);
//$NON-NLS-1$
method.setName("or");
method.setReturnType(FullyQualifiedJavaType.getCriteriaInstance());
//$NON-NLS-1$
method.addBodyLine("Criteria criteria = createCriteriaInternal();");
//$NON-NLS-1$
method.addBodyLine("oredCriteria.add(criteria);");
//$NON-NLS-1$
method.addBodyLine("return criteria;");
commentGenerator.addGeneralMethodComment(method, introspectedTable);
topLevelClass.addMethod(method);
method = new Method();
method.setVisibility(JavaVisibility.PUBLIC);
//$NON-NLS-1$
method.setName("createCriteria");
method.setReturnType(FullyQualifiedJavaType.getCriteriaInstance());
//$NON-NLS-1$
method.addBodyLine("Criteria criteria = createCriteriaInternal();");
//$NON-NLS-1$
method.addBodyLine("if (oredCriteria.size() == 0) {");
//$NON-NLS-1$
method.addBodyLine("oredCriteria.add(criteria);");
//$NON-NLS-1$
method.addBodyLine("}");
//$NON-NLS-1$
method.addBodyLine("return criteria;");
commentGenerator.addGeneralMethodComment(method, introspectedTable);
topLevelClass.addMethod(method);
method = new Method();
method.setVisibility(JavaVisibility.PROTECTED);
//$NON-NLS-1$
method.setName("createCriteriaInternal");
method.setReturnType(FullyQualifiedJavaType.getCriteriaInstance());
//$NON-NLS-1$
method.addBodyLine("Criteria criteria = new Criteria();");
//$NON-NLS-1$
method.addBodyLine("return criteria;");
commentGenerator.addGeneralMethodComment(method, introspectedTable);
topLevelClass.addMethod(method);
method = new Method();
method.setVisibility(JavaVisibility.PUBLIC);
//$NON-NLS-1$
method.setName("clear");
//$NON-NLS-1$
method.addBodyLine("oredCriteria.clear();");
//$NON-NLS-1$
method.addBodyLine("orderByClause = null;");
//$NON-NLS-1$
method.addBodyLine("distinct = false;");
commentGenerator.addGeneralMethodComment(method, introspectedTable);
topLevelClass.addMethod(method);
// now generate the inner class that holds the AND conditions
topLevelClass.addInnerClass(getGeneratedCriteriaInnerClass(topLevelClass));
topLevelClass.addInnerClass(getCriteriaInnerClass());
List<CompilationUnit> answer = new ArrayList<CompilationUnit>();
if (context.getPlugins().modelExampleClassGenerated(topLevelClass, introspectedTable)) {
answer.add(topLevelClass);
}
return answer;
}
Aggregations