// Path: src/main/java/com/ojn/gexf4j/core/Edge.java
// public interface Edge extends SlicableDatum<Edge> {
// 
// 	String getId();
// 	
// 	Node getSource();
// 	
// 	Node getTarget();
// 	Edge setTarget(Node target);
// 	
// 	boolean hasLabel();
// 	Edge clearLabel();
// 	String getLabel();
// 	Edge setLabel(String label);
// 	
// 	boolean hasWeight();
// 	Edge clearWeight();
// 	float getWeight();
// 	Edge setWeight(float weight);
// 
// 	EdgeType getEdgeType();
// 	Edge setEdgeType(EdgeType edgeType);
// 
// 	boolean hasColor();
// 	Edge clearColor();
// 	Color getColor();
// 	Edge setColor(Color color);
// 
// 	boolean hasThickness();
// 	Edge clearThickness();
// 	float getThickness();
// 	Edge setThickness(float thickness);
// 
// 	EdgeShape getShape();
// 	Edge setShape(EdgeShape shape);	
// }
// 
// Path: src/main/java/com/ojn/gexf4j/core/EdgeType.java
// public enum EdgeType {
// 
// 	DIRECTED,
// 	UNDIRECTED,
// 	MUTUAL,
// }
// 
// 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/viz/Color.java
// public interface Color {
// 
// 	int getR();
// 	Color setR(int r);
// 	
// 	int getG();
// 	Color setG(int g);
// 	
// 	int getB();
// 	Color setB(int b);
// }
// 
// Path: src/main/java/com/ojn/gexf4j/core/viz/EdgeShape.java
// public enum EdgeShape {
// 
// 	SOLID,
// 	DOTTED,
// 	DASHED,
// 	DOUBLE,
// 	NOTSET,
// }


import static com.google.common.base.Preconditions.*;
import com.ojn.gexf4j.core.Edge;
import com.ojn.gexf4j.core.EdgeType;
import com.ojn.gexf4j.core.Node;
import com.ojn.gexf4j.core.viz.Color;
import com.ojn.gexf4j.core.viz.EdgeShape;
package com.ojn.gexf4j.core.impl;



public class EdgeImpl extends SliceableDatumBase<Edge> implements Edge {

	private String id = "";
	private String label = null;
	private Node source = null;
	private Node target = null;
	private Color color = null;
	private EdgeShape shape = EdgeShape.NOTSET;
	private float thickness = Float.MIN_VALUE;
	private float weight = Float.MIN_VALUE;
// Path: src/main/java/com/ojn/gexf4j/core/Edge.java
// public interface Edge extends SlicableDatum<Edge> {
// 
// 	String getId();
// 	
// 	Node getSource();
// 	
// 	Node getTarget();
// 	Edge setTarget(Node target);
// 	
// 	boolean hasLabel();
// 	Edge clearLabel();
// 	String getLabel();
// 	Edge setLabel(String label);
// 	
// 	boolean hasWeight();
// 	Edge clearWeight();
// 	float getWeight();
// 	Edge setWeight(float weight);
// 
// 	EdgeType getEdgeType();
// 	Edge setEdgeType(EdgeType edgeType);
// 
// 	boolean hasColor();
// 	Edge clearColor();
// 	Color getColor();
// 	Edge setColor(Color color);
// 
// 	boolean hasThickness();
// 	Edge clearThickness();
// 	float getThickness();
// 	Edge setThickness(float thickness);
// 
// 	EdgeShape getShape();
// 	Edge setShape(EdgeShape shape);	
// }
// 
// Path: src/main/java/com/ojn/gexf4j/core/EdgeType.java
// public enum EdgeType {
// 
// 	DIRECTED,
// 	UNDIRECTED,
// 	MUTUAL,
// }
// 
// 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/viz/Color.java
// public interface Color {
// 
// 	int getR();
// 	Color setR(int r);
// 	
// 	int getG();
// 	Color setG(int g);
// 	
// 	int getB();
// 	Color setB(int b);
// }
// 
// Path: src/main/java/com/ojn/gexf4j/core/viz/EdgeShape.java
// public enum EdgeShape {
// 
// 	SOLID,
// 	DOTTED,
// 	DASHED,
// 	DOUBLE,
// 	NOTSET,
// }


// Path: src/main/java/com/ojn/gexf4j/core/impl/EdgeImpl.java
import static com.google.common.base.Preconditions.*;
import com.ojn.gexf4j.core.Edge;
import com.ojn.gexf4j.core.EdgeType;
import com.ojn.gexf4j.core.Node;
import com.ojn.gexf4j.core.viz.Color;
import com.ojn.gexf4j.core.viz.EdgeShape;

package com.ojn.gexf4j.core.impl;



public class EdgeImpl extends SliceableDatumBase<Edge> implements Edge {

	private String id = "";
	private String label = null;
	private Node source = null;
	private Node target = null;
	private Color color = null;
	private EdgeShape shape = EdgeShape.NOTSET;
	private float thickness = Float.MIN_VALUE;
	private float weight = Float.MIN_VALUE;
	private EdgeType edgeType = EdgeType.UNDIRECTED;