1 package org.herac.tuxguitar.io.ptb.base; 2 3 import java.util.ArrayList; 4 import java.util.Iterator; 5 import java.util.List; 6 7 public class PTSection { 8 9 private int number; 10 private int staffs; 11 private List positions; 12 PTSection(int number)13 public PTSection(int number){ 14 this.number = number; 15 this.positions = new ArrayList(); 16 } 17 getNumber()18 public int getNumber(){ 19 return this.number; 20 } 21 getStaffs()22 public int getStaffs() { 23 return this.staffs; 24 } 25 setStaffs(int staffs)26 public void setStaffs(int staffs) { 27 this.staffs = staffs; 28 } 29 getPositions()30 public List getPositions(){ 31 return this.positions; 32 } 33 getPosition(int position)34 public PTPosition getPosition(int position){ 35 Iterator it = getPositions().iterator(); 36 while(it.hasNext()){ 37 PTPosition p = (PTPosition)it.next(); 38 if(p.getPosition() == position){ 39 return p; 40 } 41 } 42 PTPosition p = new PTPosition(position); 43 getPositions().add(p); 44 return p; 45 } 46 getNextPositionNumber()47 public int getNextPositionNumber(){ 48 int next = 0; 49 Iterator it = getPositions().iterator(); 50 while(it.hasNext()){ 51 PTPosition p = (PTPosition)it.next(); 52 next = Math.max(next, (p.getPosition() + 1) ); 53 } 54 return next; 55 } 56 sort()57 public void sort(){ 58 int count = getPositions().size(); 59 for(int i = 0;i < count;i++){ 60 PTPosition minimum = null; 61 for(int j = i;j < count;j++){ 62 PTPosition position = (PTPosition)getPositions().get(j); 63 if(minimum == null || position.getPosition() < minimum.getPosition()){ 64 minimum = position; 65 } 66 } 67 getPositions().remove(minimum); 68 getPositions().add(i,minimum); 69 } 70 } 71 } 72