package org.freeplane.plugin.remote.v10.model;
import java.io.Serializable;
import org.freeplane.features.map.NodeModel;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonInclude.Include;
import com.fasterxml.jackson.databind.ObjectMapper;
@JsonInclude(Include.NON_NULL)
public class MapModel implements Serializable {
private static final long serialVersionUID = 1L;
public String id;
public Boolean isReadonly;
public NodeModelRoot root;
public String name;
public int revision;
public MapModel() {
}
public MapModel(org.freeplane.features.map.MapModel freeplaneMap, String name, int revision, boolean autoloadChildren) {
id = freeplaneMap.getTitle();
isReadonly = freeplaneMap.isReadOnly();
this.name = name;
this.revision = revision;
NodeModel rootNodeFreeplane = freeplaneMap.getRootNode();
root = new NodeModelRoot(rootNodeFreeplane, autoloadChildren);
}
public String toJsonString() {
try {
final ObjectMapper mapper = new ObjectMapper();
return mapper.writeValueAsString(this);
} catch (Exception e) {
return "";
}
//return "{\"id\":\""+id+"\",\"name\":\""+name+"\",\"revision\":\""+revision+"\",\"isReadonly\":\""+isReadonly+"\",\"root\":"+root.toJsonString()+"}";
}
}