using System;
using System.Collections.Generic;
using System.Linq;

namespace Graphs
{
	/// <summary>
	/// Attribut servant de format de transfert entre un Label et sa lecture/écriture dans un fichier GXL. 
	/// </summary>
	public class AttributeGXL
	{
		String type;
		String name;
		String value;

		/// <summary>
		/// Type de l'attribut du Label utilisateur.
		/// </summary>
		public String Type {
			get { return type; }
			set { type = value; }
		}

		/// <summary>
		/// Nom de l'attribut du Label utilisateur.
		/// </summary>
		public String Name {
			get { return name; }
			set { name = value; }
		}

		/// <summary>
		/// Valeur de l'attribut du Label utilisateur.
		/// </summary>
		public String Value {
			get { return this.value; }
			set { this.value = value; }
		}

		/// <summary>
		/// Initialise les attributs à null.
		/// </summary>
		public AttributeGXL ()
		{
			type = null;
			name = null;
			value = null;
		}

		/// <summary>
		/// 
		/// </summary>
		/// <param name="_type">Type de l'attribut du Label utilisateur</param>
		/// <param name="_name">Nom de l'attribut du Label utilisateur</param>
		/// <param name="_value">Valeur de l'attribut du Label utilisateur</param>
		public AttributeGXL (String _type, String _name, String _value)
		{
			type = _type;
			name = _name;
			value = _value;
		}

		public bool Compare (AttributeGXL att)
		{
            if (this.Name.Equals(att.Name) == true && this.Value.Equals(att.Value) == true)
            {
                return true;
            }
            else { return false; }
		}


	}
}
