diff --git a/src/main/java/com/mysema/codegen/CodeWriter.java b/src/main/java/com/mysema/codegen/CodeWriter.java index d8a4e8b27..0ff75bd6a 100644 --- a/src/main/java/com/mysema/codegen/CodeWriter.java +++ b/src/main/java/com/mysema/codegen/CodeWriter.java @@ -9,6 +9,8 @@ import java.io.IOException; import java.lang.annotation.Annotation; import java.util.Collection; +import javax.annotation.Nullable; + import org.apache.commons.collections15.Transformer; /** @@ -25,7 +27,7 @@ public interface CodeWriter extends Appendable{ CodeWriter beginClass(String simpleName) throws IOException; - CodeWriter beginClass(String simpleName, String superClass, String... interfaces) throws IOException; + CodeWriter beginClass(String simpleName, @Nullable String superClass, String... interfaces) throws IOException; CodeWriter beginConstructor(Collection params, Transformer transformer) throws IOException; diff --git a/src/main/java/com/mysema/codegen/model/ClassType.java b/src/main/java/com/mysema/codegen/model/ClassType.java index 037b89664..8a8cf2e14 100644 --- a/src/main/java/com/mysema/codegen/model/ClassType.java +++ b/src/main/java/com/mysema/codegen/model/ClassType.java @@ -11,6 +11,8 @@ import java.util.Collections; import java.util.List; import java.util.Set; +import javax.annotation.Nullable; + import com.mysema.codegen.support.ClassUtils; /** @@ -26,13 +28,14 @@ public class ClassType implements Type { private final List parameters; + @Nullable private final Class primitiveClass; - public ClassType(TypeCategory category, Class javaClass, Class primitiveClass) { + public ClassType(TypeCategory category, Class javaClass, @Nullable Class primitiveClass) { this(category, javaClass, primitiveClass, Collections.emptyList()); } - public ClassType(TypeCategory category, Class javaClass, Class primitiveClass, List parameters) { + public ClassType(TypeCategory category, Class javaClass, @Nullable Class primitiveClass, List parameters) { this.category = category; this.javaClass = javaClass; this.primitiveClass = primitiveClass; diff --git a/src/main/java/com/mysema/codegen/model/Type.java b/src/main/java/com/mysema/codegen/model/Type.java index 0ca4f37b5..e0888be9c 100644 --- a/src/main/java/com/mysema/codegen/model/Type.java +++ b/src/main/java/com/mysema/codegen/model/Type.java @@ -8,6 +8,8 @@ package com.mysema.codegen.model; import java.util.List; import java.util.Set; +import javax.annotation.Nullable; + /** * @author tiwe * @@ -31,6 +33,7 @@ public interface Type { List getParameters(); + @Nullable String getPrimitiveName(); String getRawName(Set packages, Set classes); diff --git a/src/main/java/com/mysema/codegen/model/TypeCategory.java b/src/main/java/com/mysema/codegen/model/TypeCategory.java index 720bb0630..07b676f0c 100644 --- a/src/main/java/com/mysema/codegen/model/TypeCategory.java +++ b/src/main/java/com/mysema/codegen/model/TypeCategory.java @@ -8,6 +8,8 @@ package com.mysema.codegen.model; import java.util.HashSet; import java.util.Set; +import javax.annotation.Nullable; + /** * TypeCategory defines the expression type used for a Field * @@ -85,11 +87,12 @@ public enum TypeCategory { */ TIME(COMPARABLE, java.sql.Time.class.getName(), "org.joda.time.LocalTime"); + @Nullable private final TypeCategory superType; private final Set types; - TypeCategory(TypeCategory superType, String... types){ + TypeCategory(@Nullable TypeCategory superType, String... types){ this.superType = superType; this.types = new HashSet(types.length); for (String type : types){