From 9a141b17d64ed427828f413ee9c018ef0b16e1a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timo=20Westk=C3=A4mper?= Date: Wed, 2 Mar 2011 19:22:46 +0000 Subject: [PATCH] added QueryTypeFactory for query type creation --- .../query/codegen/QueryTypeFactory.java | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 querydsl-core/src/main/java/com/mysema/query/codegen/QueryTypeFactory.java diff --git a/querydsl-core/src/main/java/com/mysema/query/codegen/QueryTypeFactory.java b/querydsl-core/src/main/java/com/mysema/query/codegen/QueryTypeFactory.java new file mode 100644 index 000000000..ed0eafddd --- /dev/null +++ b/querydsl-core/src/main/java/com/mysema/query/codegen/QueryTypeFactory.java @@ -0,0 +1,33 @@ +package com.mysema.query.codegen; + +import com.mysema.codegen.model.SimpleType; +import com.mysema.codegen.model.Type; +import com.mysema.codegen.model.TypeCategory; + +public class QueryTypeFactory { + + private final String prefix, suffix; + + public QueryTypeFactory(String prefix, String suffix) { + this.prefix = prefix; + this.suffix = suffix; + } + + public Type create(Type type){ + String packageName = type.getPackageName(); + TypeCategory category = type.getCategory(); + if (type.getPackageName().isEmpty()){ + String simpleName = prefix + normalizeName(type.getFullName()) + suffix; + return new SimpleType(category, simpleName, "", simpleName, false, false); + }else{ + String simpleName = prefix + normalizeName(type.getFullName().substring(packageName.length()+1)) + suffix; + return new SimpleType(category, packageName+"."+simpleName, packageName, simpleName, false, false); + } + } + + private String normalizeName(String name){ + return name.replace('.', '_').replace('$', '_'); + } + + +}