#ifndef FIELD_H
#define FIELD_H

#include "FieldParam.h"

/**
* This class represents <FIELD> element in a &lt;TABLE&gt;.
*
* It is contained in the TableMetaData class.  
* A field contains description, a max of 2 values and a
* list of links.
*
*/
//Date created - 03 May 2002

class Field : public FieldParam {

	public:

		/**
		* Default constructor
		*/
		Field();

		/**
		* Desctructor
		*/
		~Field();

		/**
		* Assignment operator overloaded.
		*/
		Field operator=(const Field &f);

		/**
		* Copy constructor
		*/
		Field(const Field &f);
		
	
		/**
		* Gets the 'type' of the field. 'field_type' is defined in 'global.h'.
		*/
		int getType (field_type &type, int *status);

		int setType(field_type type, int *status);
		

		
	private: 
		
		field_type m_type;
		void doNothing(void)
		{
			// does nothing.
		}

		void init(void);
		void cleanup(void);
		void makecopy(const Field &f);



};

#endif