// Path: src/main/java/it/uniroma1/dis/wsngroup/gexf4j/core/Graph.java
// public interface Graph extends Dynamic<Graph>, HasNodes {
// 
// 	/**
// 	 * Returns the default type of the Edges
// 	 * @return an EdgeType enum for the Graph
// 	 */
// 	EdgeType getDefaultEdgeType();
// 	
// 	/**
// 	 * Sets the default type of the Edges
// 	 * @param edgeType an instance of the EdgeType enum
// 	 * @return the current Graph
// 	 */
// 	Graph setDefaultEdgeType(EdgeType edgeType);
// 	
// 	/**
// 	 * Returns the type of the ID
// 	 * @return an IDType enum for the Graph
// 	 */
// 	IDType getIDType();
// 	
// 	/**
// 	 * Sets the type of the ID
// 	 * @param idType an instance of IDType enum
// 	 * @return the current Graph
// 	 */
// 	Graph setIDType(IDType idType);
// 
// 	/**
// 	 * Returns the mode of the Graph
// 	 * @return a Mode enum for the Graph
// 	 */
// 	Mode getMode();
// 	
// 	/**
// 	 * Sets the mode of the Graph
// 	 * @param graphMode an instance of the Mode enum
// 	 * @return the current Graph
// 	 */
// 	Graph setMode(Mode graphMode);
// 	
// 	/**
// 	 * Returns the type of time
// 	 * @return the type of time as String
// 	 */
// 	String getTimeType();
// 	
// 	/**
// 	 * Sets the type of time
// 	 * @param timeType a type of time as String
// 	 * @return the current Graph
// 	 */
// 	Graph setTimeType(String timeType);
// 	
// 	/**
// 	 * Returns the list of the Graph's attributes
// 	 * @return the list of the attributes for the Graph
// 	 */
// 	List<AttributeList> getAttributeLists();
// }
// 
// Path: src/main/java/it/uniroma1/dis/wsngroup/gexf4j/core/Mode.java
// public enum Mode {
// 
// 	STATIC,
// 	DYNAMIC,
// }
// 
// Path: src/main/java/it/uniroma1/dis/wsngroup/gexf4j/core/data/AttributeList.java
// public interface AttributeList extends List<Attribute>, Dynamic<AttributeList> {
// 	
// 	/**
// 	 * Returns the AttributeClass for the list of Attributes
// 	 * @return an AttributeClass enum for that list
// 	 */
// 	AttributeClass getAttributeClass();
// 	
// 	/**
// 	 * Returns the Mode of the list of Attributes
// 	 * @return a Mode enum
// 	 */
// 	Mode getMode();
// 	
// 	/**
// 	 * Sets the Mode for that list of Attributes
// 	 * @param mode an instance of Mode enum
// 	 * @return the current AttributeList
// 	 */
// 	AttributeList setMode(Mode mode);
// 	
// 	/**
// 	 * Creates and adds an Attribute to the AttributeList
// 	 * @param type the type of the Attribute as AttributeType enum
// 	 * @param title the title of the Attribute as String
// 	 * @return the built Attribute
// 	 */
// 	Attribute createAttribute(AttributeType type, String title);
// 	
// 	/**
// 	 * Creates and adds an Attribute to the AttributeList
// 	 * @param id the ID of the Attribute as String
// 	 * @param type the type of the Attribute as AttributeType enum
// 	 * @param title the title of the Attribute as String
// 	 * @return the built Attribute
// 	 */
// 	Attribute createAttribute(String id, AttributeType type, String title);
// 	
// 	/**
// 	 * Creates and adds an Attribute to the AttributeList
// 	 * @param type the type of the Attribute as AttributeType enum
// 	 * @param title the title of the Attribute as String
// 	 * @return the current AttributeList
// 	 */
// 	AttributeList addAttribute(AttributeType type, String title);
// 	
// 	/**
// 	 * Creates and adds an Attribute to the AttributeList
// 	 * @param id the ID of the Attribute as String
// 	 * @param type the type of the Attribute as AttributeType enum
// 	 * @param title the title of the Attribute as String
// 	 * @return the current AttributeList
// 	 */
// 	AttributeList addAttribute(String id, AttributeType type, String title);
// }


import it.uniroma1.dis.wsngroup.gexf4j.core.Graph;
import it.uniroma1.dis.wsngroup.gexf4j.core.Mode;
import it.uniroma1.dis.wsngroup.gexf4j.core.data.AttributeList;
import javax.xml.stream.XMLStreamException;
import javax.xml.stream.XMLStreamWriter;
package it.uniroma1.dis.wsngroup.gexf4j.core.impl.writer;




public class GraphEntityWriter extends DynamicEntityWriter<Graph> {
	private static final String ENTITY = "graph";
	private static final String ATTRIB_EDGETYPE = "defaultedgetype";
	private static final String ATTRIB_MODE = "mode";
	private static final String ATTRIB_IDTYPE = "idtype";
	private static final String ATTRIB_TIMETYPE = "timeformat";
	
// Path: src/main/java/it/uniroma1/dis/wsngroup/gexf4j/core/Graph.java
// public interface Graph extends Dynamic<Graph>, HasNodes {
// 
// 	/**
// 	 * Returns the default type of the Edges
// 	 * @return an EdgeType enum for the Graph
// 	 */
// 	EdgeType getDefaultEdgeType();
// 	
// 	/**
// 	 * Sets the default type of the Edges
// 	 * @param edgeType an instance of the EdgeType enum
// 	 * @return the current Graph
// 	 */
// 	Graph setDefaultEdgeType(EdgeType edgeType);
// 	
// 	/**
// 	 * Returns the type of the ID
// 	 * @return an IDType enum for the Graph
// 	 */
// 	IDType getIDType();
// 	
// 	/**
// 	 * Sets the type of the ID
// 	 * @param idType an instance of IDType enum
// 	 * @return the current Graph
// 	 */
// 	Graph setIDType(IDType idType);
// 
// 	/**
// 	 * Returns the mode of the Graph
// 	 * @return a Mode enum for the Graph
// 	 */
// 	Mode getMode();
// 	
// 	/**
// 	 * Sets the mode of the Graph
// 	 * @param graphMode an instance of the Mode enum
// 	 * @return the current Graph
// 	 */
// 	Graph setMode(Mode graphMode);
// 	
// 	/**
// 	 * Returns the type of time
// 	 * @return the type of time as String
// 	 */
// 	String getTimeType();
// 	
// 	/**
// 	 * Sets the type of time
// 	 * @param timeType a type of time as String
// 	 * @return the current Graph
// 	 */
// 	Graph setTimeType(String timeType);
// 	
// 	/**
// 	 * Returns the list of the Graph's attributes
// 	 * @return the list of the attributes for the Graph
// 	 */
// 	List<AttributeList> getAttributeLists();
// }
// 
// Path: src/main/java/it/uniroma1/dis/wsngroup/gexf4j/core/Mode.java
// public enum Mode {
// 
// 	STATIC,
// 	DYNAMIC,
// }
// 
// Path: src/main/java/it/uniroma1/dis/wsngroup/gexf4j/core/data/AttributeList.java
// public interface AttributeList extends List<Attribute>, Dynamic<AttributeList> {
// 	
// 	/**
// 	 * Returns the AttributeClass for the list of Attributes
// 	 * @return an AttributeClass enum for that list
// 	 */
// 	AttributeClass getAttributeClass();
// 	
// 	/**
// 	 * Returns the Mode of the list of Attributes
// 	 * @return a Mode enum
// 	 */
// 	Mode getMode();
// 	
// 	/**
// 	 * Sets the Mode for that list of Attributes
// 	 * @param mode an instance of Mode enum
// 	 * @return the current AttributeList
// 	 */
// 	AttributeList setMode(Mode mode);
// 	
// 	/**
// 	 * Creates and adds an Attribute to the AttributeList
// 	 * @param type the type of the Attribute as AttributeType enum
// 	 * @param title the title of the Attribute as String
// 	 * @return the built Attribute
// 	 */
// 	Attribute createAttribute(AttributeType type, String title);
// 	
// 	/**
// 	 * Creates and adds an Attribute to the AttributeList
// 	 * @param id the ID of the Attribute as String
// 	 * @param type the type of the Attribute as AttributeType enum
// 	 * @param title the title of the Attribute as String
// 	 * @return the built Attribute
// 	 */
// 	Attribute createAttribute(String id, AttributeType type, String title);
// 	
// 	/**
// 	 * Creates and adds an Attribute to the AttributeList
// 	 * @param type the type of the Attribute as AttributeType enum
// 	 * @param title the title of the Attribute as String
// 	 * @return the current AttributeList
// 	 */
// 	AttributeList addAttribute(AttributeType type, String title);
// 	
// 	/**
// 	 * Creates and adds an Attribute to the AttributeList
// 	 * @param id the ID of the Attribute as String
// 	 * @param type the type of the Attribute as AttributeType enum
// 	 * @param title the title of the Attribute as String
// 	 * @return the current AttributeList
// 	 */
// 	AttributeList addAttribute(String id, AttributeType type, String title);
// }


// Path: src/main/java/it/uniroma1/dis/wsngroup/gexf4j/core/impl/writer/GraphEntityWriter.java
import it.uniroma1.dis.wsngroup.gexf4j.core.Graph;
import it.uniroma1.dis.wsngroup.gexf4j.core.Mode;
import it.uniroma1.dis.wsngroup.gexf4j.core.data.AttributeList;
import javax.xml.stream.XMLStreamException;
import javax.xml.stream.XMLStreamWriter;

package it.uniroma1.dis.wsngroup.gexf4j.core.impl.writer;




public class GraphEntityWriter extends DynamicEntityWriter<Graph> {
	private static final String ENTITY = "graph";
	private static final String ATTRIB_EDGETYPE = "defaultedgetype";
	private static final String ATTRIB_MODE = "mode";
	private static final String ATTRIB_IDTYPE = "idtype";
	private static final String ATTRIB_TIMETYPE = "timeformat";
	
	public GraphEntityWriter(XMLStreamWriter writer, Graph entity) {