package parser.ServletParser.library;

import java.lang.*;

/** 이 클래스는 릴레이션 아이템을 저장하는 것으로 주로 관계 정보를 표현할 때 사용된다.
 */
public class StrRelItem extends Object {
	/** 첫번째 아이템의 내용이다.
	 */
	private String _first;
	/** 두번째 아이템의 내용이다.
	 */
	private String _second;
	/** 아이템들을 트레버스 할 때 visit 했는가를 나타내는 플래그이다.
	 */
	private boolean _mark;
	/** 생성자이다.
	 */
	public StrRelItem() {
		_first = null;
		_second = null;
		_mark = false;
	}
	/** 생성자이다.
	 */
	public StrRelItem(String first,String second) {
		this();
		if (first != null) _first = new String(first);
		if (second != null) _second = new String(second);
	}
	/** 데이터 멤버 _first 에 대한 read access 함수이다.
	 */
	public String first() {
		return new String(_first);
	}
	/** 데이터 멤버 _second 에 대한 read access 함수이다.
	 */
	public String second() {
		return new String(_second);
	}
	/** 데이터 멤버 _mark 에 대한 read access 함수이다.
	 */
	public boolean mark() {
		return _mark;
	}
	/** 데이터 멤버 _mark 에 대한 write access 함수이다.
	 */
	public void setMark(boolean mark) {
		_mark = mark;
	}
	/** 두개의 아이템이 같은가를 비교하는 함수이다.
	 */
	public boolean equals(StrRelItem item) {
		if (this == item) return true;
		if (_first == null) return false;
		if (_second == null) return false;
		if (_first.compareTo(item._first) == 0 && 
			_second.compareTo(item._second) == 0) return true;
		return false;
	}
};