public JavaTypeMappings() { register(TypeCategory.STRING, StringExpression.class, StringPath.class, StringTemplate.class); register(TypeCategory.BOOLEAN, BooleanExpression.class, BooleanPath.class, BooleanTemplate.class); register(TypeCategory.COMPARABLE, ComparableExpression.class, ComparablePath.class, ComparableTemplate.class); register(TypeCategory.ENUM, EnumExpression.class, EnumPath.class, EnumTemplate.class); register(TypeCategory.DATE, TemporalExpression.class, DatePath.class, DateTemplate.class); register(TypeCategory.DATETIME, TemporalExpression.class, DateTimePath.class, DateTimeTemplate.class); register(TypeCategory.TIME, TemporalExpression.class, TimePath.class, TimeTemplate.class); register(TypeCategory.NUMERIC, NumberExpression.class, NumberPath.class, NumberTemplate.class); register(TypeCategory.SIMPLE, SimpleExpression.class, SimplePath.class, SimpleTemplate.class); register(TypeCategory.ARRAY, Expression.class, SimplePath.class, SimpleTemplate.class); register(TypeCategory.COLLECTION, Expression.class, SimplePath.class, SimpleTemplate.class); register(TypeCategory.SET, Expression.class, SimplePath.class, SimpleTemplate.class); register(TypeCategory.LIST, Expression.class, SimplePath.class, SimpleTemplate.class); register(TypeCategory.MAP, Expression.class, SimplePath.class, SimpleTemplate.class); register(TypeCategory.CUSTOM, Expression.class, Path.class, SimpleTemplate.class); register(TypeCategory.ENTITY, Expression.class, Path.class, SimpleTemplate.class); }
@Test public void constructors() throws IOException { Type typeModel = new SimpleType(TypeCategory.ENTITY, "com.querydsl.DomainClass", "com.querydsl", "DomainClass", false,false); EntityType type = new EntityType(typeModel); // constructor Parameter firstName = new Parameter("firstName", Types.STRING); Parameter lastName = new Parameter("lastName", Types.STRING); Parameter age = new Parameter("age", Types.INTEGER); type.addConstructor(new Constructor(Arrays.asList(firstName, lastName, age))); Writer writer = new StringWriter(); ProjectionSerializer serializer = new ProjectionSerializer(new JavaTypeMappings()); serializer.serialize(type, SimpleSerializerConfig.DEFAULT, new JavaWriter(writer)); assertTrue(writer.toString().contains("Expression<String> firstName")); assertTrue(writer.toString().contains("Expression<String> lastName")); assertTrue(writer.toString().contains("Expression<Integer> age")); }
@Test public void isRegistered() { TypeMappings typeMappings = new JavaTypeMappings(); typeMappings.register(new ClassType(Double[].class), new ClassType(Point.class)); assertTrue(typeMappings.isRegistered(new ClassType(Double[].class))); }
@Test public void getPathType_of_innerClass() { TypeMappings typeMappings = new JavaTypeMappings(); EntityType model = new EntityType(new ClassType(TypeMappingsTest.class)); EntityType type = new EntityType(new ClassType(Entity.class)); typeMappings.register(type, new QueryTypeFactoryImpl("Q","","").create(type)); Type pathType = typeMappings.getPathType(type, model, false); assertEquals("QTypeMappingsTest_Entity", pathType.getSimpleName()); }
@Test public void constructors() throws IOException { Type typeModel = new SimpleType(TypeCategory.ENTITY, "com.querydsl.DomainClass", "com.querydsl", "DomainClass", false,false); EntityType type = new EntityType(typeModel); // constructor Parameter firstName = new Parameter("firstName", Types.STRING); Parameter lastName = new Parameter("lastName", Types.STRING); Parameter age = new Parameter("age", Types.INTEGER); type.addConstructor(new Constructor(Arrays.asList(firstName, lastName, age))); Writer writer = new StringWriter(); ProjectionSerializer serializer = new ProjectionSerializer(new JavaTypeMappings()); serializer.serialize(type, SimpleSerializerConfig.DEFAULT, new JavaWriter(writer)); assertTrue(writer.toString().contains("Expression<String> firstName")); assertTrue(writer.toString().contains("Expression<String> lastName")); assertTrue(writer.toString().contains("Expression<Integer> age")); }
@Test public void isRegistered() { TypeMappings typeMappings = new JavaTypeMappings(); typeMappings.register(new ClassType(Double[].class), new ClassType(Point.class)); assertTrue(typeMappings.isRegistered(new ClassType(Double[].class))); }
@Test public void getPathType_of_innerClass() { TypeMappings typeMappings = new JavaTypeMappings(); EntityType model = new EntityType(new ClassType(TypeMappingsTest.class)); EntityType type = new EntityType(new ClassType(Entity.class)); typeMappings.register(type, new QueryTypeFactoryImpl("Q","","").create(type)); Type pathType = typeMappings.getPathType(type, model, false); assertEquals("QTypeMappingsTest_Entity", pathType.getSimpleName()); }