package FMM;

import java.util.LinkedList;

public class Pattern {

	public String name;
	public GoalModelBuildingBlock GT;
	private LinkedList<BusinessStrategy > bst;
	
	
	
	
	public Pattern(String name) 
	{
		this.name = name;
		bst = new LinkedList<BusinessStrategy>();
	}


	public LinkedList<BusinessStrategy> businessStrategyCollection()
	{
		return bst;
	}
	
	
	public boolean add(GoalModelBuildingBlock gt)
	{
		GT = gt;
		return (gt.name.equals(GT.name));
	}
	
	
	public boolean add(BusinessStrategy bst)
	{
		return this.bst.add(bst);
	}
	
	
	public boolean delete(BusinessStrategy bst)
	{
		for(BusinessStrategy b: this.bst)
		{
			if (b.name.equals(bst.name))
				return this.bst.remove(b);
		}
		return false;
	}
	
	
	public boolean delete(GoalModelBuildingBlock gt)
	{
		GT = null;
		return (GT == null);
	}

	
	public boolean isEqualTo(Pattern p)
	{
		boolean equal = false;
		if (this.name.equals(p.name))
			equal = true;
		else 
			equal = false;
		return equal;
	}
	
}
	
