/**
 * 
 */
package commons.collections;
import basics.utl.NumUtl;
/**
 * Just a term that has a value (counter, weight ...).
 * @author ks
 */
public class TermValue 
{

String term  = "";
double value = 0;

public TermValue()
{}

public TermValue(String term)
{
   this.term = term;
}

public TermValue(String term, double value)
{
   this.term = term;
   this.value = value;
}

public String getTerm ()
{
   return term;
}

public void addValue (double v)
{
   value += v;
}

public double getValue ()
{
   return value;
}

public void setValue (double v)
{
   value = v;
}

public String toString ()
{
   StringBuilder sb = new StringBuilder();
   sb.append(term);
   sb.append(":");
   sb.append(value);
   return sb.toString();
}

public String toString (int roundDigits)
{
   StringBuilder sb = new StringBuilder();
   sb.append(term);
   sb.append(":");
   sb.append(NumUtl.round(value, roundDigits));
   return sb.toString();
}

public Object clone ()
{
   TermValue t = new TermValue(this.term);
   t.value = this.value;
   return t;
}

public void setTerm (String term)
{
   this.term = term;
}
// public void writeObject(ObjectOutputStream out) throws IOException
// {
// String t = term==null ? "" : term;
// out.writeInt(term.length());
// out.writeChars(term);
// out.writeDouble(value);
// }
//
// public void readObject(ObjectInputStream in) throws IOException,
// ClassNotFoundException
// {
// term = ExtendedSerializer.readString(in, in.readInt());
// value = in.readDouble();
// }
//
// public void writeObject(LineWriter out)
// {
// String t = term==null ? "" : term;
// out.write(term);
// out.write(""+value);
// }
//
// public void readObject(LineReader in)
// {
// term = in.nextLine();
// value = StrUtl.toDouble(in.nextLine(), 0D);
// }
}