package collections;

import java.util.Collection;

import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.collections.FastArrayList;
import org.apache.commons.collections.Transformer;


public class Test1 {

	public static void main(String[] args) {

		Collection col = new FastArrayList();
		col.add(new Man("いい"));
		col.add(new Man("早起き"));
		col.add(new Man("におう"));

		System.out.println(col);

		CollectionUtils.transform(col, new Man2WomanTransformer());

		System.out.println(col);
	}
}

class Man{
	private String epithet;
	private boolean isMale;
	public Man(String epithet){
		this.epithet = epithet;
		this.isMale = true;
	}
	public void changeSex(){
		isMale = !isMale;
	}
	public String toString(){
		return epithet + (isMale ? "男" : "女");
	}
}

class Man2WomanTransformer implements Transformer{
		
	public Object transform(Object input) {
		Man man = (Man)input;
		man.changeSex();
		return man;
	}
}


