// Path: src/main/java/com/ojn/gexf4j/core/data/AttributeList.java
// public interface AttributeList extends List<Attribute>, Dynamic<AttributeList> {
// 	
// 	AttributeClass getAttributeClass();
// 	
// 	Mode getMode();
// 	AttributeList setMode(Mode mode);
// 	
// 	Attribute createAttribute(AttributeType type, String title);
// 	Attribute createAttribute(String id, AttributeType type, String title);
// 	
// 	AttributeList addAttribute(AttributeType type, String title);
// 	AttributeList addAttribute(String id, AttributeType type, String title);
// }
// 
// Path: src/main/java/com/ojn/gexf4j/core/dynamic/Dynamic.java
// public interface Dynamic<T extends Object> {
// 
// 	boolean hasStartDate();
// 	T clearStartDate();
// 	Date getStartDate();
// 	T setStartDate(Date startDate);
// 	
// 	boolean hasEndDate();
// 	T clearEndDate();
// 	Date getEndDate();
// 	T setEndDate(Date endDate);
// }
// 
// Path: src/main/java/com/ojn/gexf4j/core/dynamic/TimeType.java
// public enum TimeType {
// 
// 	DATE,
// 	FLOAT,
// }


import java.util.List;
import com.ojn.gexf4j.core.data.AttributeList;
import com.ojn.gexf4j.core.dynamic.Dynamic;
import com.ojn.gexf4j.core.dynamic.TimeType;
package com.ojn.gexf4j.core;



public interface Graph extends Dynamic<Graph>, HasNodes {

	EdgeType getDefaultEdgeType();
	Graph setDefaultEdgeType(EdgeType edgeType);
	
	IDType getIDType();
	Graph setIDType(IDType idType);

	Mode getMode();
	Graph setMode(Mode graphMode);
	
	TimeType getTimeType();
	Graph setTimeType(TimeType timeType);
	
// Path: src/main/java/com/ojn/gexf4j/core/data/AttributeList.java
// public interface AttributeList extends List<Attribute>, Dynamic<AttributeList> {
// 	
// 	AttributeClass getAttributeClass();
// 	
// 	Mode getMode();
// 	AttributeList setMode(Mode mode);
// 	
// 	Attribute createAttribute(AttributeType type, String title);
// 	Attribute createAttribute(String id, AttributeType type, String title);
// 	
// 	AttributeList addAttribute(AttributeType type, String title);
// 	AttributeList addAttribute(String id, AttributeType type, String title);
// }
// 
// Path: src/main/java/com/ojn/gexf4j/core/dynamic/Dynamic.java
// public interface Dynamic<T extends Object> {
// 
// 	boolean hasStartDate();
// 	T clearStartDate();
// 	Date getStartDate();
// 	T setStartDate(Date startDate);
// 	
// 	boolean hasEndDate();
// 	T clearEndDate();
// 	Date getEndDate();
// 	T setEndDate(Date endDate);
// }
// 
// Path: src/main/java/com/ojn/gexf4j/core/dynamic/TimeType.java
// public enum TimeType {
// 
// 	DATE,
// 	FLOAT,
// }


// Path: src/main/java/com/ojn/gexf4j/core/Graph.java
import java.util.List;
import com.ojn.gexf4j.core.data.AttributeList;
import com.ojn.gexf4j.core.dynamic.Dynamic;
import com.ojn.gexf4j.core.dynamic.TimeType;

package com.ojn.gexf4j.core;



public interface Graph extends Dynamic<Graph>, HasNodes {

	EdgeType getDefaultEdgeType();
	Graph setDefaultEdgeType(EdgeType edgeType);
	
	IDType getIDType();
	Graph setIDType(IDType idType);

	Mode getMode();
	Graph setMode(Mode graphMode);
	
	TimeType getTimeType();
	Graph setTimeType(TimeType timeType);
	
	List<AttributeList> getAttributeLists();