Math2mat

/home/ythoma/docs/math2mat/svn/wp1/framework/m2mGUI/src/m2m/backend/project/OptimisationProperties.java

Go to the documentation of this file.
00001 
00020 package m2m.backend.project;
00021 
00022 import org.w3c.dom.Document;
00023 import org.w3c.dom.Element;
00024 
00025 import m2m.backend.buildingblocks.BuildingBlock.NumType;
00026 import m2m.backend.utils.XMLUtils;
00027 
00028 public class OptimisationProperties {
00029         
00033         private String optimisationType;
00037         private NumType optimisationDataType;
00041         private int optimisationFrequency;
00045         private String fifoType;
00046         
00050         private boolean optimizeFifo;
00054         private int fifoSize;
00055         
00056 
00060         private boolean fifoComp;
00061         
00062         
00063         //constructors
00067         public OptimisationProperties() {
00068                 optimisationType = "";
00069                 optimisationDataType = NumType.FLOAT32;
00070                 optimisationFrequency = 0;
00071                 fifoType = "Standard";
00072                 optimizeFifo = true;
00073                 fifoSize = 64;
00074                 fifoComp = false;
00075         }
00076         
00088         public OptimisationProperties(String type, NumType dataSize, int frequency, String fType,boolean optFifo,int fifoSize,boolean fifoComp) {
00089                 optimisationType = type;
00090                 optimisationDataType = dataSize;
00091                 optimisationFrequency = frequency;
00092                 fifoType = fType;
00093                 optimizeFifo = optFifo;
00094                 this.fifoSize = fifoSize;
00095                 this.fifoComp = fifoComp;
00096         }
00097         
00098         public String getXmlTagName() {
00099                 return "Optimisation";
00100         }
00101         
00102         public boolean fromXml(Element el) {
00103                 this.setOptimisationType(XMLUtils.getTextValue(el,"Type",""));
00104                 this.setOptimisationDataType(NumType.getNum(XMLUtils.getTextValue(el,"DataType", "FLOAT32")));
00105                 this.setOptimisationFrequency(XMLUtils.getIntValue(el,"Frequency",0));
00106                 this.setFifoType(XMLUtils.getTextValue(el,"FifoType","Standard"));
00107                 this.setFifoSize(XMLUtils.getIntValue(el, "FifoSize",64));
00108                 this.setOptimizeFifo(XMLUtils.getBoolValue(el,"OptFifo",true));
00109                 this.setFifoCompensation(XMLUtils.getBoolValue(el,"FifoCompensation",true));
00110                 return true;
00111         }
00112         
00113         public Element toXml(Document dom) {
00114                 Element el;
00115                 el=dom.createElement(getXmlTagName());
00116                 el.appendChild(XMLUtils.createTextElement(dom,"Type",this.getOptimisationtype()));
00117                 el.appendChild(XMLUtils.createTextElement(dom,"DataType",optimisationDataType.name()));
00118                 el.appendChild(XMLUtils.createIntElement(dom,"Frequency",this.getOptimisationfrequency()));
00119                 el.appendChild(XMLUtils.createTextElement(dom,"FifoType",this.getFifoType()));
00120                 el.appendChild(XMLUtils.createBoolElement(dom,"OptFifo",this.getOptimizeFifo()));
00121                 el.appendChild(XMLUtils.createIntElement(dom,"FifoSize", this.getFifoSize()));
00122                 el.appendChild(XMLUtils.createBoolElement(dom,"FifoCompensation",this.getFifoCompensation()));
00123                 return el;
00124         }
00125         
00126         
00127         //Getters
00133         public String getOptimisationtype() {
00134                 if (optimisationType != null)
00135                         return optimisationType;
00136                 else
00137                         return new String("");
00138         }
00139         
00144         public NumType getOptimisationDataType() {
00145                 return optimisationDataType;
00146         }
00147         
00152         public int getOptimisationfrequency() {
00153                 return optimisationFrequency;
00154         }
00155         
00160         public String getFifoType() {
00161                 return fifoType;
00162         }
00163         
00164         public boolean getOptimizeFifo() {
00165                 return optimizeFifo;
00166         }
00167         
00168         public boolean getFifoCompensation() {
00169                 return fifoComp;
00170         }
00171         
00172         public int getFifoSize() {
00173                 return fifoSize;
00174         }
00175         
00176         public void setFifoSize(int size) {
00177                 fifoSize = size;
00178         }
00179         
00180         public void setOptimizeFifo(boolean optimize) {
00181                 optimizeFifo = optimize;
00182         }
00183         
00184         public void setFifoCompensation(boolean compensate) {
00185                 fifoComp = compensate;
00186         }
00187         
00188         //Setters
00194         public void setOptimisationType(String type) {
00195                 optimisationType = type;
00196         }
00197         
00203         public void setOptimisationDataType(NumType dataType) {
00204                 optimisationDataType = dataType;
00205         }
00206         
00212         public void setOptimisationFrequency(int frequency) {
00213                 optimisationFrequency = frequency;
00214         }
00215         
00221         public void setFifoType(String fType) {
00222                 fifoType = fType;
00223         }
00224 }
 All Classes Namespaces Files Functions Variables Enumerations