4 * License : The MIT License
5 * Copyright(c) 2010 MikuToga Partners
8 package jp.sourceforge.mikutoga.pmd.model;
10 import java.util.ArrayList;
11 import java.util.Iterator;
12 import java.util.List;
13 import jp.sourceforge.mikutoga.corelib.I18nText;
14 import jp.sourceforge.mikutoga.corelib.SerialNumbered;
15 import jp.sourceforge.mikutoga.pmd.MorphType;
20 public class MorphPart implements SerialNumbered, Iterable<MorphVertex> {
22 private final I18nText morphName = new I18nText();
24 private MorphType type;
26 private final List<MorphVertex> morphVertexList =
27 new ArrayList<MorphVertex>();
29 private int serialNo = -1;
43 public I18nText getMorphName(){
44 return this.morphName;
49 * @param typeArg モーフ種別
50 * @throws NullPointerException 引数がnull
52 public void setMorphType(MorphType typeArg) throws NullPointerException{
53 if(typeArg == null) throw new NullPointerException();
62 public MorphType getMorphType(){
70 public List<MorphVertex> getMorphVertexList(){
71 return this.morphVertexList;
76 * @return {@inheritDoc}
79 public Iterator<MorphVertex> iterator(){
80 return this.morphVertexList.iterator();
85 * @param num {@inheritDoc}
88 public void setSerialNumber(int num){
95 * @return {@inheritDoc}
98 public int getSerialNumber(){
103 public String toString(){
104 StringBuilder result = new StringBuilder();
106 result.append("Morph(").append(this.morphName).append(") ");
107 result.append("type=").append(this.type);
108 result.append(" vertexNum=").append(this.morphVertexList.size());
110 return result.toString();