]> git.proxmox.com Git - mirror_edk2.git/blame - Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/common/Identifications/ToolChainConfigVector.java
Changed spelling to manifest
[mirror_edk2.git] / Tools / Source / FrameworkWizard / src / org / tianocore / frameworkwizard / common / Identifications / ToolChainConfigVector.java
CommitLineData
79cb6fdb 1/** @file\r
2 \r
3 The file is used to define Tool Chain Configuration Vector\r
4 \r
5 Copyright (c) 2006, Intel Corporation\r
6 All rights reserved. This program and the accompanying materials\r
7 are licensed and made available under the terms and conditions of the BSD License\r
8 which accompanies this distribution. The full text of the license may be found at\r
9 http://opensource.org/licenses/bsd-license.php\r
10 \r
11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
13 \r
14 **/\r
15package org.tianocore.frameworkwizard.common.Identifications;\r
16\r
17import java.io.BufferedReader;\r
8f9acbd7 18import java.io.BufferedWriter;\r
79cb6fdb 19import java.io.FileNotFoundException;\r
20import java.io.FileReader;\r
8f9acbd7 21import java.io.FileWriter;\r
79cb6fdb 22import java.io.IOException;\r
23import java.util.Vector;\r
24\r
25public class ToolChainConfigVector {\r
26\r
27 private Vector<ToolChainConfigId> vToolChainConfigs = new Vector<ToolChainConfigId>();\r
28\r
29 public int findToolChainConfigs(ToolChainConfigId sfi) {\r
30 for (int index = 0; index < vToolChainConfigs.size(); index++) {\r
31 if (vToolChainConfigs.elementAt(index).equals(sfi)) {\r
32 return index;\r
33 }\r
34 }\r
35 return -1;\r
36 }\r
37\r
38 public int findToolChainConfigs(String name) {\r
39 for (int index = 0; index < vToolChainConfigs.size(); index++) {\r
40 if (vToolChainConfigs.elementAt(index).getName().equals(name)) {\r
41 return index;\r
42 }\r
43 }\r
44 return -1;\r
45 }\r
46\r
47 public ToolChainConfigId getToolChainConfigs(int index) {\r
48 if (index > -1) {\r
49 return vToolChainConfigs.elementAt(index);\r
50 } else {\r
51 return null;\r
52 }\r
53 }\r
8f9acbd7 54\r
79cb6fdb 55 public Vector<String> toStringVector(int index) {\r
56 Vector<String> v = new Vector<String>();\r
57 v.addElement(getToolChainConfigs(index).getName());\r
58 v.addElement(getToolChainConfigs(index).getValue());\r
59 return v;\r
60 }\r
61\r
62 public void addToolChainConfigs(ToolChainConfigId arg0) {\r
63 vToolChainConfigs.addElement(arg0);\r
64 }\r
65\r
66 public void updateToolChainConfigs(ToolChainConfigId arg0, int arg1) {\r
67 vToolChainConfigs.setElementAt(arg0, arg1);\r
68 }\r
69\r
70 public void removeToolChainConfigs(ToolChainConfigId arg0) {\r
71 int index = findToolChainConfigs(arg0);\r
72 if (index > -1) {\r
73 vToolChainConfigs.removeElementAt(index);\r
74 }\r
75 }\r
76\r
77 public void removeToolChainConfigs(int index) {\r
78 if (index > -1 && index < this.size()) {\r
79 vToolChainConfigs.removeElementAt(index);\r
80 }\r
81 }\r
8f9acbd7 82\r
79cb6fdb 83 public void removeAll() {\r
84 vToolChainConfigs = new Vector<ToolChainConfigId>();\r
85 }\r
86\r
87 public Vector<String> getToolChainConfigsName() {\r
88 Vector<String> v = new Vector<String>();\r
89 for (int index = 0; index < this.vToolChainConfigs.size(); index++) {\r
90 v.addElement(vToolChainConfigs.get(index).getName());\r
91 }\r
92 return v;\r
93 }\r
8f9acbd7 94\r
79cb6fdb 95 public Vector<String> getToolChainConfigsValue() {\r
96 Vector<String> v = new Vector<String>();\r
97 for (int index = 0; index < this.vToolChainConfigs.size(); index++) {\r
98 v.addElement(vToolChainConfigs.get(index).getValue());\r
99 }\r
100 return v;\r
101 }\r
102\r
103 public int size() {\r
104 return this.vToolChainConfigs.size();\r
105 }\r
106\r
8f9acbd7 107 public void saveFile(String file) throws IOException {\r
108 if (size() > 0) {\r
109 FileWriter fw = new FileWriter(file);\r
110 BufferedWriter bw = new BufferedWriter(fw);\r
111 for (int index = 0; index < size(); index++) {\r
112 String line = this.getToolChainConfigs(index).getName() + " " + ToolChainConfigId.EQUALS + " "\r
113 + this.getToolChainConfigs(index).getValue();\r
114 bw.write(line);\r
115 bw.newLine();\r
116 }\r
117 bw.flush();\r
118 bw.close();\r
119 fw.close();\r
120 }\r
121 }\r
122\r
79cb6fdb 123 /**\r
8f9acbd7 124 \r
79cb6fdb 125 @param file\r
126 @throws IOException\r
127 @throws FileNotFoundException\r
8f9acbd7 128 \r
129 **/\r
79cb6fdb 130 public void parseFile(String file) throws IOException {\r
131 FileReader fr = new FileReader(file);\r
132 BufferedReader br = new BufferedReader(fr);\r
133 String line = br.readLine();\r
134 while (line != null) {\r
135 parseLine(line);\r
136 line = br.readLine();\r
137 }\r
138 }\r
8f9acbd7 139\r
79cb6fdb 140 /**\r
141 Parse the input string and add name, value to vector \r
142 \r
143 @param line\r
8f9acbd7 144 \r
145 **/\r
79cb6fdb 146 private void parseLine(String line) {\r
147 String name = "";\r
148 String value = "";\r
149 if (line.indexOf(ToolChainConfigId.COMMENTS) != 0 && line.indexOf(ToolChainConfigId.EQUALS) > -1) {\r
150 name = line.substring(0, line.indexOf(ToolChainConfigId.EQUALS)).trim();\r
151 value = line.substring(line.indexOf(ToolChainConfigId.EQUALS) + 1).trim();\r
152 this.addToolChainConfigs(new ToolChainConfigId(name, value));\r
153 }\r
154 }\r
155}\r