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

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

import ca.carleton.gcrc.atlas.module.widgets.TextWidget;
import ca.carleton.gcrc.atlas.module.widgets.text.MarkUpTextBlock;

public class TextWidgetImpl extends WidgetImpl implements TextWidget {

	private List<MarkUpTextBlock> markUpTextBlocks = new Vector<MarkUpTextBlock>();
	
	@Override
	public List<MarkUpTextBlock> getMarkUpTextBlocks() {
		return markUpTextBlocks;
	}

	@Override
	public void addMarkUpTextBlock(MarkUpTextBlock markUpTextBlock) throws Exception {
		if( true == markUpTextBlocks.contains(markUpTextBlock) ) {
			throw new Exception("Can not add same mark up text block multiple times");
		}
		
		markUpTextBlocks.add(markUpTextBlock);
	}

	@Override
	public void removeMarkUpTextBlock(MarkUpTextBlock markUpTextBlock) throws Exception {
		if( false == markUpTextBlocks.contains(markUpTextBlock) ) {
			throw new Exception("Can not remove mark up text block since it is not included");
		}
		
		markUpTextBlocks.remove(markUpTextBlock);
	}

}
