/** 编码 */ @Override public void encode(Data data) { data.writeInt(list.size()); for (IndexArrayItem item : list) { data.writeInt(item.getIndex()); } }
@Override public boolean validate() { for (IndexArrayItem item : list) { if (!item.validate()) { return false; } } return true; }
/** 解码 */ @Override public void decode(Data data) { int size = data.getInt(); for (int i = 0; i < size; i++) { IndexArrayItem item = IndexArrayItem.create(); item.setIndex(data.getInt()); list.add(item); } }
public String toString() { StringBuilder bb = new StringBuilder(); bb.append("["); int i = 0; for (IndexArrayItem item : list) { bb.append("{").append(item.toString()).append("}"); i++; if (i != list.size()) { bb.append(", "); } } bb.append("]"); return bb.toString(); }
public IndexArrayItem addData(int index) { IndexArrayItem item = new IndexArrayItem(); item.setIndex(index); list.add(item); return item; }