package ca.carleton.gcrc.atlas.module.impl;

import java.util.List;
import java.util.Vector;

import ca.carleton.gcrc.atlas.module.widgets.text.ContainsMarkUpTextStrings;
import ca.carleton.gcrc.atlas.module.widgets.text.MarkUpTextString;

public class ContainsMarkUpTextStringsImpl implements ContainsMarkUpTextStrings {
	
	private List<MarkUpTextString> markUpTextStrings = new Vector<MarkUpTextString>();
	
	public List<MarkUpTextString> getMarkUpTextStrings() {
		return markUpTextStrings;
	}

	public void addMarkUpTextString(MarkUpTextString markUpTextString) throws Exception {
		if( true == markUpTextStrings.contains(markUpTextString) ) {
			throw new Exception("Can not add same mark up text string multiple times");
		}
		
		markUpTextStrings.add(markUpTextString);
	}

	public void removeMarkUpTextString(MarkUpTextString markUpTextString) throws Exception {
		if( false == markUpTextStrings.contains(markUpTextString) ) {
			throw new Exception("Can not remove mark up text string since it is not included");
		}
		
		markUpTextStrings.remove(markUpTextString);
	}
}
