]> git.proxmox.com Git - mirror_edk2.git/blame - Tools/Source/PackageEditor/src/org/tianocore/packaging/SpdFileContents.java
update SpdFileContents.java to adapt new schema for LibraryClassDeclaration.
[mirror_edk2.git] / Tools / Source / PackageEditor / src / org / tianocore / packaging / SpdFileContents.java
CommitLineData
878ddf1f 1/** @file\r
2 Java class SpdFileContents is used to parse spd xml file.\r
3 \r
4Copyright (c) 2006, Intel Corporation\r
5All rights reserved. This program and the accompanying materials\r
6are licensed and made available under the terms and conditions of the BSD License\r
7which accompanies this distribution. The full text of the license may be found at\r
8http://opensource.org/licenses/bsd-license.php\r
9\r
10THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
11WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
12**/\r
13package org.tianocore.packaging;\r
14\r
15import java.io.File;\r
16import java.io.IOException;\r
17import java.util.List;\r
18import java.util.ListIterator;\r
19\r
20import org.apache.xmlbeans.XmlObject;\r
21import org.apache.xmlbeans.XmlOptions;\r
22import org.apache.xmlbeans.XmlCursor;\r
23\r
24import org.tianocore.AbstractDocument;\r
25import org.tianocore.GuidDeclarationsDocument;\r
26import org.tianocore.GuidDocument;\r
27import org.tianocore.IncludeHeaderDocument;\r
28import org.tianocore.LibraryClassDeclarationDocument;\r
29import org.tianocore.LibraryClassDeclarationsDocument;\r
30import org.tianocore.LibraryClassDocument;\r
31import org.tianocore.LibraryUsage;\r
32import org.tianocore.LicenseDocument;\r
33import org.tianocore.ModuleTypeDef;\r
34import org.tianocore.MsaFilesDocument;\r
35import org.tianocore.OutputDirectoryDocument;\r
36import org.tianocore.PackageDependenciesDocument;\r
37import org.tianocore.PackageHeadersDocument;\r
38import org.tianocore.PackageNameDocument;\r
39import org.tianocore.PackageSurfaceAreaDocument;\r
40import org.tianocore.PackageType;\r
41import org.tianocore.PackageUsage;\r
42import org.tianocore.PcdDataTypes;\r
43import org.tianocore.PcdDefinitionsDocument;\r
44import org.tianocore.PcdItemTypes;\r
45import org.tianocore.PpiDeclarationsDocument;\r
46import org.tianocore.ProtocolDeclarationsDocument;\r
47import org.tianocore.SpdHeaderDocument;\r
48import org.tianocore.SpecificationDocument;\r
49import org.tianocore.GuidDeclarationsDocument.GuidDeclarations;\r
50\r
51/**\r
52 This class processes spd file contents such as add remove xml elements.\r
53 \r
54 @since PackageEditor 1.0\r
55**/\r
56public class SpdFileContents {\r
57\r
58 private File file = null;\r
59\r
60 private PackageSurfaceAreaDocument psad = null;\r
61\r
62 private PackageSurfaceAreaDocument.PackageSurfaceArea psaRoot = null;\r
63\r
64 private SpdHeaderDocument.SpdHeader spdHdr = null;\r
65\r
66 private PackageNameDocument.PackageName spdHdrPkgName = null;\r
67\r
68 private GuidDocument.Guid spdHdrGuid = null;\r
69\r
70 private AbstractDocument.Abstract spdHdrAbs = null;\r
71\r
72 private LicenseDocument.License spdHdrLicense = null;\r
73\r
74 private SpecificationDocument.Specification spdHdrSpec = null;\r
75\r
76 private OutputDirectoryDocument.OutputDirectory spdHdrOutDir = null;\r
77\r
78 private LibraryClassDeclarationsDocument.LibraryClassDeclarations spdLibClassDeclarations = null;\r
79\r
80 private PackageDependenciesDocument.PackageDependencies spdPkgDeps = null;\r
81\r
82 private MsaFilesDocument.MsaFiles spdMsaFiles = null;\r
83\r
84 private PackageHeadersDocument.PackageHeaders spdModHdrs = null;\r
85\r
86 private GuidDeclarationsDocument.GuidDeclarations spdGuidDeclarations = null;\r
87\r
88 private ProtocolDeclarationsDocument.ProtocolDeclarations spdProtocolDeclarations = null;\r
89\r
90 private PpiDeclarationsDocument.PpiDeclarations spdPpiDeclarations = null;\r
91\r
92 private PcdDefinitionsDocument.PcdDefinitions spdPcdDefinitions = null;\r
93\r
94 /**\r
95 Constructor to create a new spd file\r
96 **/\r
97 public SpdFileContents() {\r
98\r
99 psad = PackageSurfaceAreaDocument.Factory.newInstance();\r
100 psaRoot = psad.addNewPackageSurfaceArea();\r
101\r
102 }\r
103\r
104 /**\r
105 Constructor based on an existing spd file\r
106 \r
107 @param f Existing spd file\r
108 **/\r
109 public SpdFileContents(File f) {\r
110 try {\r
111 psad = PackageSurfaceAreaDocument.Factory.parse(f);\r
112 psaRoot = psad.getPackageSurfaceArea();\r
113 file = f;\r
114 } catch (Exception e) {\r
115 System.out.println(e.toString());\r
116 }\r
117 }\r
118\r
119 /**\r
120 Remove existing pcd definitions elements using XmlCursor\r
121 **/\r
122 public void removeSpdPcdDefinition() {\r
123 XmlObject o = psaRoot.getPcdDefinitions();\r
124 if (o == null)\r
125 return;\r
126 XmlCursor cursor = o.newCursor();\r
127 cursor.removeXml();\r
24dba7f3 128 spdPcdDefinitions = null;\r
878ddf1f 129 }\r
130\r
131 /**\r
132 Remove existing ppi declarations using XmlCursor\r
133 **/\r
134 public void removeSpdPpiDeclaration() {\r
135 XmlObject o = psaRoot.getPpiDeclarations();\r
136 if (o == null)\r
137 return;\r
138 XmlCursor cursor = o.newCursor();\r
139 cursor.removeXml();\r
24dba7f3 140 spdPpiDeclarations = null;\r
878ddf1f 141 }\r
142\r
143 /**\r
144 Remove existing protocols declarations using XmlCursor\r
145 **/\r
146 public void removeSpdProtocolDeclaration() {\r
147 XmlObject o = psaRoot.getProtocolDeclarations();\r
148 if (o == null)\r
149 return;\r
150 XmlCursor cursor = o.newCursor();\r
151 cursor.removeXml();\r
24dba7f3 152 spdProtocolDeclarations = null;\r
878ddf1f 153 }\r
154\r
155 /**\r
156 Remove existing GUID declarations using XmlCursor\r
157 **/\r
158 public void removeSpdGuidDeclaration() {\r
159 XmlObject o = psaRoot.getGuidDeclarations();\r
160 if (o == null)\r
161 return;\r
162 XmlCursor cursor = o.newCursor();\r
163 cursor.removeXml();\r
24dba7f3 164 spdGuidDeclarations = null; \r
878ddf1f 165 }\r
166\r
167 /**\r
24dba7f3 168 Remove existing spd package include files using XmlCursor\r
878ddf1f 169 **/\r
170 public void removeSpdPkgHeader() {\r
171 XmlObject o = psaRoot.getPackageHeaders();\r
172 if (o == null)\r
173 return;\r
174 XmlCursor cursor = o.newCursor();\r
175 cursor.removeXml();\r
24dba7f3 176 spdModHdrs = null;\r
878ddf1f 177 }\r
178\r
179 /**\r
180 Remove existing msa files using XmlCursor\r
181 **/\r
182 public void removeSpdMsaFile() {\r
183 XmlObject o = psaRoot.getMsaFiles();\r
184 if (o == null)\r
185 return;\r
186 XmlCursor cursor = o.newCursor();\r
187 cursor.removeXml();\r
24dba7f3 188 spdMsaFiles = null;\r
878ddf1f 189 }\r
190\r
191 /**\r
192 Remove existing library class declarations using XmlCursor\r
193 **/\r
194 public void removeSpdLibClass() {\r
195 XmlObject o = psaRoot.getLibraryClassDeclarations();\r
196 if (o == null)\r
197 return;\r
198 XmlCursor cursor = o.newCursor();\r
199 cursor.removeXml();\r
24dba7f3 200 spdLibClassDeclarations = null;\r
878ddf1f 201 }\r
202\r
203 /**\r
204 Get spd file header contents into String array\r
205 \r
206 @param s Caller allocated String array\r
207 **/\r
208 public void getSpdHdrDetails(String[] s) {\r
209 if (getSpdHdr() == null) {\r
210 spdHdr = psaRoot.addNewSpdHeader();\r
211 }\r
212 s[0] = getSpdHdrPkgName().getStringValue();\r
213 s[1] = getSpdHdrGuid().getStringValue();\r
214 s[2] = getSpdHdrVer();\r
215 s[3] = getSpdHdrAbs().getStringValue();\r
216 s[4] = getSpdHdr().getDescription();\r
217 s[5] = getSpdHdr().getCopyright();\r
218 s[6] = getSpdHdrLicense().getStringValue();\r
219 s[7] = getSpdHdr().getCreated();\r
220 s[8] = getSpdHdr().getURL();\r
221 if (getSpdHdr().getPackageType() != null) {\r
222 s[9] = getSpdHdr().getPackageType().toString();\r
223 }\r
224 //\r
225 // convert boolean to String by adding empty String ""\r
226 //\r
227 s[10] = getSpdHdr().getReadOnly() + "";\r
228 s[11] = getSpdHdr().getReadOnly() + "";\r
229 }\r
230\r
231 /**\r
232 Get the number of library class declarations from the size of List\r
233 \r
234 @return int\r
235 **/\r
236 public int getSpdLibClassDeclarationCount() {\r
237 if (psaRoot.getLibraryClassDeclarations() == null\r
238 || psaRoot.getLibraryClassDeclarations().getLibraryClassDeclarationList() == null) {\r
239 return 0;\r
240 }\r
241 return psaRoot.getLibraryClassDeclarations().getLibraryClassDeclarationList().size();\r
242 }\r
243\r
244 /**\r
245 Get available library class declaration into String array\r
246 @param libClass Caller allocated two-dimentional String array\r
247 **/\r
248 public void getSpdLibClassDeclarations(String[][] libClass) {\r
249 List<LibraryClassDeclarationDocument.LibraryClassDeclaration> l = psaRoot.getLibraryClassDeclarations()\r
250 .getLibraryClassDeclarationList();\r
251 int i = 0;\r
252 ListIterator li = l.listIterator();\r
253 while (li.hasNext()) {\r
254 LibraryClassDeclarationDocument.LibraryClassDeclaration lcd = (LibraryClassDeclarationDocument.LibraryClassDeclaration) li\r
255 .next();\r
256 if (lcd.getLibraryClass() != null) {\r
257 libClass[i][0] = lcd.getLibraryClass().getStringValue();\r
258 }\r
259 if (lcd.getIncludeHeader() != null) {\r
260 libClass[i][1] = lcd.getIncludeHeader().getStringValue();\r
261 }\r
262\r
263 i++;\r
264 }\r
265\r
266 }\r
267 \r
268 /**\r
269 Get the number of Msa files from the size of List\r
270 \r
271 @return int\r
272 **/\r
273 public int getSpdMsaFileCount() {\r
274 if (psaRoot.getMsaFiles() == null || psaRoot.getMsaFiles().getMsaFileList() == null) {\r
275 return 0;\r
276 }\r
277 return psaRoot.getMsaFiles().getMsaFileList().size();\r
278 }\r
279 \r
280 /**\r
281 Get available Msa file into String array\r
282 \r
283 @param msaFile Caller allocated two-dimentional String array\r
284 **/\r
285 public void getSpdMsaFiles(String[][] msaFile) {\r
286 List<MsaFilesDocument.MsaFiles.MsaFile> l = psaRoot.getMsaFiles().getMsaFileList();\r
287 int i = 0;\r
288 ListIterator li = l.listIterator();\r
289 while (li.hasNext()) {\r
290 MsaFilesDocument.MsaFiles.MsaFile m = (MsaFilesDocument.MsaFiles.MsaFile) li.next();\r
291 if (m.getFilename() != null) {\r
292 msaFile[i][0] = m.getFilename().getStringValue();\r
293 }\r
294\r
295 i++;\r
296 }\r
297 }\r
298\r
299 /**\r
300 Get the number of include header files in PackageHeaders from the size of List\r
301 \r
302 @return int\r
303 **/\r
304 public int getSpdPackageHeaderCount() {\r
305 if (psaRoot.getPackageHeaders() == null || psaRoot.getPackageHeaders().getIncludeHeaderList() == null) {\r
306 return 0;\r
307 }\r
308 return psaRoot.getPackageHeaders().getIncludeHeaderList().size();\r
309 }\r
310\r
311 /**\r
312 Get available package header contents into String array\r
313 \r
314 @param pkgHeader Caller allocated two-dimentional String array\r
315 **/\r
316 public void getSpdPackageHeaders(String[][] pkgHeader) {\r
317 List<IncludeHeaderDocument.IncludeHeader> l = psaRoot.getPackageHeaders().getIncludeHeaderList();\r
318 int i = 0;\r
319 ListIterator li = l.listIterator();\r
320 while (li.hasNext()) {\r
321 IncludeHeaderDocument.IncludeHeader ih = (IncludeHeaderDocument.IncludeHeader) li.next();\r
322 if (ih.getModuleType() != null) {\r
323 pkgHeader[i][0] = ih.getModuleType().toString();\r
324 }\r
325\r
326 pkgHeader[i][1] = ih.getStringValue();\r
327 i++;\r
328 }\r
329 }\r
330\r
331 /**\r
332 Get the number of GUID declarations from the size of List\r
333 \r
334 @return int\r
335 **/\r
336 public int getSpdGuidDeclarationCount() {\r
337 if (psaRoot.getGuidDeclarations() == null || psaRoot.getGuidDeclarations().getEntryList() == null) {\r
338 return 0;\r
339 }\r
340 return psaRoot.getGuidDeclarations().getEntryList().size();\r
341 }\r
342\r
343 /**\r
344 Get available Guid declaration contents into String array\r
345 \r
346 @param guid Caller allocated two-dimentional String array\r
347 **/\r
348 public void getSpdGuidDeclarations(String[][] guid) {\r
349 List<GuidDeclarationsDocument.GuidDeclarations.Entry> l = psaRoot.getGuidDeclarations().getEntryList();\r
350 int i = 0;\r
351 ListIterator li = l.listIterator();\r
352 while (li.hasNext()) {\r
353 GuidDeclarationsDocument.GuidDeclarations.Entry e = (GuidDeclarationsDocument.GuidDeclarations.Entry) li\r
354 .next();\r
355 guid[i][0] = e.getName();\r
356 guid[i][1] = e.getCName();\r
357 if (e.getGuid() != null) {\r
358 guid[i][2] = e.getGuid().getStringValue();\r
359 }\r
360 i++;\r
361 }\r
362 }\r
363\r
364 /**\r
365 Get the number of protocol declarations from the size of List\r
366 \r
367 @return int\r
368 **/\r
369 public int getSpdProtocolDeclarationCount() {\r
370 if (psaRoot.getProtocolDeclarations() == null || psaRoot.getProtocolDeclarations().getEntryList() == null) {\r
371 return 0;\r
372 }\r
373 return psaRoot.getProtocolDeclarations().getEntryList().size();\r
374 }\r
375\r
376 /**\r
377 Get available protocol declaration contents into String array\r
378 \r
379 @param protocol Caller allocated two-dimentional String array\r
380 **/\r
381 public void getSpdProtocolDeclarations(String[][] protocol) {\r
382 List<ProtocolDeclarationsDocument.ProtocolDeclarations.Entry> l = psaRoot.getProtocolDeclarations()\r
383 .getEntryList();\r
384 int i = 0;\r
385 ListIterator li = l.listIterator();\r
386 while (li.hasNext()) {\r
387 ProtocolDeclarationsDocument.ProtocolDeclarations.Entry e = (ProtocolDeclarationsDocument.ProtocolDeclarations.Entry) li\r
388 .next();\r
389 protocol[i][0] = e.getName();\r
390 protocol[i][1] = e.getCName();\r
391 if (e.getGuid() != null) {\r
392 protocol[i][2] = e.getGuid().getStringValue();\r
393 }\r
394 i++;\r
395 }\r
396 }\r
397\r
398 /**\r
399 Get the number of Ppi declarations from the size of List\r
400 \r
401 @return int\r
402 **/\r
403 public int getSpdPpiDeclarationCount() {\r
404 if (psaRoot.getPpiDeclarations() == null || psaRoot.getPpiDeclarations().getEntryList() == null) {\r
405 return 0;\r
406 }\r
407 return psaRoot.getPpiDeclarations().getEntryList().size();\r
408 }\r
409\r
410 /**\r
411 Get available Ppi declaration contents into String array\r
412 \r
413 @param ppi Caller allocated two-dimentional String array\r
414 **/\r
415 public void getSpdPpiDeclarations(String[][] ppi) {\r
416 List<PpiDeclarationsDocument.PpiDeclarations.Entry> l = psaRoot.getPpiDeclarations().getEntryList();\r
417 int i = 0;\r
418 ListIterator li = l.listIterator();\r
419 while (li.hasNext()) {\r
420 PpiDeclarationsDocument.PpiDeclarations.Entry e = (PpiDeclarationsDocument.PpiDeclarations.Entry) li.next();\r
421 ppi[i][0] = e.getName();\r
422 ppi[i][1] = e.getCName();\r
423 if (e.getGuid() != null) {\r
424 ppi[i][2] = e.getGuid().getStringValue();\r
425 }\r
426\r
427 i++;\r
428 }\r
429 }\r
430\r
431 /**\r
432 Get the number of Pcd definitions from the size of List\r
433 \r
434 @return int\r
435 **/\r
436 public int getSpdPcdDefinitionCount() {\r
437 if (psaRoot.getPcdDefinitions() == null || psaRoot.getPcdDefinitions().getPcdEntryList() == null) {\r
438 return 0;\r
439 }\r
440 return psaRoot.getPcdDefinitions().getPcdEntryList().size();\r
441 }\r
442\r
443 /**\r
444 Get available Pcd definition contents into String array\r
445 \r
446 @param pcd Caller allocated two-dimentional String array\r
447 **/\r
448 public void getSpdPcdDefinitions(String[][] pcd) {\r
449 List<PcdDefinitionsDocument.PcdDefinitions.PcdEntry> l = psaRoot.getPcdDefinitions().getPcdEntryList();\r
450 int i = 0;\r
451 ListIterator li = l.listIterator();\r
452 while (li.hasNext()) {\r
453 PcdDefinitionsDocument.PcdDefinitions.PcdEntry e = (PcdDefinitionsDocument.PcdDefinitions.PcdEntry) li\r
454 .next();\r
455 if (e.getItemType() != null) {\r
456 pcd[i][0] = e.getItemType().toString();\r
457 }\r
458\r
459 pcd[i][1] = e.getCName();\r
460 pcd[i][2] = e.getToken();\r
461 if (e.getDatumType() != null) {\r
462 pcd[i][3] = e.getDatumType().toString();\r
463 }\r
464\r
465 if (e.getDefaultValue() != null) {\r
466 pcd[i][4] = e.getDefaultValue().toString();\r
467 }\r
468\r
469 i++;\r
470 }\r
471 }\r
472\r
473 /**\r
474 Save the processed xml contents to file\r
475 \r
476 @param spdFile The file to save xml contents\r
477 @throws IOException Exceptions during file operation\r
478 **/\r
479 public void saveAs(File spdFile) throws IOException {\r
480\r
481 XmlOptions options = new XmlOptions();\r
482\r
483 options.setCharacterEncoding("UTF-8");\r
484 options.setSavePrettyPrint();\r
485 options.setSavePrettyPrintIndent(2);\r
486 try {\r
487 psad.save(spdFile, options);\r
488 } catch (IOException e) {\r
489 e.printStackTrace();\r
490 }\r
491\r
492 }\r
493\r
494 /**\r
495 Generate SpdHeader contents using parameters passed in.\r
496 \r
497 @param pkgName PackageName \r
498 @param pkgGuid Guid\r
499 @param pkgVer Version\r
500 @param pkgAbs Abstract\r
501 @param pkgDes Description\r
502 @param pkgCpRight Copyright\r
503 @param pkgLicense License\r
504 @param pkgCreateDate Created\r
505 @param pkgUpdateDate Updated\r
506 @param pkgURL URL\r
507 @param pkgType PackageType\r
508 @param pkgRdOnly ReadOnly\r
509 @param pkgRePkg RePackage\r
510 @param pkgSpec Reserved\r
511 @param pkgOutDir Reserved\r
512 **/\r
513 public void genSpdHeader(String pkgName, String pkgGuid, String pkgVer, String pkgAbs, String pkgDes,\r
514 String pkgCpRight, String pkgLicense, String pkgCreateDate, String pkgUpdateDate,\r
515 String pkgURL, String pkgType, String pkgRdOnly, String pkgRePkg, String pkgSpec,\r
516 String pkgOutDir) {\r
517 if (getSpdHdr() == null) {\r
518 spdHdr = psaRoot.addNewSpdHeader();\r
519 }\r
520\r
521 setSpdHdrPkgName(pkgName);\r
522 setSpdHdrGuid(pkgGuid);\r
523 setSpdHdrVer(pkgVer);\r
524 setSpdHdrAbs(pkgAbs);\r
525 setSpdHdrDes(pkgDes);\r
526 setSpdHdrCpRit(pkgCpRight);\r
527 setSpdHdrLicense(pkgLicense);\r
528 setSpdHdrCreateDate(pkgCreateDate);\r
529 setSpdHdrUpdateDate(pkgUpdateDate);\r
530 setSpdHdrURL(pkgURL);\r
531 setSpdHdrPkgType(pkgType);\r
532 setSpdHdrRdOnly(pkgRdOnly);\r
533 setSpdHdrRePkg(pkgRePkg);\r
534 setSpdHdrSpec(pkgSpec);\r
535 setSpdHdrOutDir(pkgOutDir);\r
536 }\r
537\r
538 /**\r
539 Generate library class declaration element using parameters passed in\r
540 \r
541 @param libClassBaseName LibraryClass element value\r
542 @param libClassUsage Reserved\r
543 @param incHdrFileName IncludeHeader element value\r
544 @param incHdrAttribGuid Reserved\r
545 @param incHdrAttribArch Reserved\r
546 @param incHdrAttribPath Reserved\r
547 @param incHdrAttribClass Reserved\r
548 @param incHdrAttribVer Reserved\r
549 @param incHdrAttribOverrideID Reserved\r
550 @param incHdrAttribModuleType Reserved\r
551 **/\r
552 public void genSpdLibClassDeclarations(String libClassBaseName, String libClassUsage, String incHdrFileName,\r
553 String incHdrAttribGuid, String incHdrAttribArch, String incHdrAttribPath,\r
554 String incHdrAttribClass, String incHdrAttribVer,\r
555 String incHdrAttribOverrideID, String incHdrAttribModuleType) {\r
556 if (getSpdLibClassDeclarations() == null) {\r
557 spdLibClassDeclarations = psaRoot.addNewLibraryClassDeclarations();\r
558 }\r
559 //\r
560 // add contents under LibraryClassDeclarations tag \r
561 //\r
562 setSpdLibClassDeclaration(libClassBaseName, libClassUsage, incHdrFileName, incHdrAttribGuid, incHdrAttribArch,\r
563 incHdrAttribPath, incHdrAttribClass, incHdrAttribVer, incHdrAttribOverrideID,\r
564 incHdrAttribModuleType, spdLibClassDeclarations);\r
565 }\r
566\r
567 /**\r
568 Set library class declaration contents under parent tag\r
569 \r
570 @param clsName LibraryClass element value\r
571 @param clsUsage Reserved\r
572 @param hdrFile IncludeHeader element value\r
573 @param hdrAttribGuid Reserved\r
574 @param hdrAttribArch Reserved\r
575 @param hdrAttribPath Reserved\r
576 @param hdrAttribClass Reserved\r
577 @param hdrAttribVer Reserved\r
578 @param hdrAttribOverID Reserved\r
579 @param hdrAttribModType Reserved\r
580 @param parent The tag under which library class declaration goes to\r
581 **/\r
582 public void setSpdLibClassDeclaration(String clsName, String clsUsage, String hdrFile, String hdrAttribGuid,\r
583 String hdrAttribArch, String hdrAttribPath, String hdrAttribClass,\r
584 String hdrAttribVer, String hdrAttribOverID, String hdrAttribModType,\r
585 XmlObject parent) {\r
586\r
587 LibraryClassDeclarationDocument.LibraryClassDeclaration lcd = ((LibraryClassDeclarationsDocument.LibraryClassDeclarations) parent)\r
588 .addNewLibraryClassDeclaration();\r
589\r
590 setSpdLibraryClass(clsName, clsUsage, lcd);\r
591\r
592 setSpdIncludeHeader(null, hdrFile, hdrAttribGuid, hdrAttribArch, hdrAttribPath, hdrAttribClass, hdrAttribVer,\r
593 hdrAttribOverID, lcd);\r
594 }\r
595\r
596 /**\r
597 Set the contents of LibraryClass under parent element\r
598 \r
599 @param clsName LibraryClass element value \r
600 @param clsUsage Reserved\r
601 @param parent The tag under which library class declaration goes to\r
602 **/\r
603 public void setSpdLibraryClass(String clsName, String clsUsage, XmlObject parent) {\r
b4b11851 604 LibraryClassDeclarationDocument.LibraryClassDeclaration.LibraryClass lc = ((LibraryClassDeclarationDocument.LibraryClassDeclaration) parent).addNewLibraryClass();\r
878ddf1f 605 lc.setStringValue(clsName);\r
606 }\r
607\r
608 /**\r
609 Set contents of IncludeHeader under parent element\r
610 \r
611 @param modType Reserved\r
612 @param hdrFile IncludeHeader element value\r
613 @param hdrAttribGuid Reserved\r
614 @param hdrAttribArch Reserved\r
615 @param hdrAttribPath Reserved\r
616 @param hdrAttribClass Reserved\r
617 @param hdrAttribVer Reserved\r
618 @param hdrAttribOverID Reserved\r
619 @param parent The tag under which library class declaration goes to\r
620 **/\r
621 public void setSpdIncludeHeader(String modType, String hdrFile, String hdrAttribGuid, String hdrAttribArch,\r
622 String hdrAttribPath, String hdrAttribClass, String hdrAttribVer,\r
623 String hdrAttribOverID, XmlObject parent) {\r
624 IncludeHeaderDocument.IncludeHeader ih = null;\r
625 if (parent instanceof LibraryClassDeclarationDocument.LibraryClassDeclaration) {\r
626 ih = ((LibraryClassDeclarationDocument.LibraryClassDeclaration) parent).addNewIncludeHeader();\r
627 } else if (parent instanceof PackageHeadersDocument.PackageHeaders) {\r
628 ih = ((PackageHeadersDocument.PackageHeaders) parent).addNewIncludeHeader();\r
629 } else {\r
630 return;\r
631 }\r
632\r
633 ih.setStringValue(hdrFile);\r
634 if (hdrAttribGuid != null) {\r
635 ih.setGuid(hdrAttribGuid);\r
636 }\r
637 if (hdrAttribPath != null) {\r
638 ih.setPath(hdrAttribPath);\r
639 }\r
640 if (hdrAttribClass != null) {\r
641 ih.setClass1(hdrAttribClass);\r
642 }\r
643 if (hdrAttribVer != null) {\r
644 ih.setVersion(hdrAttribVer);\r
645 }\r
646 if (hdrAttribOverID != null) {\r
647 ih.setOverrideID(Integer.parseInt(hdrAttribOverID));\r
648 }\r
649 if (modType != null) {\r
650 ih.setModuleType(ModuleTypeDef.Enum.forString(modType));\r
651\r
652 }\r
653\r
654 }\r
655\r
656 /**\r
657 Reserved method\r
658 \r
659 @param pkgDepPkgName\r
660 @param pkgDepPkgAttribGuid\r
661 @param pkgDepPkgAttribVer\r
662 @param pkgDepPkgAttribType\r
663 @param pkgDepPkgAttribUsage\r
664 @param pkgDepPkgAttribInstallDate\r
665 @param pkgDepPkgAttribUpdateDate\r
666 @param pkgDepPkgAttribPath\r
667 **/\r
668 public void genSpdPackageDependencies(String pkgDepPkgName, String pkgDepPkgAttribGuid, String pkgDepPkgAttribVer,\r
669 String pkgDepPkgAttribType, String pkgDepPkgAttribUsage,\r
670 String pkgDepPkgAttribInstallDate, String pkgDepPkgAttribUpdateDate,\r
671 String pkgDepPkgAttribPath) {\r
672 if (spdPkgDeps == null) {\r
673 spdPkgDeps = psaRoot.addNewPackageDependencies();\r
674 }\r
675\r
676 setSpdPackageName(pkgDepPkgName, pkgDepPkgAttribGuid, pkgDepPkgAttribVer, pkgDepPkgAttribType,\r
677 pkgDepPkgAttribUsage, pkgDepPkgAttribInstallDate, pkgDepPkgAttribUpdateDate,\r
678 pkgDepPkgAttribPath, spdPkgDeps);\r
679 }\r
680\r
681 /**\r
682 Reserved method\r
683 \r
684 @param pkgName\r
685 @param pkgAttribGuid\r
686 @param pkgAttribVer\r
687 @param pkgAttribType\r
688 @param pkgAttribUsage\r
689 @param pkgAttribInstallDate\r
690 @param pkgAttribUpdateDate\r
691 @param pkgAttribPath\r
692 @param parent\r
693 **/\r
694 public void setSpdPackageName(String pkgName, String pkgAttribGuid, String pkgAttribVer, String pkgAttribType,\r
695 String pkgAttribUsage, String pkgAttribInstallDate, String pkgAttribUpdateDate,\r
696 String pkgAttribPath, XmlObject parent) {\r
697\r
698 PackageNameDocument.PackageName pn = ((PackageDependenciesDocument.PackageDependencies) parent)\r
699 .addNewPackageName();\r
700 pn.setStringValue(pkgName);\r
701 pn.setPackageType(PackageType.Enum.forString(pkgAttribType));\r
702 pn.setUsage(PackageUsage.Enum.forString(pkgAttribUsage));\r
703 pn.setUpdatedDate(pkgAttribUpdateDate);\r
704 }\r
705\r
706 /**\r
707 Generate MsaFile element.\r
708 \r
709 @param msaFileName MsaFile element value\r
710 @param archType Reserved\r
711 **/\r
712 public void genSpdMsaFiles(String msaFileName, String archType) {\r
713 if (getSpdMsaFiles() == null) {\r
714 spdMsaFiles = psaRoot.addNewMsaFiles();\r
715 }\r
716 setSpdMsaFile(msaFileName, spdMsaFiles);\r
717 \r
718 }\r
719\r
720 /**\r
721 Set MsaFile contents under parent element.\r
722 \r
723 @param msaFileName MsaFile element value\r
724 @param parent Element under which MsaFile goes to\r
725 **/\r
726 public void setSpdMsaFile(String msaFileName, XmlObject parent) {\r
727\r
728 ((MsaFilesDocument.MsaFiles) parent).addNewMsaFile().addNewFilename().setStringValue(msaFileName);\r
729 }\r
730\r
731 /**\r
732 Generate PackageHeader element using parameters passed in.\r
733 \r
734 @param ModHdrModType ModuleType attribute of IncludeHeader element\r
735 @param hdrFile IncludeHeader element value\r
736 @param hdrAttribGuid Reserved\r
737 @param hdrAttribArch Reserved\r
738 @param hdrAttribPath Reserved\r
739 @param hdrAttribClass Reserved\r
740 @param hdrAttribVer Reserved\r
741 @param hdrAttribOverID Reserved\r
742 **/\r
743 public void genSpdModuleHeaders(String ModHdrModType, String hdrFile, String hdrAttribGuid, String hdrAttribArch,\r
744 String hdrAttribPath, String hdrAttribClass, String hdrAttribVer,\r
745 String hdrAttribOverID) {\r
746 if (getSpdModHdrs() == null) {\r
747 spdModHdrs = psaRoot.addNewPackageHeaders();\r
748 }\r
749\r
750 //\r
751 // add IncludeHeader under PackageHeaders element\r
752 //\r
753 setSpdIncludeHeader(ModHdrModType, hdrFile, hdrAttribGuid, hdrAttribArch, hdrAttribPath, hdrAttribClass,\r
754 hdrAttribVer, hdrAttribOverID, spdModHdrs);\r
755 }\r
756\r
757 /**\r
758 Generate GUID declaration element using parameters passed in.\r
759 \r
760 @param guidDeclEntryName Name attribute of Entry element\r
761 @param guidDeclCName CName element value\r
762 @param guidDeclGuid Guid element value\r
763 @param guidDeclFeatureFlag Reserved\r
764 **/\r
765 public void genSpdGuidDeclarations(String guidDeclEntryName, String guidDeclCName, String guidDeclGuid,\r
766 String guidDeclFeatureFlag) {\r
767 if (getSpdGuidDeclarations() == null) {\r
768 spdGuidDeclarations = psaRoot.addNewGuidDeclarations();\r
769 }\r
770\r
771 setSpdEntry(guidDeclEntryName, guidDeclCName, guidDeclGuid, guidDeclFeatureFlag, spdGuidDeclarations);\r
772 }\r
773\r
774 /**\r
775 Generate protocol declaration element using parameters passed in.\r
776 \r
777 @param protocolDeclEntryName Name attribute of Entry element\r
778 @param protocolDeclCName CName element value\r
779 @param protocolDeclGuid Guid element value\r
780 @param protocolDeclFeatureFlag Reserved\r
781 **/\r
782 public void genSpdProtocolDeclarations(String protocolDeclEntryName, String protocolDeclCName,\r
783 String protocolDeclGuid, String protocolDeclFeatureFlag) {\r
784 if (getSpdProtocolDeclarations() == null) {\r
785 spdProtocolDeclarations = psaRoot.addNewProtocolDeclarations();\r
786 }\r
787\r
788 setSpdEntry(protocolDeclEntryName, protocolDeclCName, protocolDeclGuid, protocolDeclFeatureFlag,\r
789 spdProtocolDeclarations);\r
790 }\r
791\r
792 /**\r
793 Generate PPI declaration element using parameters passed in.\r
794 \r
795 @param ppiDeclEntryName Name attribute of Entry element\r
796 @param ppiDeclCName CName element value\r
797 @param ppiDeclGuid Guid element value\r
798 @param ppiDeclFeatureFlag Reserved\r
799 **/\r
800 public void genSpdPpiDeclarations(String ppiDeclEntryName, String ppiDeclCName, String ppiDeclGuid,\r
801 String ppiDeclFeatureFlag) {\r
802 if (getSpdPpiDeclarations() == null) {\r
803 spdPpiDeclarations = psaRoot.addNewPpiDeclarations();\r
804 }\r
805\r
806 setSpdEntry(ppiDeclEntryName, ppiDeclCName, ppiDeclGuid, ppiDeclFeatureFlag, spdPpiDeclarations);\r
807 }\r
808\r
809 /**\r
810 Set Entry contents using parameters passed in\r
811 \r
812 @param entryName Name attribute of Entry element\r
813 @param cName CName element value\r
814 @param guid Guid element value\r
815 @param featureFlag Reserved\r
816 @param parent The tag under which Entry element goes to\r
817 **/\r
818 public void setSpdEntry(String entryName, String cName, String guid, String featureFlag, XmlObject parent) {\r
819\r
820 if (parent instanceof GuidDeclarationsDocument.GuidDeclarations) {\r
821 GuidDeclarationsDocument.GuidDeclarations.Entry e = ((GuidDeclarations) parent).addNewEntry();\r
822 e.setName(entryName);\r
823 e.setCName(cName);\r
824 e.addNewGuid().setStringValue(guid);\r
825 if (featureFlag != null) {\r
826 e.addNewFeatureFlag().setStringValue(featureFlag);\r
827 }\r
828 return;\r
829 }\r
830 if (parent instanceof ProtocolDeclarationsDocument.ProtocolDeclarations) {\r
831 ProtocolDeclarationsDocument.ProtocolDeclarations.Entry pe = ((ProtocolDeclarationsDocument.ProtocolDeclarations) parent)\r
832 .addNewEntry();\r
833 pe.setName(entryName);\r
834 pe.setCName(cName);\r
835 pe.addNewGuid().setStringValue(guid);\r
836 if (featureFlag != null) {\r
837 pe.addNewFeatureFlag().setStringValue(featureFlag);\r
838 }\r
839 return;\r
840 }\r
841 if (parent instanceof PpiDeclarationsDocument.PpiDeclarations) {\r
842 PpiDeclarationsDocument.PpiDeclarations.Entry ppe = ((PpiDeclarationsDocument.PpiDeclarations) parent)\r
843 .addNewEntry();\r
844 ppe.setName(entryName);\r
845 ppe.setCName(cName);\r
846 ppe.addNewGuid().setStringValue(guid);\r
847 if (featureFlag != null) {\r
848 ppe.addNewFeatureFlag().setStringValue(featureFlag);\r
849 }\r
850 return;\r
851 }\r
852\r
853 return;\r
854\r
855 }\r
856\r
857 /**\r
858 Generate Pcd definition using parameters passed in\r
859 \r
860 @param pcdItemTypes ItemType attribute of PcdEntry element\r
861 @param cName C_Name element value\r
862 @param token Token element value\r
863 @param dataType DatumType element value\r
864 @param skuEnable Reserved\r
865 @param sku Reserved\r
866 @param maxSku Reserved\r
867 @param hiiEnable Reserved\r
868 @param varGuid Reserved\r
869 @param varName Reserved\r
870 @param defaultString DefaultString element value\r
871 **/\r
872 public void genSpdPcdDefinitions(String pcdItemTypes, String cName, String token, String dataType,\r
873 String skuEnable, String sku, String maxSku, String hiiEnable, String varGuid,\r
874 String varName, String defaultString) {\r
875 if (getSpdPcdDefinitions() == null) {\r
876 spdPcdDefinitions = psaRoot.addNewPcdDefinitions();\r
877 }\r
878\r
879 setSpdPcdEntry(pcdItemTypes, cName, token, dataType, skuEnable, sku, maxSku, hiiEnable, varGuid, varName,\r
880 defaultString, spdPcdDefinitions);\r
881 }\r
882\r
883 /**\r
884 Set Pcd entry contents under parent tag\r
885 \r
886 @param pcdItemTypes ItemType attribute of PcdEntry element\r
887 @param cName C_Name element value\r
888 @param token Token element value\r
889 @param dataType DatumType element value\r
890 @param skuEnable Reserved\r
891 @param sku Reserved\r
892 @param maxSku Reserved\r
893 @param hiiEnable Reserved\r
894 @param varGuid Reserved\r
895 @param varName Reserved\r
896 @param defaultString DefaultString element value\r
897 @param parent Tag under which PcdEntry goes to\r
898 **/\r
899 public void setSpdPcdEntry(String pcdItemTypes, String cName, String token, String dataType, String skuEnable,\r
900 String sku, String maxSku, String hiiEnable, String varGuid, String varName,\r
901 String defaultString, XmlObject parent) {\r
902\r
903 PcdDefinitionsDocument.PcdDefinitions.PcdEntry pe = ((PcdDefinitionsDocument.PcdDefinitions) parent)\r
904 .addNewPcdEntry();\r
905 pe.setItemType(PcdItemTypes.Enum.forString(pcdItemTypes));\r
906 pe.setCName(cName);\r
907 pe.setToken(token);\r
908 pe.setDatumType(PcdDataTypes.Enum.forString(dataType));\r
909 pe.setDefaultValue(defaultString);\r
910 \r
911 }\r
912\r
913 /**\r
914 Get PpiDeclarations element\r
915 \r
916 @return PpiDeclarationsDocument.PpiDeclarations\r
917 **/\r
918 public PpiDeclarationsDocument.PpiDeclarations getSpdPpiDeclarations() {\r
919 if (spdPpiDeclarations == null) {\r
920 spdPpiDeclarations = psaRoot.getPpiDeclarations();\r
921 }\r
922 return spdPpiDeclarations;\r
923 }\r
924\r
925 /**\r
926 Get ProtocolDeclarations element\r
927 \r
928 @return ProtocolDeclarationsDocument.ProtocolDeclarations\r
929 **/\r
930 public ProtocolDeclarationsDocument.ProtocolDeclarations getSpdProtocolDeclarations() {\r
931 if (spdProtocolDeclarations == null) {\r
932 spdProtocolDeclarations = psaRoot.getProtocolDeclarations();\r
933 }\r
934 return spdProtocolDeclarations;\r
935 }\r
936\r
937 /**\r
938 Get GuidDeclarations element\r
939 \r
940 @return GuidDeclarationsDocument.GuidDeclarations\r
941 **/\r
942 public GuidDeclarationsDocument.GuidDeclarations getSpdGuidDeclarations() {\r
943 if (spdGuidDeclarations == null) {\r
944 spdGuidDeclarations = psaRoot.getGuidDeclarations();\r
945 }\r
946 return spdGuidDeclarations;\r
947 }\r
948\r
949 /**\r
950 Get PcdDefinitions element\r
951 \r
952 @return PcdDefinitionsDocument.PcdDefinitions\r
953 **/\r
954 public PcdDefinitionsDocument.PcdDefinitions getSpdPcdDefinitions() {\r
955 if (spdPcdDefinitions == null) {\r
956 spdPcdDefinitions = psaRoot.getPcdDefinitions();\r
957 }\r
958 return spdPcdDefinitions;\r
959 }\r
960\r
961 /**\r
962 Get PackageHeaders element\r
963 \r
964 @return PackageHeadersDocument.PackageHeaders\r
965 **/\r
966 public PackageHeadersDocument.PackageHeaders getSpdModHdrs() {\r
967 if (spdModHdrs == null) {\r
968 spdModHdrs = psaRoot.getPackageHeaders();\r
969 }\r
970 return spdModHdrs;\r
971 }\r
972\r
973 /**\r
974 Get MsaFiles element\r
975 \r
976 @return MsaFilesDocument.MsaFiles\r
977 **/\r
978 public MsaFilesDocument.MsaFiles getSpdMsaFiles() {\r
979 if (spdMsaFiles == null) {\r
980 spdMsaFiles = psaRoot.getMsaFiles();\r
981 }\r
982 return spdMsaFiles;\r
983 }\r
984\r
985 /**\r
986 Get LibraryClassDeclarations element\r
987 \r
988 @return LibraryClassDeclarationsDocument.LibraryClassDeclarations\r
989 **/\r
990 public LibraryClassDeclarationsDocument.LibraryClassDeclarations getSpdLibClassDeclarations() {\r
991 if (spdLibClassDeclarations == null) {\r
992 spdLibClassDeclarations = psaRoot.getLibraryClassDeclarations();\r
993 }\r
994 return spdLibClassDeclarations;\r
995 }\r
996\r
997 /**\r
998 Get SpdHeader element\r
999 \r
1000 @return SpdHeaderDocument.SpdHeader\r
1001 **/\r
1002 public SpdHeaderDocument.SpdHeader getSpdHdr() {\r
1003 if (spdHdr == null) {\r
1004 spdHdr = psaRoot.getSpdHeader();\r
1005 }\r
1006 return spdHdr;\r
1007 }\r
1008\r
1009 /**\r
1010 Get Abstract element under tag SpdHeader\r
1011 \r
1012 @return AbstractDocument.Abstract\r
1013 **/\r
1014 public AbstractDocument.Abstract getSpdHdrAbs() {\r
1015 if (spdHdrAbs == null) {\r
1016 spdHdrAbs = getSpdHdr().getAbstract();\r
1017 }\r
1018 return spdHdrAbs;\r
1019 }\r
1020\r
1021 /**\r
1022 Set value to Abstract element\r
1023 \r
1024 @param abs The value set to Abstract element\r
1025 **/\r
1026 public void setSpdHdrAbs(String abs) {\r
1027\r
1028 if (getSpdHdrAbs() != null) {\r
1029 getSpdHdrAbs().setStringValue(abs);\r
1030 } else {\r
1031 spdHdrAbs = getSpdHdr().addNewAbstract();\r
1032 spdHdrAbs.setStringValue(abs);\r
1033 }\r
1034 }\r
1035\r
1036 /**\r
1037 Set value to Copyright element\r
1038 \r
1039 @param cpRit The value set to Copyright element\r
1040 **/\r
1041 public void setSpdHdrCpRit(String cpRit) {\r
1042\r
1043 getSpdHdr().setCopyright(cpRit);\r
1044\r
1045 }\r
1046\r
1047 /**\r
1048 Set value to Created element\r
1049 \r
1050 @param createDate The value set to Created element\r
1051 **/\r
1052 public void setSpdHdrCreateDate(String createDate) {\r
1053\r
1054 getSpdHdr().setCreated(createDate);\r
1055\r
1056 }\r
1057\r
1058 /**\r
1059 Set value to Description element\r
1060 \r
1061 @param des The value set to Description element\r
1062 **/\r
1063 public void setSpdHdrDes(String des) {\r
1064 getSpdHdr().setDescription(des);\r
1065 }\r
1066\r
1067 /**\r
1068 Get Guid element under SpdHdr\r
1069 \r
1070 @return GuidDocument.Guid\r
1071 **/\r
1072 public GuidDocument.Guid getSpdHdrGuid() {\r
1073 if (spdHdrGuid == null) {\r
1074 spdHdrGuid = getSpdHdr().getGuid();\r
1075 }\r
1076 return spdHdrGuid;\r
1077 }\r
1078\r
1079 /**\r
1080 Set value to Guid element\r
1081 \r
1082 @param guid The value set to Guid element\r
1083 **/\r
1084 public void setSpdHdrGuid(String guid) {\r
1085 if (getSpdHdrGuid() != null) {\r
1086 getSpdHdrGuid().setStringValue(guid);\r
1087 } else {\r
1088 spdHdrGuid = getSpdHdr().addNewGuid();\r
1089 spdHdrGuid.setStringValue(guid);\r
1090 }\r
1091 }\r
1092\r
1093 /**\r
1094 Get Version element under SpdHdr\r
1095 \r
1096 @return String\r
1097 **/\r
1098 public String getSpdHdrVer() {\r
1099 if (spdHdr != null)\r
1100 return spdHdr.getVersion();\r
1101 else\r
1102 return null;\r
1103 }\r
1104\r
1105 /**\r
1106 Set value to Version element\r
1107 \r
1108 @param ver The value set to Version element\r
1109 **/\r
1110 public void setSpdHdrVer(String ver) {\r
1111 if (spdHdr != null) {\r
1112 spdHdr.setVersion(ver);\r
1113 }\r
1114\r
1115 }\r
1116\r
1117 /**\r
1118 Get License element under SpdHdr\r
1119 \r
1120 @return LicenseDocument.License\r
1121 **/\r
1122 public LicenseDocument.License getSpdHdrLicense() {\r
1123 if (spdHdrLicense == null) {\r
1124 spdHdrLicense = getSpdHdr().getLicense();\r
1125 }\r
1126 return spdHdrLicense;\r
1127 }\r
1128\r
1129 /**\r
1130 Set value to License element\r
1131 \r
1132 @param license The value set to License element\r
1133 **/\r
1134 public void setSpdHdrLicense(String license) {\r
1135 if (getSpdHdrLicense() != null) {\r
1136 getSpdHdrLicense().setStringValue(license);\r
1137 } else {\r
1138 spdHdrLicense = getSpdHdr().addNewLicense();\r
1139 spdHdrLicense.setStringValue(license);\r
1140 }\r
1141 }\r
1142\r
1143 /**\r
1144 Reserved method\r
1145 \r
1146 @return\r
1147 **/\r
1148 public OutputDirectoryDocument.OutputDirectory getSpdHdrOutDir() {\r
1149 return spdHdrOutDir;\r
1150 }\r
1151\r
1152 /**\r
1153 Reserved method\r
1154 \r
1155 @param outdir\r
1156 **/\r
1157 public void setSpdHdrOutDir(String outdir) {\r
1158 if (outdir == null) {\r
1159 return;\r
1160 }\r
1161 if (getSpdHdrOutDir() != null) {\r
1162 getSpdHdrOutDir().setStringValue(outdir);\r
1163 } else {\r
1164 spdHdrOutDir = getSpdHdr().addNewOutputDirectory();\r
1165 spdHdrOutDir.setStringValue(outdir);\r
1166 }\r
1167 }\r
1168\r
1169 /**\r
1170 Get PackageName element under SpdHdr\r
1171 \r
1172 @return PackageNameDocument.PackageName\r
1173 **/\r
1174 public PackageNameDocument.PackageName getSpdHdrPkgName() {\r
1175 if (spdHdrPkgName == null) {\r
1176 spdHdrPkgName = getSpdHdr().getPackageName();\r
1177 }\r
1178 return spdHdrPkgName;\r
1179 }\r
1180\r
1181 /**\r
1182 Set value to PackageName element\r
1183 \r
1184 @param pkgName The value set to PackageName element\r
1185 **/\r
1186 public void setSpdHdrPkgName(String pkgName) {\r
1187\r
1188 if (getSpdHdrPkgName() != null) {\r
1189 getSpdHdrPkgName().setStringValue(pkgName);\r
1190 } else {\r
1191 spdHdrPkgName = getSpdHdr().addNewPackageName();\r
1192 spdHdrPkgName.setStringValue(pkgName);\r
1193 }\r
1194 }\r
1195\r
1196 /**\r
1197 Reserved method\r
1198 \r
1199 @return SpecificationDocument.Specification\r
1200 **/\r
1201 public SpecificationDocument.Specification getSpdHdrSpec() {\r
1202 return spdHdrSpec;\r
1203 }\r
1204\r
1205 /**\r
1206 Reserved method\r
1207 \r
1208 @param spec \r
1209 **/\r
1210 public void setSpdHdrSpec(String spec) {\r
1211 if (spec == null) {\r
1212 return;\r
1213 }\r
1214 if (getSpdHdrSpec() != null) {\r
1215 getSpdHdrSpec().setStringValue(spec);\r
1216 } else {\r
1217 spdHdrSpec = getSpdHdr().addNewSpecification();\r
1218 spdHdrSpec.setStringValue(spec);\r
1219 }\r
1220 }\r
1221\r
1222 /**\r
1223 Set value to PackageType element\r
1224 \r
1225 @param pkgType The value set to PackageType element\r
1226 **/\r
1227 public void setSpdHdrPkgType(String pkgType) {\r
1228 getSpdHdr().setPackageType(PackageType.Enum.forString(pkgType));\r
1229 }\r
1230\r
1231 /**\r
1232 Set value to ReadOnly element\r
1233 \r
1234 @param rdOnly The value set to ReadOnly element\r
1235 **/\r
1236 public void setSpdHdrRdOnly(String rdOnly) {\r
1237\r
1238 getSpdHdr().setReadOnly(new Boolean(rdOnly));\r
1239 }\r
1240\r
1241 /**\r
1242 Set value to RePackage element\r
1243 \r
1244 @param rePkg The value set to RePackage element\r
1245 **/\r
1246 public void setSpdHdrRePkg(String rePkg) {\r
1247\r
1248 getSpdHdr().setRePackage(new Boolean(rePkg));\r
1249 }\r
1250\r
1251 /**\r
1252 Set value to Updated element\r
1253 \r
1254 @param updateDate The value set to Updated element\r
1255 **/\r
1256 public void setSpdHdrUpdateDate(String updateDate) {\r
1257 getSpdHdr().setUpdated(updateDate);\r
1258 }\r
1259\r
1260 /**\r
1261 Set value to URL element\r
1262 \r
1263 @param url The value set to URL element\r
1264 **/\r
1265 public void setSpdHdrURL(String url) {\r
1266 getSpdHdr().setURL(url);\r
1267 }\r
1268\r
1269 /**\r
1270 Get xml file\r
1271 \r
1272 @return File\r
1273 **/\r
1274 public File getFile() {\r
1275 return file;\r
1276 }\r
1277\r
1278 /**\r
1279 Set file\r
1280 \r
1281 @param file File with xml format\r
1282 **/\r
1283 public void setFile(File file) {\r
1284 this.file = file;\r
1285 }\r
1286\r
1287}\r