Merge pull request #922 from querydsl/i908

Use Expression import only when needed
This commit is contained in:
Timo Westkämper 2014-09-03 21:12:52 +03:00
commit 0cc26e9710

View File

@ -13,6 +13,11 @@
*/
package com.mysema.query.codegen;
import javax.annotation.Generated;
import javax.inject.Inject;
import java.io.IOException;
import java.util.Set;
import com.google.common.base.Function;
import com.google.common.collect.Sets;
import com.mysema.codegen.CodeWriter;
@ -21,11 +26,6 @@ import com.mysema.query.types.ConstructorExpression;
import com.mysema.query.types.Expression;
import com.mysema.query.types.expr.NumberExpression;
import javax.annotation.Generated;
import javax.inject.Inject;
import java.io.IOException;
import java.util.Set;
/**
* ProjectionSerializer is a {@link Serializer} implementation for projection types
*
@ -57,7 +57,15 @@ public final class ProjectionSerializer implements Serializer{
// imports
writer.imports(NumberExpression.class.getPackage());
writer.imports(Expression.class, ConstructorExpression.class, Generated.class);
writer.imports(ConstructorExpression.class, Generated.class);
Set<Integer> sizes = Sets.newHashSet();
for (Constructor c : model.getConstructors()) {
sizes.add(c.getParameters().size());
}
if (sizes.size() != model.getConstructors().size()) {
writer.imports(Expression.class);
}
// javadoc
writer.javadoc(queryType + " is a Querydsl Projection type for " + simpleName);