mirror of
https://github.com/querydsl/querydsl.git
synced 2026-06-30 21:08:30 +08:00
formatted code
This commit is contained in:
parent
704c9745b7
commit
508d2feaa5
@ -522,7 +522,8 @@ public abstract class AbstractQuerydslProcessor extends AbstractProcessor {
|
||||
}
|
||||
|
||||
processingEnv.getMessager().printMessage(Kind.NOTE, "Generating " + className + " for " + elements);
|
||||
JavaFileObject fileObject = processingEnv.getFiler().createSourceFile(className, elements.toArray(new Element[elements.size()]));
|
||||
JavaFileObject fileObject = processingEnv.getFiler().createSourceFile(className,
|
||||
elements.toArray(new Element[elements.size()]));
|
||||
Writer writer = fileObject.openWriter();
|
||||
try {
|
||||
SerializerConfig serializerConfig = conf.getSerializerConfig(model);
|
||||
|
||||
@ -23,7 +23,6 @@ import javax.lang.model.element.Element;
|
||||
import javax.lang.model.element.ExecutableElement;
|
||||
import javax.lang.model.element.TypeElement;
|
||||
import javax.lang.model.element.VariableElement;
|
||||
import javax.lang.model.type.TypeMirror;
|
||||
|
||||
import com.mysema.query.codegen.EntityType;
|
||||
import com.mysema.query.codegen.QueryTypeFactory;
|
||||
|
||||
@ -41,7 +41,6 @@ import javax.lang.model.element.Modifier;
|
||||
import javax.lang.model.element.PackageElement;
|
||||
import javax.lang.model.element.TypeElement;
|
||||
import javax.lang.model.element.VariableElement;
|
||||
import javax.lang.model.type.TypeMirror;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
||||
|
||||
@ -280,7 +280,8 @@ public final class ExtendedTypeFactory {
|
||||
return env.getTypeUtils().erasure(env.getElementUtils().getTypeElement(clazz.getName()).asType());
|
||||
}
|
||||
|
||||
private Type createType(TypeElement typeElement, TypeCategory category, List<? extends TypeMirror> typeArgs, boolean deep) {
|
||||
private Type createType(TypeElement typeElement, TypeCategory category,
|
||||
List<? extends TypeMirror> typeArgs, boolean deep) {
|
||||
String name = typeElement.getQualifiedName().toString();
|
||||
String simpleName = typeElement.getSimpleName().toString();
|
||||
String packageName = env.getElementUtils().getPackageOf(typeElement).getQualifiedName().toString();
|
||||
@ -376,7 +377,8 @@ public final class ExtendedTypeFactory {
|
||||
|
||||
// entity type
|
||||
for (Class<? extends Annotation> entityAnn : entityAnnotations) {
|
||||
if (typeElement.getAnnotation(entityAnn) != null || (superTypeElement != null && superTypeElement.getAnnotation(entityAnn) != null)){
|
||||
if (typeElement.getAnnotation(entityAnn) != null ||
|
||||
(superTypeElement != null && superTypeElement.getAnnotation(entityAnn) != null)){
|
||||
EntityType entityType = new EntityType(type);
|
||||
typeMappings.register(entityType, queryTypeFactory.create(entityType));
|
||||
return entityType;
|
||||
@ -410,7 +412,8 @@ public final class ExtendedTypeFactory {
|
||||
return new SimpleType(Types.MAP, keyType, valueType);
|
||||
}
|
||||
|
||||
private Type createCollectionType(Type baseType, String simpleName, Iterator<? extends TypeMirror> typeMirrors, boolean deep) {
|
||||
private Type createCollectionType(Type baseType, String simpleName,
|
||||
Iterator<? extends TypeMirror> typeMirrors, boolean deep) {
|
||||
if (!typeMirrors.hasNext()){
|
||||
return new SimpleType(baseType, defaultType);
|
||||
}
|
||||
|
||||
@ -136,7 +136,8 @@ public final class TypeElementHandler {
|
||||
return entityType;
|
||||
}
|
||||
|
||||
private Property toProperty(EntityType entityType, String name, TypeMirror type, Annotations annotations) {
|
||||
private Property toProperty(EntityType entityType, String name, TypeMirror type,
|
||||
Annotations annotations) {
|
||||
// type
|
||||
Type propertyType = typeFactory.getType(type, true);
|
||||
if (annotations.isAnnotationPresent(QueryType.class)) {
|
||||
|
||||
@ -81,7 +81,8 @@ public class DefaultEvaluatorFactory {
|
||||
* @param projection
|
||||
* @return
|
||||
*/
|
||||
public <T> Evaluator<T> create(QueryMetadata metadata, List<? extends Expression<?>> sources, Expression<T> projection) {
|
||||
public <T> Evaluator<T> create(QueryMetadata metadata, List<? extends Expression<?>> sources,
|
||||
Expression<T> projection) {
|
||||
ColQuerySerializer serializer = new ColQuerySerializer(templates);
|
||||
serializer.handle(projection);
|
||||
|
||||
@ -106,7 +107,8 @@ public class DefaultEvaluatorFactory {
|
||||
javaSource = "("+com.mysema.codegen.support.ClassUtils.getName(projection.getType())+")(" + javaSource+")";
|
||||
}
|
||||
|
||||
return factory.createEvaluator("return " + javaSource +";", projection.getType(), names, types, constants);
|
||||
return factory.createEvaluator("return " + javaSource +";", projection.getType(), names,
|
||||
types, constants);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -117,7 +119,8 @@ public class DefaultEvaluatorFactory {
|
||||
* @param filter
|
||||
* @return
|
||||
*/
|
||||
public <T> Evaluator<List<T>> createEvaluator(QueryMetadata metadata, Expression<? extends T> source, Predicate filter){
|
||||
public <T> Evaluator<List<T>> createEvaluator(QueryMetadata metadata,
|
||||
Expression<? extends T> source, Predicate filter){
|
||||
String typeName = com.mysema.codegen.support.ClassUtils.getName(source.getType());
|
||||
ColQuerySerializer ser = new ColQuerySerializer(templates);
|
||||
ser.append("java.util.List<"+typeName+"> rv = new java.util.ArrayList<"+typeName+">();\n");
|
||||
@ -151,7 +154,8 @@ public class DefaultEvaluatorFactory {
|
||||
* @return
|
||||
*/
|
||||
@SuppressWarnings("unchecked")
|
||||
public Evaluator<List<Object[]>> createEvaluator(QueryMetadata metadata, List<JoinExpression> joins, @Nullable Predicate filter){
|
||||
public Evaluator<List<Object[]>> createEvaluator(QueryMetadata metadata,
|
||||
List<JoinExpression> joins, @Nullable Predicate filter){
|
||||
List<String> sourceNames = new ArrayList<String>();
|
||||
List<Type> sourceTypes = new ArrayList<Type>();
|
||||
List<Class> sourceClasses = new ArrayList<Class>();
|
||||
@ -186,7 +190,8 @@ public class DefaultEvaluatorFactory {
|
||||
ser.append("for ( " + typeName + " " + alias.getArg(1) + " : ");
|
||||
if (colAnyJoin) {
|
||||
Context context = new Context();
|
||||
Expression<?> replacement = (Expression<?>) alias.getArg(0).accept(CollectionAnyVisitor.DEFAULT, context);
|
||||
Expression<?> replacement = (Expression<?>) alias.getArg(0)
|
||||
.accept(CollectionAnyVisitor.DEFAULT, context);
|
||||
ser.handle(replacement);
|
||||
} else {
|
||||
ser.handle(alias.getArg(0));
|
||||
@ -237,7 +242,8 @@ public class DefaultEvaluatorFactory {
|
||||
constants);
|
||||
}
|
||||
|
||||
private Map<String, Object> getConstants(QueryMetadata metadata, Map<Object, String> constantToLabel) {
|
||||
private Map<String, Object> getConstants(QueryMetadata metadata,
|
||||
Map<Object, String> constantToLabel) {
|
||||
Map<String,Object> constants = new HashMap<String,Object>();
|
||||
for (Map.Entry<Object,String> entry : constantToLabel.entrySet()) {
|
||||
if (entry.getKey() instanceof ParamExpression<?>) {
|
||||
|
||||
@ -76,7 +76,8 @@ public class DefaultQueryEngine implements QueryEngine {
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> List<T> list(QueryMetadata metadata, Map<Expression<?>, Iterable<?>> iterables, Expression<T> projection){
|
||||
public <T> List<T> list(QueryMetadata metadata, Map<Expression<?>, Iterable<?>> iterables,
|
||||
Expression<T> projection){
|
||||
if (metadata.getJoins().size() == 1) {
|
||||
return evaluateSingleSource(metadata, iterables, false);
|
||||
} else {
|
||||
@ -104,7 +105,8 @@ public class DefaultQueryEngine implements QueryEngine {
|
||||
return rv;
|
||||
}
|
||||
|
||||
private List evaluateMultipleSources(QueryMetadata metadata, Map<Expression<?>, Iterable<?>> iterables, boolean count) {
|
||||
private List evaluateMultipleSources(QueryMetadata metadata, Map<Expression<?>,
|
||||
Iterable<?>> iterables, boolean count) {
|
||||
// from where
|
||||
Evaluator<List<Object[]>> ev = evaluatorFactory.createEvaluator(metadata, metadata.getJoins(), metadata.getWhere());
|
||||
List<Iterable<?>> iterableList = new ArrayList<Iterable<?>>(metadata.getJoins().size());
|
||||
@ -148,7 +150,8 @@ public class DefaultQueryEngine implements QueryEngine {
|
||||
return list;
|
||||
}
|
||||
|
||||
private List evaluateSingleSource(QueryMetadata metadata, Map<Expression<?>, Iterable<?>> iterables, boolean count) {
|
||||
private List evaluateSingleSource(QueryMetadata metadata, Map<Expression<?>,
|
||||
Iterable<?>> iterables, boolean count) {
|
||||
Expression<?> source = metadata.getJoins().get(0).getTarget();
|
||||
List<Expression<?>> sources = Collections.<Expression<?>>singletonList(source);
|
||||
Iterable<?> iterable = iterables.values().iterator().next();
|
||||
@ -161,7 +164,8 @@ public class DefaultQueryEngine implements QueryEngine {
|
||||
|
||||
// from & where
|
||||
if (metadata.getWhere() != null) {
|
||||
Evaluator<List<?>> evaluator = (Evaluator)evaluatorFactory.createEvaluator(metadata, source, metadata.getWhere());
|
||||
Evaluator<List<?>> evaluator = (Evaluator)evaluatorFactory
|
||||
.createEvaluator(metadata, source, metadata.getWhere());
|
||||
list = evaluator.evaluate(list);
|
||||
}
|
||||
|
||||
|
||||
@ -48,7 +48,8 @@ public interface QueryEngine {
|
||||
* @param iterables
|
||||
* @return
|
||||
*/
|
||||
<T> List<T> list(QueryMetadata metadata, Map<Expression<?>, Iterable<?>> iterables, Expression<T> projection);
|
||||
<T> List<T> list(QueryMetadata metadata, Map<Expression<?>, Iterable<?>> iterables,
|
||||
Expression<T> projection);
|
||||
|
||||
/**
|
||||
* @param metadata
|
||||
|
||||
@ -61,7 +61,8 @@ public interface Projectable {
|
||||
* @param rest
|
||||
* @return an Iterator over the projection
|
||||
*/
|
||||
CloseableIterator<Object[]> iterate(Expression<?> first, Expression<?> second, Expression<?>... rest);
|
||||
CloseableIterator<Object[]> iterate(Expression<?> first, Expression<?> second,
|
||||
Expression<?>... rest);
|
||||
|
||||
/**
|
||||
* iterate over the results for the given projection
|
||||
@ -89,7 +90,8 @@ public interface Projectable {
|
||||
* @param rest
|
||||
* @return an Iterator over the projection
|
||||
*/
|
||||
CloseableIterator<Object[]> iterateDistinct(Expression<?> first, Expression<?> second, Expression<?>... rest);
|
||||
CloseableIterator<Object[]> iterateDistinct(Expression<?> first, Expression<?> second,
|
||||
Expression<?>... rest);
|
||||
|
||||
/**
|
||||
* iterate over the distinct results for the given projection
|
||||
|
||||
@ -143,7 +143,8 @@ public class PropertyAccessInvocationHandler implements MethodInterceptor {
|
||||
|
||||
@SuppressWarnings({ "unchecked"})
|
||||
@Nullable
|
||||
protected <T> T newInstance(Class<T> type, Type genericType, Object parent, Object propKey, PathMetadata<?> metadata) {
|
||||
protected <T> T newInstance(Class<T> type, Type genericType, Object parent, Object propKey,
|
||||
PathMetadata<?> metadata) {
|
||||
Expression<?> path;
|
||||
Object rv;
|
||||
|
||||
|
||||
@ -102,12 +102,14 @@ public class EntitySerializer implements Serializer{
|
||||
this.keywords = Assert.notNull(keywords,"keywords");
|
||||
}
|
||||
|
||||
protected void constructors(EntityType model, SerializerConfig config, CodeWriter writer) throws IOException {
|
||||
protected void constructors(EntityType model, SerializerConfig config,
|
||||
CodeWriter writer) throws IOException {
|
||||
String localName = writer.getRawName(model);
|
||||
String genericName = writer.getGenericName(true, model);
|
||||
|
||||
boolean hasEntityFields = model.hasEntityFields();
|
||||
boolean stringOrBoolean = model.getOriginalCategory() == TypeCategory.STRING || model.getOriginalCategory() == TypeCategory.BOOLEAN;
|
||||
boolean stringOrBoolean = model.getOriginalCategory() == TypeCategory.STRING
|
||||
|| model.getOriginalCategory() == TypeCategory.BOOLEAN;
|
||||
String thisOrSuper = hasEntityFields ? THIS : SUPER;
|
||||
String additionalParams = getAdditionalConstructorParameter(model);
|
||||
|
||||
@ -185,7 +187,8 @@ public class EntitySerializer implements Serializer{
|
||||
String localName = writer.getRawName(model);
|
||||
String genericName = writer.getGenericName(true, model);
|
||||
|
||||
boolean stringOrBoolean = model.getOriginalCategory() == TypeCategory.STRING || model.getOriginalCategory() == TypeCategory.BOOLEAN;
|
||||
boolean stringOrBoolean = model.getOriginalCategory() == TypeCategory.STRING
|
||||
|| model.getOriginalCategory() == TypeCategory.BOOLEAN;
|
||||
boolean hasEntityFields = model.hasEntityFields();
|
||||
String thisOrSuper = hasEntityFields ? THIS : SUPER;
|
||||
String additionalParams = hasEntityFields ? "" : getAdditionalConstructorParameter(model);
|
||||
@ -208,7 +211,8 @@ public class EntitySerializer implements Serializer{
|
||||
Type queryType = typeMappings.getPathType(field.getType(), model, false);
|
||||
writer.beginPublicMethod(queryType, field.getEscapedName());
|
||||
writer.line("if (", field.getEscapedName(), " == null){");
|
||||
writer.line(" ", field.getEscapedName(), " = new ", writer.getRawName(queryType), "(forProperty(\"", field.getName(), "\"));");
|
||||
writer.line(" ", field.getEscapedName(), " = new ", writer.getRawName(queryType),
|
||||
"(forProperty(\"", field.getName(), "\"));");
|
||||
writer.line("}");
|
||||
writer.line(RETURN, field.getEscapedName(), SEMICOLON);
|
||||
writer.end();
|
||||
@ -263,7 +267,8 @@ public class EntitySerializer implements Serializer{
|
||||
Property field) throws IOException {
|
||||
Type queryType = typeMappings.getPathType(field.getType(), model, false);
|
||||
if (!field.isInherited()) {
|
||||
boolean hasEntityFields = field.getType() instanceof EntityType && ((EntityType)field.getType()).hasEntityFields();
|
||||
boolean hasEntityFields = field.getType() instanceof EntityType
|
||||
&& ((EntityType)field.getType()).hasEntityFields();
|
||||
writer.line("this." + field.getEscapedName() + ASSIGN,
|
||||
"inits.isInitialized(\""+field.getName()+"\") ? ",
|
||||
NEW + writer.getRawName(queryType) + "(forProperty(\"" + field.getName() + "\")",
|
||||
@ -356,7 +361,8 @@ public class EntitySerializer implements Serializer{
|
||||
writer.suppressWarnings(UNCHECKED);
|
||||
}
|
||||
Type returnType = new ClassType(ConstructorExpression.class, model);
|
||||
writer.beginStaticMethod(returnType, "create", c.getParameters(), new Transformer<Parameter, Parameter>() {
|
||||
writer.beginStaticMethod(returnType, "create", c.getParameters(),
|
||||
new Transformer<Parameter, Parameter>() {
|
||||
@Override
|
||||
public Parameter transform(Parameter p) {
|
||||
return new Parameter(p.getName(), typeMappings.getExprType(
|
||||
@ -513,7 +519,8 @@ public class EntitySerializer implements Serializer{
|
||||
writer.beginPublicMethod(queryType, escapedName, new Parameter("index", Types.INT));
|
||||
writer.line(RETURN + escapedName + ".get(index);").end();
|
||||
|
||||
writer.beginPublicMethod(queryType, escapedName, new Parameter("index", new ClassType(Expression.class, Types.INTEGER)));
|
||||
writer.beginPublicMethod(queryType, escapedName, new Parameter("index",
|
||||
new ClassType(Expression.class, Types.INTEGER)));
|
||||
writer.line(RETURN + escapedName +".get(index);").end();
|
||||
}
|
||||
|
||||
@ -524,7 +531,8 @@ public class EntitySerializer implements Serializer{
|
||||
writer.beginPublicMethod(queryType, escapedName, new Parameter("key", field.getParameter(0)));
|
||||
writer.line(RETURN + escapedName + ".get(key);").end();
|
||||
|
||||
writer.beginPublicMethod(queryType, escapedName, new Parameter("key", new ClassType(Expression.class, field.getParameter(0))));
|
||||
writer.beginPublicMethod(queryType, escapedName, new Parameter("key",
|
||||
new ClassType(Expression.class, field.getParameter(0))));
|
||||
writer.line(RETURN + escapedName + ".get(key);").end();
|
||||
}
|
||||
|
||||
@ -739,8 +747,10 @@ public class EntitySerializer implements Serializer{
|
||||
String valueType = writer.getRawName(property.getParameter(1));
|
||||
queryType = typeMappings.getPathType(property.getParameter(1), model, true);
|
||||
|
||||
serialize(model, property, new ClassType(MapPath.class, getRaw(property.getParameter(0)), getRaw(property.getParameter(1)), genericQueryType),
|
||||
writer, "this.<" + genericKey + COMMA + genericValue + COMMA + writer.getGenericName(true, genericQueryType) + ">createMap",
|
||||
serialize(model, property, new ClassType(MapPath.class, getRaw(property.getParameter(0)),
|
||||
getRaw(property.getParameter(1)), genericQueryType),
|
||||
writer, "this.<" + genericKey + COMMA + genericValue + COMMA +
|
||||
writer.getGenericName(true, genericQueryType) + ">createMap",
|
||||
keyType+DOT_CLASS, valueType+DOT_CLASS, writer.getRawName(queryType)+DOT_CLASS);
|
||||
break;
|
||||
|
||||
|
||||
@ -123,7 +123,8 @@ public final class TypeMappings {
|
||||
}
|
||||
}
|
||||
|
||||
private Type getQueryType(Map<TypeCategory, Type> types, Type type, EntityType model, boolean raw, boolean rawParameters, boolean extend){
|
||||
private Type getQueryType(Map<TypeCategory, Type> types, Type type, EntityType model, boolean raw,
|
||||
boolean rawParameters, boolean extend){
|
||||
Type exprType = types.get(type.getCategory());
|
||||
if (type.getCategory() == TypeCategory.ARRAY && types == pathTypes) {
|
||||
return getQueryType(type.getComponentType(), model, exprType, raw, rawParameters, extend);
|
||||
@ -132,7 +133,8 @@ public final class TypeMappings {
|
||||
}
|
||||
}
|
||||
|
||||
public Type getQueryType(Type type, EntityType model, Type exprType, boolean raw, boolean rawParameters, boolean extend){
|
||||
public Type getQueryType(Type type, EntityType model, Type exprType, boolean raw,
|
||||
boolean rawParameters, boolean extend){
|
||||
TypeCategory category = type.getCategory();
|
||||
if (raw && category != TypeCategory.ENTITY && category != TypeCategory.CUSTOM) {
|
||||
return exprType;
|
||||
|
||||
@ -35,7 +35,8 @@ public class CollectionAnyVisitor implements Visitor<Expression<?>,Context>{
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
private static <T> Path<T> replaceParent(Path<T> path, Path<?> parent) {
|
||||
PathMetadata<?> metadata = new PathMetadata(parent, path.getMetadata().getExpression(), path.getMetadata().getPathType());
|
||||
PathMetadata<?> metadata = new PathMetadata(parent, path.getMetadata().getExpression(),
|
||||
path.getMetadata().getPathType());
|
||||
return new PathImpl<T>(path.getType(), metadata);
|
||||
}
|
||||
|
||||
|
||||
@ -55,7 +55,8 @@ public class DetachableAdapter implements Detachable{
|
||||
return detachable;
|
||||
}
|
||||
|
||||
public ListSubQuery<Object[]> list(Expression<?> first, Expression<?> second, Expression<?>... rest) {
|
||||
public ListSubQuery<Object[]> list(Expression<?> first, Expression<?> second,
|
||||
Expression<?>... rest) {
|
||||
return detachable.list(first, second, rest);
|
||||
}
|
||||
|
||||
|
||||
@ -59,7 +59,8 @@ public class DetachableMixin implements Detachable{
|
||||
}
|
||||
|
||||
@Override
|
||||
public ListSubQuery<Object[]> list(Expression<?> first, Expression<?> second, Expression<?>... rest) {
|
||||
public ListSubQuery<Object[]> list(Expression<?> first, Expression<?> second,
|
||||
Expression<?>... rest) {
|
||||
return new ListSubQuery<Object[]>(Object[].class, projection(first, second, rest));
|
||||
}
|
||||
|
||||
@ -144,7 +145,8 @@ public class DetachableMixin implements Detachable{
|
||||
}
|
||||
|
||||
@Override
|
||||
public SimpleSubQuery<Object[]> unique(Expression<?> first, Expression<?> second, Expression<?>... rest) {
|
||||
public SimpleSubQuery<Object[]> unique(Expression<?> first, Expression<?> second,
|
||||
Expression<?>... rest) {
|
||||
return new SimpleSubQuery<Object[]>(Object[].class, uniqueProjection(first, second, rest));
|
||||
}
|
||||
|
||||
@ -188,7 +190,8 @@ public class DetachableMixin implements Detachable{
|
||||
return metadata;
|
||||
}
|
||||
|
||||
private QueryMetadata uniqueProjection(Expression<?> first, Expression<?> second, Expression<?>[] rest) {
|
||||
private QueryMetadata uniqueProjection(Expression<?> first, Expression<?> second,
|
||||
Expression<?>[] rest) {
|
||||
QueryMetadata metadata = projection(first, second, rest);
|
||||
metadata.setUnique(true);
|
||||
return metadata;
|
||||
|
||||
@ -51,7 +51,8 @@ public class DetachableQuery <Q extends DetachableQuery<Q>> extends QueryBase<Q>
|
||||
}
|
||||
|
||||
@Override
|
||||
public ListSubQuery<Object[]> list(Expression<?> first, Expression<?> second, Expression<?>... rest) {
|
||||
public ListSubQuery<Object[]> list(Expression<?> first, Expression<?> second,
|
||||
Expression<?>... rest) {
|
||||
return detachableMixin.list(first, second, rest);
|
||||
}
|
||||
|
||||
@ -91,7 +92,8 @@ public class DetachableQuery <Q extends DetachableQuery<Q>> extends QueryBase<Q>
|
||||
}
|
||||
|
||||
@Override
|
||||
public SimpleSubQuery<Object[]> unique(Expression<?> first, Expression<?> second, Expression<?>... rest) {
|
||||
public SimpleSubQuery<Object[]> unique(Expression<?> first, Expression<?> second,
|
||||
Expression<?>... rest) {
|
||||
return detachableMixin.unique(first, second, rest);
|
||||
}
|
||||
|
||||
|
||||
@ -85,11 +85,13 @@ public final class Expressions {
|
||||
return SimpleTemplate.create(cl, template, args);
|
||||
}
|
||||
|
||||
public static <T extends Comparable<?>> ComparableExpression<T> comparableTemplate(Class<T> cl, String template, Expression<?>... args) {
|
||||
public static <T extends Comparable<?>> ComparableExpression<T> comparableTemplate(Class<T> cl,
|
||||
String template, Expression<?>... args) {
|
||||
return ComparableTemplate.create(cl, template, args);
|
||||
}
|
||||
|
||||
public static <T extends Number & Comparable<?>> NumberExpression<T> numberTemplate(Class<T> cl, String template, Expression<?>... args) {
|
||||
public static <T extends Number & Comparable<?>> NumberExpression<T> numberTemplate(Class<T> cl,
|
||||
String template, Expression<?>... args) {
|
||||
return NumberTemplate.create(cl, template, args);
|
||||
}
|
||||
|
||||
@ -109,7 +111,8 @@ public final class Expressions {
|
||||
return BooleanOperation.create(operation, args);
|
||||
}
|
||||
|
||||
public static <T> SimpleExpression<T> operation(Class<T> type, Operator<? super T> operator, Expression<?>... args) {
|
||||
public static <T> SimpleExpression<T> operation(Class<T> type, Operator<? super T> operator,
|
||||
Expression<?>... args) {
|
||||
return SimpleOperation.create(type, operator, args);
|
||||
}
|
||||
|
||||
@ -117,23 +120,28 @@ public final class Expressions {
|
||||
return predicate(operation, args);
|
||||
}
|
||||
|
||||
public static <T extends Comparable<?>> ComparableExpression<T> comparableOperation(Class<T> type, Operator<? super T> operator, Expression<?>... args) {
|
||||
public static <T extends Comparable<?>> ComparableExpression<T> comparableOperation(Class<T> type,
|
||||
Operator<? super T> operator, Expression<?>... args) {
|
||||
return ComparableOperation.create(type, operator, args);
|
||||
}
|
||||
|
||||
public static <T extends Comparable<?>> DateExpression<T> dateOperation(Class<T> type, Operator<? super T> operator, Expression<?>... args) {
|
||||
public static <T extends Comparable<?>> DateExpression<T> dateOperation(Class<T> type,
|
||||
Operator<? super T> operator, Expression<?>... args) {
|
||||
return DateOperation.create(type, operator, args);
|
||||
}
|
||||
|
||||
public static <T extends Comparable<?>> DateTimeExpression<T> dateTimeOperation(Class<T> type, Operator<? super T> operator, Expression<?>... args) {
|
||||
public static <T extends Comparable<?>> DateTimeExpression<T> dateTimeOperation(Class<T> type,
|
||||
Operator<? super T> operator, Expression<?>... args) {
|
||||
return DateTimeOperation.create(type, operator, args);
|
||||
}
|
||||
|
||||
public static <T extends Comparable<?>> TimeExpression<T> timeOperation(Class<T> type, Operator<? super T> operator, Expression<?>... args) {
|
||||
public static <T extends Comparable<?>> TimeExpression<T> timeOperation(Class<T> type,
|
||||
Operator<? super T> operator, Expression<?>... args) {
|
||||
return TimeOperation.create(type, operator, args);
|
||||
}
|
||||
|
||||
public static <T extends Number & Comparable<?>> NumberExpression<T> numberOperation(Class<T> type, Operator<? super T> operator, Expression<?>... args) {
|
||||
public static <T extends Number & Comparable<?>> NumberExpression<T> numberOperation(Class<T> type,
|
||||
Operator<? super T> operator, Expression<?>... args) {
|
||||
return NumberOperation.create(type, operator, args);
|
||||
}
|
||||
|
||||
@ -149,11 +157,13 @@ public final class Expressions {
|
||||
return new SimplePath<T>(type, PathMetadataFactory.forProperty(parent, property));
|
||||
}
|
||||
|
||||
public static <T extends Comparable<?>> ComparablePath<T> comparablePath(Class<T> type, String variable) {
|
||||
public static <T extends Comparable<?>> ComparablePath<T> comparablePath(Class<T> type,
|
||||
String variable) {
|
||||
return new ComparablePath<T>(type, PathMetadataFactory.forVariable(variable));
|
||||
}
|
||||
|
||||
public static <T extends Comparable<?>> ComparablePath<T> comparablePath(Class<T> type, Path<?> parent, String property) {
|
||||
public static <T extends Comparable<?>> ComparablePath<T> comparablePath(Class<T> type,
|
||||
Path<?> parent, String property) {
|
||||
return new ComparablePath<T>(type, PathMetadataFactory.forProperty(parent, property));
|
||||
}
|
||||
|
||||
@ -161,7 +171,8 @@ public final class Expressions {
|
||||
return new DatePath<T>(type, PathMetadataFactory.forVariable(variable));
|
||||
}
|
||||
|
||||
public static <T extends Comparable<?>> DatePath<T> datePath(Class<T> type, Path<?> parent, String property) {
|
||||
public static <T extends Comparable<?>> DatePath<T> datePath(Class<T> type, Path<?> parent,
|
||||
String property) {
|
||||
return new DatePath<T>(type, PathMetadataFactory.forProperty(parent, property));
|
||||
}
|
||||
|
||||
@ -169,7 +180,8 @@ public final class Expressions {
|
||||
return new DateTimePath<T>(type, PathMetadataFactory.forVariable(variable));
|
||||
}
|
||||
|
||||
public static <T extends Comparable<?>> DateTimePath<T> dateTimePath(Class<T> type, Path<?> parent, String property) {
|
||||
public static <T extends Comparable<?>> DateTimePath<T> dateTimePath(Class<T> type, Path<?> parent,
|
||||
String property) {
|
||||
return new DateTimePath<T>(type, PathMetadataFactory.forProperty(parent, property));
|
||||
}
|
||||
|
||||
@ -177,15 +189,18 @@ public final class Expressions {
|
||||
return new TimePath<T>(type, PathMetadataFactory.forVariable(variable));
|
||||
}
|
||||
|
||||
public static <T extends Comparable<?>> TimePath<T> timePath(Class<T> type, Path<?> parent, String property) {
|
||||
public static <T extends Comparable<?>> TimePath<T> timePath(Class<T> type, Path<?> parent,
|
||||
String property) {
|
||||
return new TimePath<T>(type, PathMetadataFactory.forProperty(parent, property));
|
||||
}
|
||||
|
||||
public static <T extends Number & Comparable<?>> NumberPath<T> numberPath(Class<T> type, String variable) {
|
||||
public static <T extends Number & Comparable<?>> NumberPath<T> numberPath(Class<T> type,
|
||||
String variable) {
|
||||
return new NumberPath<T>(type, PathMetadataFactory.forVariable(variable));
|
||||
}
|
||||
|
||||
public static <T extends Number & Comparable<?>> NumberPath<T> numberPath(Class<T> type, Path<?> parent, String property) {
|
||||
public static <T extends Number & Comparable<?>> NumberPath<T> numberPath(Class<T> type,
|
||||
Path<?> parent, String property) {
|
||||
return new NumberPath<T>(type, PathMetadataFactory.forProperty(parent, property));
|
||||
}
|
||||
|
||||
|
||||
@ -36,7 +36,8 @@ public class ListAccessVisitor implements Visitor<Expression<?>,Context>{
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
private static <T> Path<T> replaceParent(Path<T> path, Path<?> parent) {
|
||||
PathMetadata<?> metadata = new PathMetadata(parent, path.getMetadata().getExpression(), path.getMetadata().getPathType());
|
||||
PathMetadata<?> metadata = new PathMetadata(parent, path.getMetadata().getExpression(),
|
||||
path.getMetadata().getPathType());
|
||||
return new PathImpl<T>(path.getType(), metadata);
|
||||
}
|
||||
|
||||
|
||||
@ -61,7 +61,8 @@ public class ProjectableAdapter<P extends Projectable> implements Projectable {
|
||||
}
|
||||
|
||||
@Override
|
||||
public CloseableIterator<Object[]> iterate(Expression<?> first, Expression<?> second, Expression<?>... rest) {
|
||||
public CloseableIterator<Object[]> iterate(Expression<?> first, Expression<?> second,
|
||||
Expression<?>... rest) {
|
||||
return projectable.iterate(first, second, rest);
|
||||
}
|
||||
|
||||
@ -76,7 +77,8 @@ public class ProjectableAdapter<P extends Projectable> implements Projectable {
|
||||
}
|
||||
|
||||
@Override
|
||||
public CloseableIterator<Object[]> iterateDistinct(Expression<?> first, Expression<?> second, Expression<?>... rest) {
|
||||
public CloseableIterator<Object[]> iterateDistinct(Expression<?> first, Expression<?> second,
|
||||
Expression<?>... rest) {
|
||||
return projectable.iterateDistinct(first, second, rest);
|
||||
}
|
||||
|
||||
@ -106,7 +108,8 @@ public class ProjectableAdapter<P extends Projectable> implements Projectable {
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Object[]> listDistinct(Expression<?> first, Expression<?> second, Expression<?>... rest) {
|
||||
public List<Object[]> listDistinct(Expression<?> first, Expression<?> second,
|
||||
Expression<?>... rest) {
|
||||
return projectable.listDistinct(first, second, rest);
|
||||
}
|
||||
|
||||
|
||||
@ -48,12 +48,14 @@ public abstract class ProjectableQuery<Q extends ProjectableQuery<Q>>
|
||||
}
|
||||
|
||||
@Override
|
||||
public final CloseableIterator<Object[]> iterate(Expression<?> first, Expression<?> second, Expression<?>... rest) {
|
||||
public final CloseableIterator<Object[]> iterate(Expression<?> first, Expression<?> second,
|
||||
Expression<?>... rest) {
|
||||
return iterate(merge(first, second, rest));
|
||||
}
|
||||
|
||||
@Override
|
||||
public final CloseableIterator<Object[]> iterateDistinct(Expression<?> first, Expression<?> second, Expression<?>... rest) {
|
||||
public final CloseableIterator<Object[]> iterateDistinct(Expression<?> first, Expression<?> second,
|
||||
Expression<?>... rest) {
|
||||
queryMixin.setDistinct(true);
|
||||
return iterate(first, second, rest);
|
||||
}
|
||||
@ -86,7 +88,8 @@ public abstract class ProjectableQuery<Q extends ProjectableQuery<Q>>
|
||||
}
|
||||
|
||||
@Override
|
||||
public final List<Object[]> listDistinct(Expression<?> first, Expression<?> second, Expression<?>... rest) {
|
||||
public final List<Object[]> listDistinct(Expression<?> first, Expression<?> second,
|
||||
Expression<?>... rest) {
|
||||
queryMixin.setDistinct(true);
|
||||
return list(first, second, rest);
|
||||
}
|
||||
@ -133,7 +136,8 @@ public abstract class ProjectableQuery<Q extends ProjectableQuery<Q>>
|
||||
}
|
||||
|
||||
@Override
|
||||
public final Object[] singleResult(Expression<?> first, Expression<?> second, Expression<?>... rest) {
|
||||
public final Object[] singleResult(Expression<?> first, Expression<?> second,
|
||||
Expression<?>... rest) {
|
||||
return singleResult(merge(first, second, rest));
|
||||
}
|
||||
|
||||
@ -154,7 +158,8 @@ public abstract class ProjectableQuery<Q extends ProjectableQuery<Q>>
|
||||
|
||||
|
||||
@Override
|
||||
public final Object[] uniqueResult(Expression<?> first, Expression<?> second, Expression<?>... rest) {
|
||||
public final Object[] uniqueResult(Expression<?> first, Expression<?> second,
|
||||
Expression<?>... rest) {
|
||||
return uniqueResult(merge(first, second, rest));
|
||||
}
|
||||
|
||||
|
||||
@ -75,7 +75,8 @@ public final class JDOQLQueryImpl extends AbstractJDOQLQuery<JDOQLQueryImpl> imp
|
||||
* @param metadata
|
||||
* @param detach
|
||||
*/
|
||||
protected JDOQLQueryImpl(PersistenceManager persistenceManager, JDOQLTemplates templates, QueryMetadata metadata, boolean detach) {
|
||||
protected JDOQLQueryImpl(PersistenceManager persistenceManager, JDOQLTemplates templates,
|
||||
QueryMetadata metadata, boolean detach) {
|
||||
super(persistenceManager, templates, metadata, detach);
|
||||
}
|
||||
|
||||
@ -86,7 +87,8 @@ public final class JDOQLQueryImpl extends AbstractJDOQLQuery<JDOQLQueryImpl> imp
|
||||
* @return
|
||||
*/
|
||||
public JDOQLQueryImpl clone(PersistenceManager persistenceManager) {
|
||||
JDOQLQueryImpl query = new JDOQLQueryImpl(persistenceManager, getTemplates(), getMetadata().clone(), isDetach());
|
||||
JDOQLQueryImpl query = new JDOQLQueryImpl(persistenceManager, getTemplates(),
|
||||
getMetadata().clone(), isDetach());
|
||||
query.fetchGroups.addAll(fetchGroups);
|
||||
query.maxFetchDepth = maxFetchDepth;
|
||||
return query;
|
||||
|
||||
@ -342,7 +342,8 @@ public final class JDOQLSerializer extends SerializerBase<JDOQLSerializer> {
|
||||
append(") > 0");
|
||||
|
||||
// not exists
|
||||
} else if (operator.equals(Ops.NOT) && args.get(0) instanceof Operation && ((Operation)args.get(0)).getOperator().equals(Ops.EXISTS)) {
|
||||
} else if (operator.equals(Ops.NOT) && args.get(0) instanceof Operation
|
||||
&& ((Operation)args.get(0)).getOperator().equals(Ops.EXISTS)) {
|
||||
SubQueryExpression subQuery = (SubQueryExpression) ((Operation)args.get(0)).getArg(0);
|
||||
append("(");
|
||||
serialize(subQuery.getMetadata(), true, true);
|
||||
|
||||
@ -49,7 +49,8 @@ public class JDOQLDeleteClause implements DeleteClause<JDOQLDeleteClause>{
|
||||
this(pm, entity, JDOQLTemplates.DEFAULT);
|
||||
}
|
||||
|
||||
public JDOQLDeleteClause(PersistenceManager persistenceManager, EntityPath<?> entity, JDOQLTemplates templates) {
|
||||
public JDOQLDeleteClause(PersistenceManager persistenceManager, EntityPath<?> entity,
|
||||
JDOQLTemplates templates) {
|
||||
this.entity = entity;
|
||||
this.persistenceManager = persistenceManager;
|
||||
this.templates = templates;
|
||||
|
||||
@ -61,7 +61,8 @@ public class JDOQLUpdateClause implements UpdateClause<JDOQLUpdateClause>{
|
||||
if (values.get(i) != null) {
|
||||
metadata.addProjection(ExpressionUtils.eqConst(((Expression)paths.get(i)), values.get(i)));
|
||||
} else {
|
||||
metadata.addProjection(ExpressionUtils.eq(((Expression)paths.get(i)), new NullExpression(paths.get(i).getType())));
|
||||
metadata.addProjection(ExpressionUtils.eq(((Expression)paths.get(i)),
|
||||
new NullExpression(paths.get(i).getType())));
|
||||
}
|
||||
}
|
||||
return this;
|
||||
|
||||
@ -94,15 +94,18 @@ public class HibernateDomainExporter {
|
||||
this(namePrefix, "", targetFolder, SimpleSerializerConfig.DEFAULT, configuration);
|
||||
}
|
||||
|
||||
public HibernateDomainExporter(String namePrefix, String nameSuffix, File targetFolder, Configuration configuration) {
|
||||
public HibernateDomainExporter(String namePrefix, String nameSuffix, File targetFolder,
|
||||
Configuration configuration) {
|
||||
this(namePrefix, nameSuffix, targetFolder, SimpleSerializerConfig.DEFAULT, configuration);
|
||||
}
|
||||
|
||||
public HibernateDomainExporter(String namePrefix, File targetFolder, SerializerConfig serializerConfig, Configuration configuration) {
|
||||
public HibernateDomainExporter(String namePrefix, File targetFolder,
|
||||
SerializerConfig serializerConfig, Configuration configuration) {
|
||||
this(namePrefix, "", targetFolder, serializerConfig, configuration);
|
||||
}
|
||||
|
||||
public HibernateDomainExporter(String namePrefix, String nameSuffix, File targetFolder, SerializerConfig serializerConfig, Configuration configuration) {
|
||||
public HibernateDomainExporter(String namePrefix, String nameSuffix, File targetFolder,
|
||||
SerializerConfig serializerConfig, Configuration configuration) {
|
||||
this.targetFolder = targetFolder;
|
||||
this.serializerConfig = serializerConfig;
|
||||
this.configuration = configuration;
|
||||
@ -150,7 +153,8 @@ public class HibernateDomainExporter {
|
||||
serialize(entityTypes, entitySerializer);
|
||||
}
|
||||
|
||||
private void addSupertypeFields(EntityType model, Map<String, EntityType> superTypes, Set<EntityType> handled) {
|
||||
private void addSupertypeFields(EntityType model, Map<String, EntityType> superTypes,
|
||||
Set<EntityType> handled) {
|
||||
if (handled.add(model)) {
|
||||
for (Supertype supertype : model.getSuperTypes()) {
|
||||
EntityType entityType = superTypes.get(supertype.getType().getFullName());
|
||||
@ -164,7 +168,8 @@ public class HibernateDomainExporter {
|
||||
}
|
||||
|
||||
|
||||
private void collectTypes() throws IOException, XMLStreamException, ClassNotFoundException, SecurityException, NoSuchMethodException {
|
||||
private void collectTypes() throws IOException, XMLStreamException, ClassNotFoundException,
|
||||
SecurityException, NoSuchMethodException {
|
||||
// super classes
|
||||
Iterator<?> superClassMappings = configuration.getMappedSuperclassMappings();
|
||||
while (superClassMappings.hasNext()) {
|
||||
@ -197,7 +202,8 @@ public class HibernateDomainExporter {
|
||||
}
|
||||
}
|
||||
|
||||
private void handleProperty(EntityType entityType, Class<?> cl, org.hibernate.mapping.Property p) throws NoSuchMethodException, ClassNotFoundException {
|
||||
private void handleProperty(EntityType entityType, Class<?> cl, org.hibernate.mapping.Property p)
|
||||
throws NoSuchMethodException, ClassNotFoundException {
|
||||
Type propertyType = getType(cl, p.getName());
|
||||
if (p.isComposite()) {
|
||||
Class<?> embeddedClass = Class.forName(propertyType.getFullName());
|
||||
@ -216,7 +222,8 @@ public class HibernateDomainExporter {
|
||||
}
|
||||
|
||||
@Nullable
|
||||
private Property createProperty(EntityType entityType, String propertyName, Type propertyType, AnnotatedElement annotated) {
|
||||
private Property createProperty(EntityType entityType, String propertyName, Type propertyType,
|
||||
AnnotatedElement annotated) {
|
||||
String[] inits = new String[0];
|
||||
if (annotated.isAnnotationPresent(QueryInit.class)) {
|
||||
inits = annotated.getAnnotation(QueryInit.class).value();
|
||||
@ -267,7 +274,8 @@ public class HibernateDomainExporter {
|
||||
String getter = "get"+BeanUtils.capitalize(propertyName);
|
||||
String bgetter = "is"+BeanUtils.capitalize(propertyName);
|
||||
for (Method method : cl.getDeclaredMethods()) {
|
||||
if ((method.getName().equals(getter) || method.getName().equals(bgetter)) && method.getParameterTypes().length == 0) {
|
||||
if ((method.getName().equals(getter) || method.getName().equals(bgetter))
|
||||
&& method.getParameterTypes().length == 0) {
|
||||
return typeFactory.create(method.getReturnType(), method.getGenericReturnType());
|
||||
}
|
||||
}
|
||||
@ -287,7 +295,8 @@ public class HibernateDomainExporter {
|
||||
String getter = "get"+BeanUtils.capitalize(propertyName);
|
||||
String bgetter = "is"+BeanUtils.capitalize(propertyName);
|
||||
for (Method method : cl.getDeclaredMethods()) {
|
||||
if ((method.getName().equals(getter) || method.getName().equals(bgetter)) && method.getParameterTypes().length == 0) {
|
||||
if ((method.getName().equals(getter) || method.getName().equals(bgetter))
|
||||
&& method.getParameterTypes().length == 0) {
|
||||
return method;
|
||||
}
|
||||
}
|
||||
|
||||
@ -103,7 +103,8 @@ public final class HibernateQuery extends AbstractHibernateQuery<HibernateQuery>
|
||||
* @return
|
||||
*/
|
||||
public HibernateQuery clone(Session session) {
|
||||
HibernateQuery q = new HibernateQuery(new DefaultSessionHolder(session), getTemplates(), getMetadata().clone());
|
||||
HibernateQuery q = new HibernateQuery(new DefaultSessionHolder(session),
|
||||
getTemplates(), getMetadata().clone());
|
||||
q.cacheable = cacheable;
|
||||
q.cacheRegion = cacheRegion;
|
||||
q.fetchSize = fetchSize;
|
||||
|
||||
@ -61,7 +61,8 @@ public class HibernateUpdateClause implements
|
||||
this(new DefaultSessionHolder(session), entity, templates);
|
||||
}
|
||||
|
||||
public HibernateUpdateClause(SessionHolder session, EntityPath<?> entity, JPQLTemplates templates) {
|
||||
public HibernateUpdateClause(SessionHolder session, EntityPath<?> entity,
|
||||
JPQLTemplates templates) {
|
||||
this.session = session;
|
||||
this.templates = templates;
|
||||
metadata.addJoin(JoinType.DEFAULT, entity);
|
||||
@ -107,7 +108,8 @@ public class HibernateUpdateClause implements
|
||||
if (values.get(i) != null) {
|
||||
metadata.addProjection(ExpressionUtils.eqConst((Expression)paths.get(i), values.get(i)));
|
||||
} else {
|
||||
metadata.addProjection(ExpressionUtils.eq(((Expression)paths.get(i)), new NullExpression(paths.get(i).getType())));
|
||||
metadata.addProjection(ExpressionUtils.eq(((Expression)paths.get(i)),
|
||||
new NullExpression(paths.get(i).getType())));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -57,7 +57,8 @@ public final class HibernateUtil {
|
||||
|
||||
private HibernateUtil() {}
|
||||
|
||||
public static void setConstants(Query query, Map<Object,String> constants, Map<ParamExpression<?>, Object> params) {
|
||||
public static void setConstants(Query query, Map<Object,String> constants,
|
||||
Map<ParamExpression<?>, Object> params) {
|
||||
for (Map.Entry<Object, String> entry : constants.entrySet()) {
|
||||
String key = entry.getValue();
|
||||
Object val = entry.getKey();
|
||||
|
||||
@ -97,7 +97,8 @@ public class JPAUpdateClause implements UpdateClause<JPAUpdateClause>{
|
||||
if (values.get(i) != null) {
|
||||
metadata.addProjection(ExpressionUtils.eqConst((Expression)paths.get(i), values.get(i)));
|
||||
} else {
|
||||
metadata.addProjection(ExpressionUtils.eq((Expression)paths.get(i), new NullExpression(paths.get(i).getType())));
|
||||
metadata.addProjection(ExpressionUtils.eq((Expression)paths.get(i),
|
||||
new NullExpression(paths.get(i).getType())));
|
||||
}
|
||||
}
|
||||
return this;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user