// XmlMemberValidation_StaticEnumItem.h: interface for the CXmlMemberValidation_StaticEnumItem class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(_XMLMEMBERVALIDATION_STATICENUMITEM_H_)
#define _XMLMEMBERVALIDATION_STATICENUMITEM_H_

#include <string>
#include "XmlSerializable.h"

using namespace std;

class CXmlMemberValidation_StaticEnumItem: public CXmlSerializable
{
public:
	CXmlMemberValidation_StaticEnumItem();
	virtual ~CXmlMemberValidation_StaticEnumItem();

	// implementation of XmlBaseElement
	//
	virtual bool BuildFromXml(IXMLDOMNode* node);
	virtual bool AppendToDOMDocument(IXMLDOMDocument2* xmlDoc, IXMLDOMElement* parentElement);	


	
	
	static cmString GetXmlNodeName() {return _T("StaticEnumItem");}

	// attributes
	//
	void SetItemName(const cmString& itemName);
	cmString GetItemName() const;

	void SetItemEnumValue(long);
	long GetItemEnumValue() const;

	void SetItemValue(const cmString& itemValue);
	cmString GetItemValue() const;
	cmString GetEscapedItemValue();

	void SetItemDescription(const cmString& itemDescription);
	cmString GetItemDescription() const;

	virtual void Clear();
	
protected:
	
	virtual void SetDefaults();

	cmString itemName_;
	long itemEnumValue_;
	cmString itemValue_;
	cmString itemDescription_;
};

#endif // !defined(_XMLMEMBERVALIDATION_STATICENUMITEM_H_)