Math2mat
|
00001 00018 package m2m.backend.octaveparser; 00019 00020 import java.util.Vector; 00021 00022 public class ReadWriteIndex 00023 { 00027 public int writeIndex; 00032 public Vector<Integer> readIndex; 00033 00034 00038 public ReadWriteIndex() 00039 { 00040 writeIndex = 1; 00041 readIndex = new Vector<Integer>(); 00042 } 00043 00047 public ReadWriteIndex(ReadWriteIndex rwi) 00048 { 00049 writeIndex = rwi.writeIndex; 00050 readIndex = new Vector<Integer>(rwi.readIndex); 00051 } 00052 00057 public ReadWriteIndex getNextVariable() { 00058 readIndex.setElementAt(writeIndex, readIndex.size()-1); 00059 writeIndex++; 00060 return this; 00061 } 00062 00063 00068 public ReadWriteIndex getPreviousVariable() { 00069 writeIndex--; 00070 readIndex.setElementAt(writeIndex-1, readIndex.size()-1); 00071 return this; 00072 } 00073 00074 00078 public void addReadIndex() 00079 { 00080 if(readIndex.size() == 0) 00081 readIndex.add(0); 00082 else 00083 readIndex.add(readIndex.lastElement()); 00084 } 00085 00086 00090 public void removeReadIndex() 00091 { 00092 if(readIndex.size() > 1) 00093 readIndex.remove(readIndex.size()-1); 00094 } 00095 00096 00101 public int getReadIndex() 00102 { 00103 if(readIndex.size() == 0) 00104 readIndex.add(0); 00105 return readIndex.lastElement(); 00106 } 00107 00112 public int getWriteIndex() 00113 { 00114 return writeIndex; 00115 } 00116 }