package org.arefgard.flow.node;

import java.util.List;

/**
 * ユースケースフローの開始点を表すノード。
 * 
 * @author Takashi Yamashina
 * @since 1.0.0
 */
public class ReceiveNode extends Node {
	
	/** 次に遷移するノード */
	private String nextTo;
	/** 入力プロパティ */
	private List<String> properties = new java.util.ArrayList<String>();
	
	public String getNextTo() {
		return nextTo;
	}
	
	public void setNextTo(String nextTo) {
		this.nextTo = nextTo;
	}
	
	public void addProperty(String name) {
		this.properties.add(name);
	}
	
	public String getProperty(int index) {
		return this.properties.get(index);
	}
	
	/**
	 * プロパティの数を返す。
	 * 
	 * @return 格納されているプロパティの数。
	 */
	public int getPropertySize() {
		return this.properties.size();
	}
	
	public boolean containsProperty(String name) {
		return this.properties.contains(name);
	}
	
}
