package ash.reverse.struct;
import java.io.PrintStream;

/**
 * フィールドの規模情報とシグニチャ情報を管理する。<br>
 * ★CompositeパターンのLeafの役割を果たす。
 */
public class FieldRecord extends ObjectRecord {
	/** フィールドの初期値 */
	private String value;

	public FieldRecord(String name, int lineno, GroupRecord owner) {
		super("field", name, lineno, owner);
	}

	/** フィールドの初期値を返す。 */
	public String value() { return value; }

	/** フィールドの初期値を設定する。 */
	public void value(String value) { this.value = value; }

	/**
	 * フィールド宣言部を設定する。
	 * @param decl フィールド宣言部
	 */
	public void setFieldDecl(String decl) { setSignature(decl); }

	/**
	 * Visitorパターンの受け入れ側メソッド。訪問者を受け入れる。
	 * @param visitor このフィールド記録を閲覧したい訪問者
	 */
	@Override public void accept(ObjectVisitor visitor) {
		visitor.visit(this);
	}
}
