view test/Text.java @ 362:f0bd158dace6

*** empty log message ***
author kono
date Sun, 19 Oct 2008 23:05:59 +0900
parents d13dad30fd24
children bba62c4ac323
line wrap: on
line source

package test;

import java.util.Arrays;
import java.util.LinkedList;
import java.util.List;

import rep.REPCommand;
import rep.REP;

public class Text {

	List<String> strList;

	public Text(String[] _strings){
		strList = new LinkedList<String>(Arrays.asList(_strings));
	}
	public Text(List<String> _strings){
		strList = new LinkedList<String>(_strings);
	}
	
	public String insert(int i, String str){
		assert 0<=i && i<=strList.size();
		strList.add(i, str);
		return null;
	}
	public String delete(int i){
		assert 0<=i && i<strList.size();
		return strList.remove(i);
	}
	public String replace(int i, String str){
		assert 0<i && i<strList.size();
		String replaced = strList.get(i);
		strList.set(i, str);
		return replaced;
	}
	public String get(int i){
		assert 0<i && i<strList.size();
		return strList.get(i);
	}
	public String edit(REPCommand cmd){
		if (cmd.cmd==REP.REPCMD_INSERT)        return insert(cmd.lineno, cmd.string);
		//else if (cmd.cmd==REP.REPCMD_REPLACE)  return replace(cmd.lineno, cmd.string);
		else if (cmd.cmd==REP.REPCMD_DELETE)   return delete(cmd.lineno);
		//else assert false;
		return null;
	}
	public void edit(List<REPCommand> cmdlist){
		for (REPCommand cmd: cmdlist){
			edit(cmd);
		}
	}

	public int size(){
		return strList.size();
	}
	public void printAllText(){
		for( String str: strList){
			System.out.println(str);
		}
	}
	public boolean equals(Text _target){
		return strList.equals(_target.strList);
	}
}