private void write(Serializer serializer, String path, SerializerConfig serializerConfig, EntityType type) throws IOException { File targetFile = new File(targetFolder, path); generatedFiles.add(targetFile); Writer w = writerFor(targetFile); try { CodeWriter writer = createScalaSources ? new ScalaWriter(w) : new JavaWriter(w); serializer.serialize(type, serializerConfig, writer); } finally { w.close(); } }
JavaWriter writer = new JavaWriter(new StringWriter()); writer.beginClass("FieldTests"); writer.privateField("String", "privateField"); writer.privateStaticFinal("String", "privateStaticFinal", "\"val\""); writer.protectedField("String","protectedField"); writer.field("String","field"); writer.publicField("String","publicField"); writer.publicStaticFinal("String", "publicStaticFinal", "\"val\""); writer.publicFinal("String", "publicFinalField"); writer.publicFinal("String", "publicFinalField2", "\"val\""); writer.end();
JavaWriter javaw = new JavaWriter(writer); SimpleType idType = new SimpleType(id, "", id); javaw.beginClass(idType, null); Parameter[] params = new Parameter[names.length + constants.size()]; for (int i = 0; i < names.length; i++) { javaw.beginStaticMethod(projectionType, "eval", params); javaw.append(source); javaw.end(); javaw.end(); return writer.toString();
@Override public JavaWriter privateField(Type type, String name) throws IOException { return field(PRIVATE, type, name); }
@Override public JavaWriter beginClass(Type type) throws IOException { return beginClass(type, null); }
@Override public JavaWriter publicField(Type type, String name) throws IOException { return field(PUBLIC, type, name); }
try { SerializerConfig serializerConfig = conf.getSerializerConfig(model); serializer.serialize(model, serializerConfig, new JavaWriter(writer)); } finally { if (writer != null) {
@Override public JavaWriter publicFinal(Type type, String name) throws IOException { return field(PUBLIC_FINAL, type, name); }
@Test public void entitySerializer() throws Exception { new EntitySerializer(typeMappings, Collections.<String>emptyList()) .serialize(type, SimpleSerializerConfig.DEFAULT, new JavaWriter(writer)); }
@Override public JavaWriter privateFinal(Type type, String name) throws IOException { return field(PRIVATE_FINAL, type, name); }
@Test public void embeddableSerializer() throws Exception { new EmbeddableSerializer(typeMappings,Collections.<String>emptyList()) .serialize(type, SimpleSerializerConfig.DEFAULT, new JavaWriter(writer)); }
@Override public JavaWriter protectedField(Type type, String name) throws IOException { return field(PROTECTED, type, name); }
@Test public void supertypeSerializer() throws IOException { new SupertypeSerializer(typeMappings,Collections.<String>emptyList()) .serialize(type, SimpleSerializerConfig.DEFAULT, new JavaWriter(writer)); }
@Override public JavaWriter protectedFinal(Type type, String name) throws IOException { return field(PROTECTED_FINAL, type, name); }
@Test public void original_category() throws IOException { Map<TypeCategory, String> categoryToSuperClass = new EnumMap<TypeCategory, String>(TypeCategory.class); categoryToSuperClass.put(TypeCategory.COMPARABLE, "ComparablePath<Entity>"); categoryToSuperClass.put(TypeCategory.ENUM, "EnumPath<Entity>"); categoryToSuperClass.put(TypeCategory.DATE, "DatePath<Entity>"); categoryToSuperClass.put(TypeCategory.DATETIME, "DateTimePath<Entity>"); categoryToSuperClass.put(TypeCategory.TIME, "TimePath<Entity>"); categoryToSuperClass.put(TypeCategory.NUMERIC, "NumberPath<Entity>"); categoryToSuperClass.put(TypeCategory.STRING, "StringPath"); categoryToSuperClass.put(TypeCategory.BOOLEAN, "BooleanPath"); for (Map.Entry<TypeCategory, String> entry : categoryToSuperClass.entrySet()) { SimpleType type = new SimpleType(entry.getKey(), "Entity", "", "Entity",false,false); EntityType entityType = new EntityType(type); typeMappings.register(entityType, queryTypeFactory.create(entityType)); serializer.serialize(entityType, SimpleSerializerConfig.DEFAULT, new JavaWriter(writer)); assertTrue(entry.toString(), writer.toString().contains("public class QEntity extends " + entry.getValue() + " {")); } }
@Override public JavaWriter publicField(Type type, String name, String value) throws IOException { return field(PUBLIC, type, name, value); }
@Test public void originalCategory() throws IOException { Map<TypeCategory, String> categoryToSuperClass = new EnumMap<TypeCategory, String>(TypeCategory.class); categoryToSuperClass.put(TypeCategory.COMPARABLE, "ComparablePath<Entity>"); categoryToSuperClass.put(TypeCategory.ENUM, "EnumPath<Entity>"); categoryToSuperClass.put(TypeCategory.DATE, "DatePath<Entity>"); categoryToSuperClass.put(TypeCategory.DATETIME, "DateTimePath<Entity>"); categoryToSuperClass.put(TypeCategory.TIME, "TimePath<Entity>"); categoryToSuperClass.put(TypeCategory.NUMERIC, "NumberPath<Entity>"); categoryToSuperClass.put(TypeCategory.STRING, "StringPath"); categoryToSuperClass.put(TypeCategory.BOOLEAN, "BooleanPath"); for (Map.Entry<TypeCategory, String> entry : categoryToSuperClass.entrySet()) { StringWriter w = new StringWriter(); SimpleType type = new SimpleType(entry.getKey(), "Entity", "", "Entity",false,false); EntityType entityType = new EntityType(type); typeMappings.register(entityType, queryTypeFactory.create(entityType)); serializer.serialize(entityType, SimpleSerializerConfig.DEFAULT, new JavaWriter(w)); assertTrue(entry.getValue() + " is missing from " + w, w.toString().contains("public class QEntity extends " + entry.getValue() + " {")); } }
@Override public JavaWriter publicFinal(Type type, String name, String value) throws IOException { return field(PUBLIC_FINAL, type, name, value); }
@Test public void entitySerializer2() throws Exception { new EntitySerializer(typeMappings,Collections.<String>emptyList()) .serialize(type, new SimpleSerializerConfig(true,true,true,true,""), new JavaWriter(writer)); }
@Override public JavaWriter privateFinal(Type type, String name, String value) throws IOException { return field(PRIVATE_FINAL, type, name, value); }