// Path: src/main/java/com/ojn/gexf4j/core/Gexf.java
// public interface Gexf {
// 
// 	String getVersion();
// 	
// 	boolean hasVariant();
// 	Gexf clearVariant();
// 	String getVariant();
// 	Gexf setVariant(String variant);
// 	
// 	Metadata getMetadata();
// 	
// 	Graph getGraph();
// 	
// 	boolean hasVisualization();
// 	Gexf setVisualization(boolean viz);
// }
// 
// Path: src/main/java/com/ojn/gexf4j/core/Node.java
// public interface Node extends SlicableDatum<Node>, HasNodes {
// 
// 	String getId();
// 	
// 	String getLabel();
// 	Node setLabel(String label);
// 	
// 	List<Edge> getEdges();
// 	
// 	Edge connectTo(Node target);
// 	Edge connectTo(String id, Node target);
// 	
// 	boolean hasEdgeTo(String id);
// 	
// 	boolean hasColor();
// 	Node clearColor();
// 	Color getColor();
// 	Node setColor(Color color);
// 	
// 	boolean hasPosition();
// 	Node clearPosition();
// 	Position getPosition();
// 	Node setPosition(Position position);
// 	
// 	boolean hasSize();
// 	Node clearSize();
// 	float getSize();
// 	Node setSize(float size);
// 	
// 	boolean hasShape();
// 	Node clearShape();
// 	NodeShapeEntity getShapeEntity();
// 	
// 	List<Node> getParentForList();
// 
// 	boolean hasPID();
// 	Node clearPID();
// 	String getPID();
// 	Node setPID(String pid);
// }
// 
// Path: src/main/java/com/ojn/gexf4j/core/impl/GexfImpl.java
// public class GexfImpl implements Gexf {
// 	private static final String VERSION = "1.1";
// 	
// 	private String variant = null;
// 	private Graph graph = null;
// 	private Metadata meta = null;
// 	private boolean viz = false;
// 	
// 	public GexfImpl() {
// 		graph = new GraphImpl();
// 		meta = new MetadataImpl();
// 	}
// 
// 	@Override
// 	public Graph getGraph() {
// 		return graph;
// 	}
// 
// 	@Override
// 	public Metadata getMetadata() {
// 		return meta;
// 	}
// 
// 	@Override
// 	public String getVersion() {
// 		return VERSION;
// 	}
// 
// 	@Override
// 	public boolean hasVariant() {
// 		return (variant != null);
// 	}
// 
// 	@Override
// 	public Gexf clearVariant() {
// 		variant = null;
// 		return this;
// 	}
// 
// 	@Override
// 	public String getVariant() {
// 		checkState(hasVariant(), "Variant has not been set.");
// 		return variant;
// 	}
// 	
// 	@Override
// 	public Gexf setVariant(String variant) {
// 		checkArgument(variant != null, "Variant cannot be null.");
// 		checkArgument(!variant.trim().isEmpty(), "Variant cannot be empty or blank.");
// 		this.variant = variant;
// 		return this;
// 	}
// 
// 	@Override
// 	public boolean hasVisualization() {
// 		return viz;
// 	}
// 
// 	@Override
// 	public Gexf setVisualization(boolean viz) {
// 		this.viz = viz;
// 		return this;
// 	}
// }


import com.ojn.gexf4j.core.Gexf;
import com.ojn.gexf4j.core.Node;
import com.ojn.gexf4j.core.impl.GexfImpl;
package com.ojn.gexf4j.core.testgraphs;


public class PhylogenyBuilder extends GexfBuilder {

	@Override
	public String getSuffix() {
		return "phylogeny";
	}
	
	@Override
	public Gexf buildGexf() {
		Gexf gexf = new GexfImpl();
		
// Path: src/main/java/com/ojn/gexf4j/core/Gexf.java
// public interface Gexf {
// 
// 	String getVersion();
// 	
// 	boolean hasVariant();
// 	Gexf clearVariant();
// 	String getVariant();
// 	Gexf setVariant(String variant);
// 	
// 	Metadata getMetadata();
// 	
// 	Graph getGraph();
// 	
// 	boolean hasVisualization();
// 	Gexf setVisualization(boolean viz);
// }
// 
// Path: src/main/java/com/ojn/gexf4j/core/Node.java
// public interface Node extends SlicableDatum<Node>, HasNodes {
// 
// 	String getId();
// 	
// 	String getLabel();
// 	Node setLabel(String label);
// 	
// 	List<Edge> getEdges();
// 	
// 	Edge connectTo(Node target);
// 	Edge connectTo(String id, Node target);
// 	
// 	boolean hasEdgeTo(String id);
// 	
// 	boolean hasColor();
// 	Node clearColor();
// 	Color getColor();
// 	Node setColor(Color color);
// 	
// 	boolean hasPosition();
// 	Node clearPosition();
// 	Position getPosition();
// 	Node setPosition(Position position);
// 	
// 	boolean hasSize();
// 	Node clearSize();
// 	float getSize();
// 	Node setSize(float size);
// 	
// 	boolean hasShape();
// 	Node clearShape();
// 	NodeShapeEntity getShapeEntity();
// 	
// 	List<Node> getParentForList();
// 
// 	boolean hasPID();
// 	Node clearPID();
// 	String getPID();
// 	Node setPID(String pid);
// }
// 
// Path: src/main/java/com/ojn/gexf4j/core/impl/GexfImpl.java
// public class GexfImpl implements Gexf {
// 	private static final String VERSION = "1.1";
// 	
// 	private String variant = null;
// 	private Graph graph = null;
// 	private Metadata meta = null;
// 	private boolean viz = false;
// 	
// 	public GexfImpl() {
// 		graph = new GraphImpl();
// 		meta = new MetadataImpl();
// 	}
// 
// 	@Override
// 	public Graph getGraph() {
// 		return graph;
// 	}
// 
// 	@Override
// 	public Metadata getMetadata() {
// 		return meta;
// 	}
// 
// 	@Override
// 	public String getVersion() {
// 		return VERSION;
// 	}
// 
// 	@Override
// 	public boolean hasVariant() {
// 		return (variant != null);
// 	}
// 
// 	@Override
// 	public Gexf clearVariant() {
// 		variant = null;
// 		return this;
// 	}
// 
// 	@Override
// 	public String getVariant() {
// 		checkState(hasVariant(), "Variant has not been set.");
// 		return variant;
// 	}
// 	
// 	@Override
// 	public Gexf setVariant(String variant) {
// 		checkArgument(variant != null, "Variant cannot be null.");
// 		checkArgument(!variant.trim().isEmpty(), "Variant cannot be empty or blank.");
// 		this.variant = variant;
// 		return this;
// 	}
// 
// 	@Override
// 	public boolean hasVisualization() {
// 		return viz;
// 	}
// 
// 	@Override
// 	public Gexf setVisualization(boolean viz) {
// 		this.viz = viz;
// 		return this;
// 	}
// }


// Path: src/test/java/com/ojn/gexf4j/core/testgraphs/PhylogenyBuilder.java
import com.ojn.gexf4j.core.Gexf;
import com.ojn.gexf4j.core.Node;
import com.ojn.gexf4j.core.impl.GexfImpl;

package com.ojn.gexf4j.core.testgraphs;


public class PhylogenyBuilder extends GexfBuilder {

	@Override
	public String getSuffix() {
		return "phylogeny";
	}
	
	@Override
	public Gexf buildGexf() {
		Gexf gexf = new GexfImpl();
		
		Node a = gexf.getGraph().createNode("a");