package parser.ServletParser.library;

import java.lang.*;
import java.io.*;

/** 이 클래스는 쿼리에서 사용된 테이블 정보를 관리하는 범용 목적의 클래스이다.
 */
public class SQLTableInfo extends Object implements Serializable {
	/** 버전 제어를 위한 시리얼 넘버이다.
	 */
	public static final long serialVersionUID = 5228324983898046960L;
	/** 스트링 값을 evaluate 하지 못할때 사용되는 이름이다.
	 */
	public static String REPLACE_STRING = "aString";
	/** 쿼리에서 사용된 테이블 이름이다.
	 */
	public String tableName;
	/** 쿼리에서 사용된 필드 이름들이다.
	 */
	public StringList fieldNames;
	/** 생성자이다.
	 */
	public SQLTableInfo(String tName) {
		tableName = new String(tName);
		fieldNames = new StringList();
	}
	/** 생성자이다.
	 */
	public SQLTableInfo(String tName,String fieldName) {
		tableName = new String(tName);
		fieldNames = new StringList();
		fieldNames.insert(fieldName);
	}
	/** 필드 이름을 추가하는 함수이다.
	 */
	public void addField(String field) {
		if (field.equals("aString")) return;
		fieldNames.insert(field);
	}
	/** 필드 이름이 존재하는가 확인하는 함수이다.
	 */
	public boolean fieldExistsIgnoreCase(String field) {
		String aField = fieldNames.getFirst();
		while (aField != null) {
			if (field.equalsIgnoreCase(aField)) return true;
			aField = fieldNames.getNext();
		}
		return false;
	}
};