@Test public void resolve2() { TypeFactory factory = new TypeFactory(Collections.<Class<? extends Annotation>>emptyList()); Type type = factory.getEntityType(AbstractCollectionAttribute.class); assertEquals("com.querydsl.codegen.Generic2Test.AbstractCollectionAttribute<? extends java.util.Collection<?>>", type.getGenericName(false)); assertEquals("com.querydsl.codegen.Generic2Test.AbstractCollectionAttribute<? extends java.util.Collection<?>>", type.getGenericName(true)); }
@Test public void resolve() { TypeFactory factory = new TypeFactory(Collections.<Class<? extends Annotation>>emptyList()); Type type = factory.get(AbstractCollectionAttribute.class); assertEquals("com.querydsl.codegen.Generic2Test.AbstractCollectionAttribute", type.getGenericName(false)); assertEquals("com.querydsl.codegen.Generic2Test.AbstractCollectionAttribute", type.getGenericName(true)); }
@Override public String getGenericName(boolean asArgType, Type type) { return type.getGenericName(asArgType, packages, classes); }
@Override public String getGenericName(boolean asArgType, Set<String> packages, Set<String> classes) { return type.getGenericName(asArgType, packages, classes); }
@Override public String getGenericName(boolean asArgType) { return type.getGenericName(asArgType); }
@Override public String getGenericName(boolean asArgType, Set<String> packages, Set<String> classes) { if (!asArgType) { if (superType instanceof TypeExtends) { return "?"; } else { return "? super " + superType.getGenericName(true, packages, classes); } } else { return super.getGenericName(asArgType, packages, classes); } }
@Override public String getGenericName(boolean asArgType, Set<String> packages, Set<String> classes) { if (parameters.isEmpty()) { return getRawName(packages, classes); } else { StringBuilder builder = new StringBuilder(); builder.append(getRawName(packages, classes)); builder.append("<"); boolean first = true; for (Type parameter : parameters) { if (!first) { builder.append(", "); } if (parameter == null || parameter.getFullName().equals(fullName)) { builder.append("?"); } else { builder.append(parameter.getGenericName(false, packages, classes)); } first = false; } builder.append(">"); return builder.toString(); } }
@Override public JavaWriter field(Type type, String name) throws IOException { return line(type.getGenericName(true, packages, classes), SPACE, name, SEMICOLON).nl(); }
private JavaWriter field(String modifier, Type type, String name) throws IOException { return line( modifier, type.getGenericName(true, packages, classes), SPACE, name, SEMICOLON) .nl(); }
private JavaWriter field(String modifier, Type type, String name, String value) throws IOException { return line( modifier, type.getGenericName(true, packages, classes), SPACE, name, ASSIGN , value, SEMICOLON).nl(); }
@Override public String getGenericName(boolean asArgType, Set<String> packages, Set<String> classes) { if (parameters.isEmpty()) { return ClassUtils.getName(javaClass, packages, classes); } else { StringBuilder builder = new StringBuilder(); builder.append(ClassUtils.getName(javaClass, packages, classes)); builder.append("<"); boolean first = true; for (Type parameter : parameters) { if (!first) { builder.append(", "); } if (parameter == null || parameter.getFullName().equals(getFullName())) { builder.append("?"); } else { builder.append(parameter.getGenericName(false, packages, classes)); } first = false; } builder.append(">"); return builder.toString(); } }
private JavaWriter beginMethod(String modifiers, Type returnType, String methodName, Parameter... args) throws IOException { types.push(types.peek()); beginLine( modifiers, returnType.getGenericName(true, packages, classes), SPACE, methodName) .params(args).append(" {").nl(); return goIn(); }
@Override public JavaWriter beginInterface(Type type, Type... interfaces) throws IOException { packages.add(type.getPackageName()); beginLine(PUBLIC_INTERFACE, type.getGenericName(false, packages, classes)); if (interfaces.length > 0) { append(EXTENDS); for (int i = 0; i < interfaces.length; i++) { if (i > 0) { append(COMMA); } append(interfaces[i].getGenericName(false, packages, classes)); } } append(" {").nl().nl(); goIn(); types.push(type); return this; }
@Override public JavaWriter beginClass(Type type, Type superClass, Type... interfaces) throws IOException { packages.add(type.getPackageName()); beginLine(PUBLIC_CLASS, type.getGenericName(false, packages, classes)); if (superClass != null) { append(EXTENDS).append(superClass.getGenericName(false, packages, classes)); } if (interfaces.length > 0) { append(IMPLEMENTS); for (int i = 0; i < interfaces.length; i++) { if (i > 0) { append(COMMA); } append(interfaces[i].getGenericName(false, packages, classes)); } } append(" {").nl().nl(); goIn(); types.push(type); return this; }
private JavaWriter param(Parameter parameter) throws IOException { append(parameter.getType().getGenericName(true, packages, classes)); append(" "); append(parameter.getName()); return this; }
@Test public void resolve2() { TypeFactory factory = new TypeFactory(Collections.<Class<? extends Annotation>>emptyList()); Type type = factory.getEntityType(AbstractCollectionAttribute.class); assertEquals("com.querydsl.codegen.Generic2Test.AbstractCollectionAttribute<? extends java.util.Collection<?>>", type.getGenericName(false)); assertEquals("com.querydsl.codegen.Generic2Test.AbstractCollectionAttribute<? extends java.util.Collection<?>>", type.getGenericName(true)); }
@Test public void Resolve() { TypeFactory factory = new TypeFactory(Collections.<Class<? extends Annotation>>emptyList()); Type type = factory.get(AbstractCollectionAttribute.class); assertEquals("com.mysema.query.codegen.Generic2Test.AbstractCollectionAttribute", type.getGenericName(false)); assertEquals("com.mysema.query.codegen.Generic2Test.AbstractCollectionAttribute", type.getGenericName(true)); }
@Test public void Resolve2() { TypeFactory factory = new TypeFactory(Collections.<Class<? extends Annotation>>emptyList()); Type type = factory.getEntityType(AbstractCollectionAttribute.class); assertEquals("com.mysema.query.codegen.Generic2Test.AbstractCollectionAttribute<? extends java.util.Collection<?>>", type.getGenericName(false)); assertEquals("com.mysema.query.codegen.Generic2Test.AbstractCollectionAttribute<? extends java.util.Collection<?>>", type.getGenericName(true)); }
@Test public void resolve() { TypeFactory factory = new TypeFactory(Collections.<Class<? extends Annotation>>emptyList()); Type type = factory.get(AbstractCollectionAttribute.class); assertEquals("com.querydsl.codegen.Generic2Test.AbstractCollectionAttribute", type.getGenericName(false)); assertEquals("com.querydsl.codegen.Generic2Test.AbstractCollectionAttribute", type.getGenericName(true)); }