// 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 com.ojn.gexf4j.core.viz.Color;
import com.ojn.gexf4j.core.viz.EdgeShape;
package com.ojn.gexf4j.core;


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();
// 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/Edge.java
import com.ojn.gexf4j.core.viz.Color;
import com.ojn.gexf4j.core.viz.EdgeShape;

package com.ojn.gexf4j.core;


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);	