import java.lang.*;
import java.io.*;
import java.util.*;


//==============================================================
// AttribDetails - stores the information about each attribute
//==============================================================

public class AttribDetails {
	public String attribName;         // name of the attribute
	public String attribTypeStr;      // string representation of type of the attribute - continuous or discrete
	public int    attribType;         // type of the attribute - continuous or discrete
	public String attribDataTypeStr;  // string representation of data type - Real, Int or Symbolic
	public int    attribDataType;     // data type - Real, Int or Symbolic
	public Vector attribRange;        // if the attribType is Continuous, this contains the largest and the smallest value of the attribute
	public Vector observedRange;      // largest and the smallest value of a continuous attribute encountered in the data
	public Vector attribCategories;   // if the attribType is Discrete, this contains all possible values that can occur
	public Vector observedCategories; // all values of a Discrete datatype that were encountered in the data
	public Vector attribValues;       // all the values that occur for this attribute, this is a vector of length numInstances

	public AttribDetails() {
		attribName         = new String();
		attribTypeStr      = new String();
		attribDataTypeStr  = new String();

		attribType         = ConstantValues.NOT_A_VALID_TYPE;
		attribDataType     = ConstantValues.NOT_A_VALID_TYPE;

		attribRange        = new Vector();
		observedRange      = new Vector();
		attribCategories   = new Vector();
		observedCategories = new Vector();
		attribValues       = new Vector();
	} // AttribDetails::AttribDetails

} // AttribDetails
