// Path: src/main/java/org/lambda3/text/simplification/discourse/model/serializer/TreeDeserializer.java
// public class TreeDeserializer extends StdDeserializer<Tree> {
// 
//     public TreeDeserializer() {
//         this(null);
//     }
// 
//     protected TreeDeserializer(Class<?> vc) {
//         super(vc);
//     }
// 
//     @Override
//     public Tree deserialize(JsonParser p, DeserializationContext ctxt) throws IOException, JsonProcessingException {
//         String pennString = p.getValueAsString();
//         return new PennTreeReader(new StringReader(pennString)).readTree();
//     }
// }
// 
// Path: src/main/java/org/lambda3/text/simplification/discourse/model/serializer/TreeSerializer.java
// public class TreeSerializer extends StdSerializer<Tree> {
// 
//     public TreeSerializer() {
//         this(null);
//     }
// 
//     protected TreeSerializer(Class<Tree> t) {
//         super(t);
//     }
// 
//     @Override
//     public void serialize(Tree value, JsonGenerator gen, SerializerProvider provider) throws IOException {
//         gen.writeString(value.pennString().trim().replaceAll("\\s+", " ").replaceAll("[\\n\\t]", ""));
//     }
// }


import java.io.File;
import java.io.IOException;
import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.annotation.PropertyAccessor;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.module.SimpleModule;
import edu.stanford.nlp.trees.Tree;
import org.lambda3.text.simplification.discourse.model.serializer.TreeDeserializer;
import org.lambda3.text.simplification.discourse.model.serializer.TreeSerializer;
/*
 * ==========================License-Start=============================
 * DiscourseSimplification : Content
 *
 * Copyright © 2017 Lambda³
 *
 * GNU General Public License 3
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see http://www.gnu.org/licenses/.
 * ==========================License-End==============================
 */

package org.lambda3.text.simplification.discourse.model;



public abstract class Content {
	private static final ObjectMapper MAPPER = new ObjectMapper();
	private static final SimpleModule MODULE = new SimpleModule();

	static {
		MAPPER.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.NONE);
		MAPPER.setVisibility(PropertyAccessor.FIELD, JsonAutoDetect.Visibility.ANY);

		// register custom de-/serializers
// Path: src/main/java/org/lambda3/text/simplification/discourse/model/serializer/TreeDeserializer.java
// public class TreeDeserializer extends StdDeserializer<Tree> {
// 
//     public TreeDeserializer() {
//         this(null);
//     }
// 
//     protected TreeDeserializer(Class<?> vc) {
//         super(vc);
//     }
// 
//     @Override
//     public Tree deserialize(JsonParser p, DeserializationContext ctxt) throws IOException, JsonProcessingException {
//         String pennString = p.getValueAsString();
//         return new PennTreeReader(new StringReader(pennString)).readTree();
//     }
// }
// 
// Path: src/main/java/org/lambda3/text/simplification/discourse/model/serializer/TreeSerializer.java
// public class TreeSerializer extends StdSerializer<Tree> {
// 
//     public TreeSerializer() {
//         this(null);
//     }
// 
//     protected TreeSerializer(Class<Tree> t) {
//         super(t);
//     }
// 
//     @Override
//     public void serialize(Tree value, JsonGenerator gen, SerializerProvider provider) throws IOException {
//         gen.writeString(value.pennString().trim().replaceAll("\\s+", " ").replaceAll("[\\n\\t]", ""));
//     }
// }


// Path: src/main/java/org/lambda3/text/simplification/discourse/model/Content.java
import java.io.File;
import java.io.IOException;
import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.annotation.PropertyAccessor;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.module.SimpleModule;
import edu.stanford.nlp.trees.Tree;
import org.lambda3.text.simplification.discourse.model.serializer.TreeDeserializer;
import org.lambda3.text.simplification.discourse.model.serializer.TreeSerializer;

/*
 * ==========================License-Start=============================
 * DiscourseSimplification : Content
 *
 * Copyright © 2017 Lambda³
 *
 * GNU General Public License 3
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see http://www.gnu.org/licenses/.
 * ==========================License-End==============================
 */

package org.lambda3.text.simplification.discourse.model;



public abstract class Content {
	private static final ObjectMapper MAPPER = new ObjectMapper();
	private static final SimpleModule MODULE = new SimpleModule();

	static {
		MAPPER.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.NONE);
		MAPPER.setVisibility(PropertyAccessor.FIELD, JsonAutoDetect.Visibility.ANY);

		// register custom de-/serializers
		MODULE.addSerializer(Tree.class, new TreeSerializer());