package org.gjt.sp.util;
import java.awt.event.TextEvent;
import java.awt.event.TextListener;
import java.util.Iterator;
import java.util.LinkedList;
/**
* A model for a single String, which supports TextListeners. Simpler to use
* than Document when all you need is to store a single string.
*
* @author ezust
*
*/
public class StringModel
{
String theText = null;
LinkedList<TextListener> listeners = new LinkedList<TextListener>();
public void addTextListener(TextListener tl)
{
listeners.add(tl);
}
void removeTextListener(TextListener tl)
{
listeners.remove(tl);
}
void fireTextChanged()
{
TextEvent te = new TextEvent(this, TextEvent.TEXT_VALUE_CHANGED);
for (TextListener listener : listeners)
listener.textValueChanged(te);
}
public String toString()
{
return theText;
}
public void setText(String newText)
{
this.theText = newText;
fireTextChanged();
}
}