//
// This software is now distributed according to
// the Lesser Gnu Public License.  Please see
// http://www.gnu.org/copyleft/lesser.txt for
// the details.
//    -- Happy Computing!
//
package com.stevesoft.pat.wrap;

import com.stevesoft.pat.BasicStringBufferLike;
import com.stevesoft.pat.StringLike;

/**
 * This provides a wrapper for StringBuffer to capture the output of a
 * replacement.
 */
public class StringBufferWrap implements BasicStringBufferLike
{
  StringBuffer sb = new StringBuffer();

  public void append(char c)
  {
    sb.append(c);
  }

  public void append(String s)
  {
    sb.append(s);
  }

  public int length()
  {
    return sb.length();
  }

  public String toString()
  {
    return sb.toString();
  }

  public StringLike toStringLike()
  {
    return new StringWrap(sb.toString());
  }

  public Object unwrap()
  {
    return sb;
  }
}
