1 /** 2 * Copyright © 2008-2012 NetAllied Systems GmbH, Ravensburg, Germany. 3 * 4 * Licensed under the MIT Open Source License, 5 * for details please see LICENSE file or the website 6 * http://www.opensource.org/licenses/mit-license.php 7 */ 8 package de.netallied.xsd2cppsax; 9 10 import java.io.File; 11 import java.io.FileInputStream; 12 import java.io.FileNotFoundException; 13 import java.io.IOException; 14 import java.util.ArrayList; 15 import java.util.HashMap; 16 import java.util.List; 17 import java.util.Map; 18 import java.util.Properties; 19 20 import de.netallied.xsd2cppsax.TypeMapping.TypeMap; 21 import de.netallied.xsd2cppsax.TypeMapping.TypeMapFactory; 22 23 /** 24 * Configures code generation. 25 */ 26 public class Config { 27 28 /** 29 * Utility function to get a filepath without file extension. 30 * 31 * @param fileName 32 * Path of a file. 33 * @return Filepath without extension. 34 */ getBaseFileName(String fileName)35 public static String getBaseFileName(String fileName) { 36 return fileName.substring(0, fileName.lastIndexOf('.')); 37 } 38 39 private Map<String, String> builtInTypeMaxValues; 40 41 private Map<String, String> builtInTypeMinValues; 42 43 /** Code templates loaded from own properties file. */ 44 private Properties codeTemplates; 45 46 private List<String> coherencyTestInitializationList; 47 48 private Map<String, String> cppStructMemberNameMapping; 49 50 private Map<String, String> elementNameMapping; 51 52 private boolean generateCoherencyTestParser; 53 54 private boolean generateExampleParser; 55 56 private boolean generateFprintfParser; 57 58 private boolean generateTypeNameMapping; 59 60 private List<String> includeFilesForEnumsHeader; 61 62 private List<String> includeFilesForEnumsSource; 63 64 private List<String> includeFilesForImpl; 65 66 private List<String> includeFilesForPrivateHeader; 67 68 private int maxTemplateResolvingIterations; 69 70 /** Options loaded from a properties file. */ 71 private Properties props; 72 73 private List<String> specialFunctionMapsStartElementNamesAllLevels; 74 75 private List<String> specialFunctionMapsStartElementNamesOneLevel; 76 77 private boolean treatXsDoubleAsCppDouble; 78 79 private boolean treatXsFloatAsCppFloat; 80 81 private Map<String, TypeMap> typeMapping; 82 83 private Map<String, String> userTypeNameMapping; 84 85 private Map<String, String> xsNamespaceMapping; 86 Config(String configFileName, String inputXSD, String rootElement)87 public Config(String configFileName, String inputXSD, String rootElement) throws FileNotFoundException, IOException { 88 props = new Properties(); 89 FileInputStream propInputFile = new FileInputStream(configFileName); 90 props.load(propInputFile); 91 92 // options overwritten at commandline 93 if (inputXSD != null) { 94 props.setProperty("inputFile", inputXSD); 95 } 96 if (rootElement != null) { 97 props.setProperty("rootElementName", rootElement); 98 } 99 100 // map options 101 builtInTypeMaxValues = parseMapOption(props.getProperty("builtInTypeMaxValues")); 102 builtInTypeMinValues = parseMapOption(props.getProperty("builtInTypeMinValues")); 103 elementNameMapping = parseMapOption(props.getProperty("elementNameMapping")); 104 cppStructMemberNameMapping = parseMapOption(props.getProperty("cppStructMemberNameMapping")); 105 userTypeNameMapping = parseMapOption(props.getProperty("userTypeNameMapping")); 106 xsNamespaceMapping = parseMapOption(props.getProperty("xsNamespaceMapping")); 107 108 // list options 109 includeFilesForEnumsHeader = parseListOption(props.getProperty("includeFilesForEnumsHeader")); 110 includeFilesForEnumsSource = parseListOption(props.getProperty("includeFilesForEnumsSource")); 111 includeFilesForPrivateHeader = parseListOption(props.getProperty("includeFilesForPrivateHeader")); 112 includeFilesForImpl = new ArrayList<String>(); 113 includeFilesForImpl.add(getIncludePrecompiledHeader()); 114 includeFilesForImpl.addAll(parseListOption(props.getProperty("includeFilesForImpl"))); 115 coherencyTestInitializationList = parseListOption(props.getProperty("coherencyTestInitializationList")); 116 117 specialFunctionMapsStartElementNamesAllLevels = parseListOption(props 118 .getProperty("specialFunctionMapsStartElementNamesAllLevels")); 119 specialFunctionMapsStartElementNamesOneLevel = parseListOption(props 120 .getProperty("specialFunctionMapsStartElementNamesOneLevel")); 121 122 // bool/numeric options 123 maxTemplateResolvingIterations = Integer.parseInt(checkOption(props 124 .getProperty("maxTemplateResolvingIterations"))); 125 generateTypeNameMapping = Boolean.parseBoolean(checkOption(props.getProperty("generateTypeNameMapping"))); 126 treatXsDoubleAsCppDouble = Boolean.parseBoolean(checkOption(props.getProperty("treatXsDoubleAsCppDouble"))); 127 treatXsFloatAsCppFloat = Boolean.parseBoolean(checkOption(props.getProperty("treatXsFloatAsCppFloat"))); 128 generateExampleParser = Boolean.parseBoolean(checkOption(props.getProperty("generateExampleParser"))); 129 generateFprintfParser = Boolean.parseBoolean(checkOption(props.getProperty("generateFprintfParser"))); 130 generateCoherencyTestParser = Boolean 131 .parseBoolean(checkOption(props.getProperty("generateCoherencyTestParser"))); 132 133 // code templates 134 codeTemplates = new Properties(); 135 String codeTemplatesFileName = props.getProperty("codeTemplates"); 136 if (codeTemplatesFileName != null && codeTemplatesFileName.length() > 0) { 137 File configFile = new File(configFileName); 138 String configDir = configFile.getParent(); 139 String codeTemplatesPath; 140 if (configDir != null) { 141 codeTemplatesPath = configDir + System.getProperty("file.separator") + codeTemplatesFileName; 142 } else { 143 codeTemplatesPath = codeTemplatesFileName; 144 } 145 FileInputStream codeTemplatesInputStream = new FileInputStream(codeTemplatesPath); 146 codeTemplates.load(codeTemplatesInputStream); 147 } 148 149 // type mapping 150 typeMapping = new TypeMapFactory().createDefaultTypeMap(this); 151 } 152 153 /** 154 * Checks if option is null and returns empty string if the case. 155 */ checkOption(String option)156 protected String checkOption(String option) { 157 return option == null ? "" : option; 158 } 159 getAnonymousEnumPrefix()160 public String getAnonymousEnumPrefix() { 161 return checkOption(props.getProperty("anonymousEnumPrefix")); 162 } 163 getAnonymousUnionMemberPrefix()164 public String getAnonymousUnionMemberPrefix() { 165 return checkOption(props.getProperty("anonymousUnionMemberPrefix")); 166 } 167 getAnonymousUnionPrefix()168 public String getAnonymousUnionPrefix() { 169 return checkOption(props.getProperty("anonymousUnionPrefix")); 170 } 171 getAttributeDataParameterName()172 public String getAttributeDataParameterName() { 173 return checkOption(props.getProperty("attributeDataParameterName")); 174 } 175 getAttributePresentMaskType()176 public String getAttributePresentMaskType() { 177 return checkOption(props.getProperty("attributePresentMaskType")); 178 } 179 getAttributesPresentMemberName()180 public String getAttributesPresentMemberName() { 181 return checkOption(props.getProperty("attributesPresentMemberName")); 182 } 183 getAttributesPresentMemberType()184 public String getAttributesPresentMemberType() { 185 return checkOption(props.getProperty("attributesPresentMemberType")); 186 } 187 getAttributeStructDefaultMemberName()188 public String getAttributeStructDefaultMemberName() { 189 return checkOption(props.getProperty("attributeStructDefaultMemberName")); 190 } 191 getAttributeStructSuffix()192 public String getAttributeStructSuffix() { 193 return checkOption(props.getProperty("attributeStructSuffix")); 194 } 195 getBaseClassName()196 public String getBaseClassName() { 197 return getBaseClassTemplateName() + "<" + getClassNamePrivate() + ", " + getClassNamePublic() + ">"; 198 } 199 getBaseClassNamespace()200 public String getBaseClassNamespace() { 201 return checkOption(props.getProperty("baseClassNamespace")); 202 } 203 getBaseClassTemplateName()204 public String getBaseClassTemplateName() { 205 return checkOption(props.getProperty("baseClassTemplateName")); 206 } 207 getBeginMethodPrefix()208 public String getBeginMethodPrefix() { 209 return checkOption(props.getProperty("beginMethodPrefix")); 210 } 211 212 /** 213 * @return Mapping of C++ type names to max values from XSD built in types. 214 */ getBuiltInTypeMaxValues()215 public Map<String, String> getBuiltInTypeMaxValues() { 216 return builtInTypeMaxValues; 217 } 218 219 /** 220 * @return Mapping of C++ type names to min values from XSD built in types. 221 */ getBuiltInTypeMinValues()222 public Map<String, String> getBuiltInTypeMinValues() { 223 return builtInTypeMinValues; 224 } 225 getClassNameFunctionMapFactory()226 public String getClassNameFunctionMapFactory() { 227 return checkOption(props.getProperty("classNameFunctionMapFactory")); 228 } 229 getClassNamePrivate()230 public String getClassNamePrivate() { 231 return checkOption(props.getProperty("classNamePrivate")); 232 } 233 getClassNamePublic()234 public String getClassNamePublic() { 235 return checkOption(props.getProperty("classNamePublic")); 236 } 237 getCoherencyTestCountAttributeMemberName()238 public String getCoherencyTestCountAttributeMemberName() { 239 return checkOption(props.getProperty("coherencyTestCountAttributeMemberName")); 240 } 241 getCoherencyTestCtorParas()242 public String getCoherencyTestCtorParas() { 243 return checkOption(props.getProperty("coherencyTestCtorParas")); 244 } 245 getCoherencyTestErrorHandlerName()246 public String getCoherencyTestErrorHandlerName() { 247 return checkOption(props.getProperty("coherencyTestErrorHandlerName")); 248 } 249 getCoherencyTestIdCounterMapName()250 public String getCoherencyTestIdCounterMapName() { 251 return checkOption(props.getProperty("coherencyTestIdCounterMapName")); 252 } 253 getCoherencyTestInitializationList()254 public List<String> getCoherencyTestInitializationList() { 255 return coherencyTestInitializationList; 256 } 257 getCoherencyTestListCountMemberName()258 public String getCoherencyTestListCountMemberName() { 259 return checkOption(props.getProperty("coherencyTestListCountMemberName")); 260 } 261 getCoherencyTestParserClassName()262 public String getCoherencyTestParserClassName() { 263 return checkOption(props.getProperty("coherencyTestParserClassName")); 264 } 265 getCoherencyTestParserNamespace()266 public String getCoherencyTestParserNamespace() { 267 return checkOption(props.getProperty("coherencyTestParserNamespace")); 268 } 269 getComplexValidationDataParentStructVariableName()270 public String getComplexValidationDataParentStructVariableName() { 271 return checkOption(props.getProperty("complexValidationDataParentStructVariableName")); 272 } 273 getComplexValidationDataStateMachineStructMemberType()274 public String getComplexValidationDataStateMachineStructMemberType() { 275 return checkOption(props.getProperty("complexValidationDataStateMachineStructMemberType")); 276 } 277 getComplexValidationDataStructVariableName()278 public String getComplexValidationDataStructVariableName() { 279 return checkOption(props.getProperty("complexValidationDataStructVariableName")); 280 } 281 getComplexValidationStateMachineStructMember()282 public String getComplexValidationStateMachineStructMember() { 283 return checkOption(props.getProperty("complexValidationStateMachineStructMember")); 284 } 285 getConvenienceDataMethodLengthParameterName()286 public String getConvenienceDataMethodLengthParameterName() { 287 return checkOption(props.getProperty("convenienceDataMethodLengthParameterName")); 288 } 289 getConvenienceDataMethodValueParameterName()290 public String getConvenienceDataMethodValueParameterName() { 291 return checkOption(props.getProperty("convenienceDataMethodValueParameterName")); 292 } 293 getCppEnumTypePrefix()294 public String getCppEnumTypePrefix() { 295 return checkOption(props.getProperty("cppEnumTypePrefix")); 296 } 297 getCppStructMemberNameMapping()298 public Map<String, String> getCppStructMemberNameMapping() { 299 return cppStructMemberNameMapping; 300 } 301 getCppUnionTypePrefix()302 public String getCppUnionTypePrefix() { 303 return checkOption(props.getProperty("cppUnionTypePrefix")); 304 } 305 getDebug()306 public boolean getDebug() { 307 // return true; 308 return false; 309 } 310 311 /** 312 * Returns configured delimiter for concatenated element names. 313 * 314 * @note Must be changed in C++, too! 315 * 316 * @return Delimiter. 317 */ getElementNameDelimiter()318 public String getElementNameDelimiter() { 319 return checkOption(props.getProperty("elementNameDelimiter")); 320 } 321 getElementNameMapping()322 public Map<String, String> getElementNameMapping() { 323 return elementNameMapping; 324 } 325 getEndMethodPrefix()326 public String getEndMethodPrefix() { 327 return checkOption(props.getProperty("endMethodPrefix")); 328 } 329 getEnumCountName()330 public String getEnumCountName() { 331 return checkOption(props.getProperty("enumCountName")); 332 } 333 getEnumFuncPrefixCharData()334 public String getEnumFuncPrefixCharData() { 335 return checkOption(props.getProperty("enumFuncPrefixCharData")); 336 } 337 getEnumFuncPrefixDataEnd()338 public String getEnumFuncPrefixDataEnd() { 339 return checkOption(props.getProperty("enumFuncPrefixDataEnd")); 340 } 341 getEnumFuncPrefixDataPrefix()342 public String getEnumFuncPrefixDataPrefix() { 343 return checkOption(props.getProperty("enumFuncPrefixDataPrefix")); 344 } 345 getEnumFuncPrefixToEnum()346 public String getEnumFuncPrefixToEnum() { 347 return checkOption(props.getProperty("enumFuncPrefixToEnum")); 348 } 349 getEnumMapNameSuffix()350 public String getEnumMapNameSuffix() { 351 return checkOption(props.getProperty("enumMapNameSuffix")); 352 } 353 getEnumMapPairType()354 public String getEnumMapPairType() { 355 return checkOption(props.getProperty("enumMapPairType")); 356 } 357 getEnumNotPresentName()358 public String getEnumNotPresentName() { 359 return checkOption(props.getProperty("enumNotPresentName")); 360 } 361 getEnumTypeNameMappingFile()362 public String getEnumTypeNameMappingFile() { 363 return checkOption(props.getProperty("enumTypeNameMappingFile")); 364 } 365 getExampleClassName()366 public String getExampleClassName() { 367 return checkOption(props.getProperty("exampleClassName")); 368 } 369 getExampleNamespace()370 public String getExampleNamespace() { 371 return checkOption(props.getProperty("exampleNamespace")); 372 } 373 getFprintfCtorParas()374 public String getFprintfCtorParas() { 375 return checkOption(props.getProperty("fprintfCtorParas")); 376 } 377 getFPrintfParserClassName()378 public String getFPrintfParserClassName() { 379 return checkOption(props.getProperty("fPrintfParserClassName")); 380 } 381 getFprintfParserFileMemberName()382 public String getFprintfParserFileMemberName() { 383 return checkOption(props.getProperty("fprintfParserFileMemberName")); 384 } 385 getFPrintfParserNamespace()386 public String getFPrintfParserNamespace() { 387 return checkOption(props.getProperty("fPrintfParserNamespace")); 388 } 389 getFprintfParserPrintDoubleMethodName()390 public String getFprintfParserPrintDoubleMethodName() { 391 return checkOption(props.getProperty("fprintfParserPrintDoubleMethodName")); 392 } 393 getFprintfParserPrintFloatMethodName()394 public String getFprintfParserPrintFloatMethodName() { 395 return checkOption(props.getProperty("fprintfParserPrintFloatMethodName")); 396 } 397 getFprintfParserPrintFloatMethodParameterName()398 public String getFprintfParserPrintFloatMethodParameterName() { 399 return checkOption(props.getProperty("fprintfParserPrintFloatMethodParameterName")); 400 } 401 getFprintfParserPrintFloatTemplateMethodName()402 public String getFprintfParserPrintFloatTemplateMethodName() { 403 return checkOption(props.getProperty("fprintfParserPrintFloatMethodName")); 404 } 405 getGenerateCoherencyTestParser()406 public boolean getGenerateCoherencyTestParser() { 407 return generateCoherencyTestParser; 408 } 409 getGenerateExampleParser()410 public boolean getGenerateExampleParser() { 411 return generateExampleParser; 412 } 413 getGenerateFprintfParser()414 public boolean getGenerateFprintfParser() { 415 return generateFprintfParser; 416 } 417 getIncludeFilesForEnumsHeader()418 public List<String> getIncludeFilesForEnumsHeader() { 419 return includeFilesForEnumsHeader; 420 } 421 getIncludeFilesForEnumsSource()422 public List<String> getIncludeFilesForEnumsSource() { 423 return includeFilesForEnumsSource; 424 } 425 getIncludeFilesForImpl()426 public List<String> getIncludeFilesForImpl() { 427 return includeFilesForImpl; 428 } 429 getIncludeFilesForPrivateHeader()430 public List<String> getIncludeFilesForPrivateHeader() { 431 return includeFilesForPrivateHeader; 432 } 433 getIncludePrecompiledHeader()434 public String getIncludePrecompiledHeader() { 435 return checkOption(props.getProperty("includePrecompiledHeader")); 436 } 437 getIndentation()438 public String getIndentation() { 439 return checkOption(props.getProperty("indentation")); 440 } 441 getInputFile()442 public String getInputFile() { 443 return checkOption(props.getProperty("inputFile")); 444 } 445 getMaxTemplateResolvingIterations()446 public int getMaxTemplateResolvingIterations() { 447 return maxTemplateResolvingIterations; 448 } 449 getNamespace()450 public String getNamespace() { 451 return checkOption(props.getProperty("namespace")); 452 } 453 getOutFileHeader()454 public String getOutFileHeader() { 455 return checkOption(props.getProperty("outFileHeader")); 456 } 457 getOutputAttributesFileName()458 public String getOutputAttributesFileName() { 459 String baseName = getBaseFileName(getOutputHeaderFileNamePublic()); 460 return baseName + getOutputAttributesFileSuffix() + ".h"; 461 } 462 getOutputAttributesFileSuffix()463 public String getOutputAttributesFileSuffix() { 464 return checkOption(props.getProperty("outputAttributesFileSuffix")); 465 } 466 getOutputCoherencyTestHeaderFileName()467 public String getOutputCoherencyTestHeaderFileName() { 468 return checkOption(props.getProperty("outputCoherencyTestHeaderFileName")); 469 } 470 getOutputCoherencyTestSourceFileName()471 public String getOutputCoherencyTestSourceFileName() { 472 return checkOption(props.getProperty("outputCoherencyTestSourceFileName")); 473 } 474 getOutputEnumHeaderFileName()475 public String getOutputEnumHeaderFileName() { 476 String baseName = getBaseFileName(getOutputHeaderFileNamePublic()); 477 return baseName + getOutputEnumsFileSuffix() + ".h"; 478 } 479 getOutputEnumsFileSuffix()480 public String getOutputEnumsFileSuffix() { 481 return checkOption(props.getProperty("outputEnumsFileSuffix")); 482 } 483 getOutputEnumSourceFileName()484 public String getOutputEnumSourceFileName() { 485 String sourceOutFileBase = getOutputSourceFileNameBase(); 486 return sourceOutFileBase + getOutputEnumsFileSuffix() + ".cpp"; 487 } 488 getOutputExampleHeaderFileName()489 public String getOutputExampleHeaderFileName() { 490 return checkOption(props.getProperty("outputExampleHeaderFileName")); 491 } 492 getOutputExampleSourceFileName()493 public String getOutputExampleSourceFileName() { 494 return checkOption(props.getProperty("outputExampleSourceFileName")); 495 } 496 getOutputFindElementHashFileName()497 public String getOutputFindElementHashFileName() { 498 String sourceOutFileBase = getOutputSourceFileNameBase(); 499 return sourceOutFileBase + getOutputFindElementHashFileSuffix() + ".cpp"; 500 } 501 getOutputFindElementHashFileSuffix()502 public String getOutputFindElementHashFileSuffix() { 503 return checkOption(props.getProperty("outputFindElementHashFileSuffix")); 504 } 505 getOutputFPrintfHeaderFileName()506 public String getOutputFPrintfHeaderFileName() { 507 return checkOption(props.getProperty("outputFPrintfHeaderFileName")); 508 } 509 getOutputFPrintfSourceFileName()510 public String getOutputFPrintfSourceFileName() { 511 return checkOption(props.getProperty("outputFPrintfSourceFileName")); 512 } 513 getOutputFunctionMapFactoryFileSuffix()514 public String getOutputFunctionMapFactoryFileSuffix() { 515 return checkOption(props.getProperty("outputFunctionMapFactoryFileSuffix")); 516 } 517 getOutputFunctionMapFactoryHeaderFileName()518 public String getOutputFunctionMapFactoryHeaderFileName() { 519 String baseName = getBaseFileName(getOutputHeaderFileNamePublic()); 520 return baseName + getOutputFunctionMapFactoryFileSuffix() + ".h"; 521 } 522 getOutputFunctionMapFactorySourceFileName()523 public String getOutputFunctionMapFactorySourceFileName() { 524 String sourceOutFileBase = getOutputSourceFileNameBase(); 525 return sourceOutFileBase + getOutputFunctionMapFactoryFileSuffix() + ".cpp"; 526 } 527 getOutputFunctionMapFileName()528 public String getOutputFunctionMapFileName() { 529 String sourceOutFileBase = getOutputSourceFileNameBase(); 530 return sourceOutFileBase + getOutputFunctionMapFileSuffix() + ".cpp"; 531 } 532 getOutputFunctionMapFileSuffix()533 public String getOutputFunctionMapFileSuffix() { 534 return checkOption(props.getProperty("outputFunctionMapFileSuffix")); 535 } 536 getOutputHeaderFileNamePrivate()537 public String getOutputHeaderFileNamePrivate() { 538 return checkOption(props.getProperty("outputHeaderFileNamePrivate")); 539 } 540 getOutputHeaderFileNamePublic()541 public String getOutputHeaderFileNamePublic() { 542 return checkOption(props.getProperty("outputHeaderFileNamePublic")); 543 } 544 getOutputNameMapFileName()545 public String getOutputNameMapFileName() { 546 String sourceOutFileBase = getOutputSourceFileNameBase(); 547 return sourceOutFileBase + getOutputNameMapFileSuffix() + ".cpp"; 548 } 549 getOutputNameMapFileSuffix()550 public String getOutputNameMapFileSuffix() { 551 return checkOption(props.getProperty("outputNameMapFileSuffix")); 552 } 553 getOutputSourceFileMethodDelimiter()554 public String getOutputSourceFileMethodDelimiter() { 555 return checkOption(props.getProperty("outputSourceFileMethodDelimiter")); 556 } 557 getOutputSourceFileNameBase()558 public String getOutputSourceFileNameBase() { 559 return getBaseFileName(getOutputSourceFileNamePrivate()); 560 } 561 getOutputSourceFileNamePrivate()562 public String getOutputSourceFileNamePrivate() { 563 return checkOption(props.getProperty("outputSourceFileNamePrivate")); 564 } 565 getOutputValidationDataFileSuffix()566 public String getOutputValidationDataFileSuffix() { 567 return checkOption(props.getProperty("outputValidationDataFileSuffix")); 568 } 569 getOutputValidationDataHeaderFileName()570 public String getOutputValidationDataHeaderFileName() { 571 String baseName = getBaseFileName(getOutputHeaderFileNamePublic()); 572 return baseName + getOutputValidationDataFileSuffix() + ".h"; 573 } 574 getOutputValidationFileSuffix()575 public String getOutputValidationFileSuffix() { 576 return checkOption(props.getProperty("outputValidationFileSuffix")); 577 } 578 getOutputValidationSourceFileName()579 public String getOutputValidationSourceFileName() { 580 String sourceOutFileBase = getOutputSourceFileNameBase(); 581 return sourceOutFileBase + getOutputValidationFileSuffix() + ".cpp"; 582 } 583 getPcreInitialNameCharacters()584 public String getPcreInitialNameCharacters() { 585 return checkOption(props.getProperty("pcreInitialNameCharacters")); 586 } 587 getPcreInitialNameCharactersWithoutColon()588 public String getPcreInitialNameCharactersWithoutColon() { 589 return checkOption(props.getProperty("pcreInitialNameCharactersWithoutColon")); 590 } 591 getPcreInitialNameCharactersWithoutColonAndDot()592 public String getPcreInitialNameCharactersWithoutColonAndDot() { 593 return checkOption(props.getProperty("pcreInitialNameCharactersWithoutColonAndDot")); 594 } 595 getPcreNameCharacters()596 public String getPcreNameCharacters() { 597 return checkOption(props.getProperty("pcreNameCharacters")); 598 } 599 getPcreNameCharactersWithoutColon()600 public String getPcreNameCharactersWithoutColon() { 601 return checkOption(props.getProperty("pcreNameCharactersWithoutColon")); 602 } 603 getPublicImplMember()604 public String getPublicImplMember() { 605 return checkOption(props.getProperty("publicImplMember")); 606 } 607 getRootElementName()608 public String getRootElementName() { 609 return checkOption(props.getProperty("rootElementName")); 610 } 611 getSimpleTypeDefaultCpp()612 public String getSimpleTypeDefaultCpp() { 613 return checkOption(props.getProperty("simpleTypeDefaultCpp")); 614 } 615 getSimpleValidationFunctionLengthParameterName()616 public String getSimpleValidationFunctionLengthParameterName() { 617 return checkOption(props.getProperty("simpleValidationFunctionLengthParameterName")); 618 } 619 getSimpleValidationFunctionLengthParameterType()620 public String getSimpleValidationFunctionLengthParameterType() { 621 return checkOption(props.getProperty("simpleValidationFunctionLengthParameterType")); 622 } 623 getSimpleValidationFunctionPrefix()624 public String getSimpleValidationFunctionPrefix() { 625 return checkOption(props.getProperty("simpleValidationFunctionPrefix")); 626 } 627 getSimpleValidationFunctionReturnType()628 public String getSimpleValidationFunctionReturnType() { 629 return checkOption(props.getProperty("simpleValidationFunctionReturnType")); 630 } 631 getSimpleValidationFunctionStreamEndSuffix()632 public String getSimpleValidationFunctionStreamEndSuffix() { 633 return checkOption(props.getProperty("simpleValidationFunctionStreamEndSuffix")); 634 } 635 getSimpleValidationFunctionStreamSuffix()636 public String getSimpleValidationFunctionStreamSuffix() { 637 return checkOption(props.getProperty("simpleValidationFunctionStreamSuffix")); 638 } 639 getSimpleValidationFunctionValueParameterName()640 public String getSimpleValidationFunctionValueParameterName() { 641 return checkOption(props.getProperty("simpleValidationFunctionValueParameterName")); 642 } 643 getSimpleValidationStreamCountStructMember()644 public String getSimpleValidationStreamCountStructMember() { 645 return checkOption(props.getProperty("simpleValidationStreamCountStructMember")); 646 } 647 getSpecialFunctionMapsStartElementNamesAllLevels()648 public List<String> getSpecialFunctionMapsStartElementNamesAllLevels() { 649 return specialFunctionMapsStartElementNamesAllLevels; 650 } 651 getSpecialFunctionMapsStartElementNamesOneLevel()652 public List<String> getSpecialFunctionMapsStartElementNamesOneLevel() { 653 return specialFunctionMapsStartElementNamesOneLevel; 654 } 655 getStringListItemValidationFunctionParameter()656 public String getStringListItemValidationFunctionParameter() { 657 return checkOption(props.getProperty("stringListItemValidationFunctionParameter")); 658 } 659 getTemplateAttributeAtomicConversion()660 public String getTemplateAttributeAtomicConversion() { 661 return checkOption(codeTemplates.getProperty("AttributeAtomicConversion")); 662 } 663 getTemplateAttributeCheckRequiredPresent()664 public String getTemplateAttributeCheckRequiredPresent() { 665 return checkOption(codeTemplates.getProperty("AttributeCheckRequiredPresent")); 666 } 667 getTemplateAttributeInitObject()668 public String getTemplateAttributeInitObject() { 669 return checkOption(codeTemplates.getProperty("AttributeInitObject")); 670 } 671 getTemplateAttributeInitObjectNoDefaultLHS()672 public String getTemplateAttributeInitObjectNoDefaultLHS() { 673 return checkOption(codeTemplates.getProperty("AttributeInitObjectNoDefaultLHS")); 674 } 675 getTemplateAttributeInitObjectUnionDefault()676 public String getTemplateAttributeInitObjectUnionDefault() { 677 return checkOption(codeTemplates.getProperty("AttributeInitObjectUnionDefault")); 678 } 679 getTemplateAttributeInitObjectUnionPreDefault()680 public String getTemplateAttributeInitObjectUnionPreDefault() { 681 return checkOption(codeTemplates.getProperty("AttributeInitObjectUnionPreDefault")); 682 } 683 getTemplateAttributeListConversion()684 public String getTemplateAttributeListConversion() { 685 return checkOption(codeTemplates.getProperty("AttributeListConversion")); 686 } 687 getTemplateAttributeNotPresentCheck()688 public String getTemplateAttributeNotPresentCheck() { 689 return checkOption(codeTemplates.getProperty("AttributeNotPresentCheck")); 690 } 691 getTemplateAttributePresentCheck()692 public String getTemplateAttributePresentCheck() { 693 return checkOption(codeTemplates.getProperty("AttributePresentCheck")); 694 } 695 getTemplateAttributePresentCheckEnumAtomic()696 public String getTemplateAttributePresentCheckEnumAtomic() { 697 return checkOption(codeTemplates.getProperty("AttributePresentCheckEnumAtomic")); 698 } 699 getTemplateAttributePresentCheckStringAtomic()700 public String getTemplateAttributePresentCheckStringAtomic() { 701 return checkOption(codeTemplates.getProperty("AttributePresentCheckStringAtomic")); 702 } 703 getTemplateAttributePresentSet()704 public String getTemplateAttributePresentSet() { 705 return checkOption(codeTemplates.getProperty("AttributePresentSet")); 706 } 707 getTemplateCoherencyTestCheckIdUnique()708 public String getTemplateCoherencyTestCheckIdUnique() { 709 return checkOption(codeTemplates.getProperty("CoherencyTestCheckIdUnique")); 710 } 711 getTemplateCoherencyTestSimpleCountCheckBegin()712 public String getTemplateCoherencyTestSimpleCountCheckBegin() { 713 return checkOption(codeTemplates.getProperty("CoherencyTestSimpleCountCheckBegin")); 714 } 715 getTemplateCoherencyTestSimpleCountCheckData()716 public String getTemplateCoherencyTestSimpleCountCheckData() { 717 return checkOption(codeTemplates.getProperty("CoherencyTestSimpleCountCheckData")); 718 } 719 getTemplateCoherencyTestSimpleCountCheckEnd()720 public String getTemplateCoherencyTestSimpleCountCheckEnd() { 721 return checkOption(codeTemplates.getProperty("CoherencyTestSimpleCountCheckEnd")); 722 } 723 getTemplateComplexValidationBlockClose()724 public String getTemplateComplexValidationBlockClose() { 725 return checkOption(codeTemplates.getProperty("ComplexValidationBlockClose")); 726 } 727 getTemplateComplexValidationBlockCloseCompileTimeOnly()728 public String getTemplateComplexValidationBlockCloseCompileTimeOnly() { 729 return checkOption(codeTemplates.getProperty("ComplexValidationBlockCloseCompileTimeOnly")); 730 } 731 getTemplateComplexValidationBlockElseCompileTime()732 public String getTemplateComplexValidationBlockElseCompileTime() { 733 return checkOption(codeTemplates.getProperty("ComplexValidationBlockElseCompileTime")); 734 } 735 getTemplateComplexValidationBlockElseRunTime()736 public String getTemplateComplexValidationBlockElseRunTime() { 737 return checkOption(codeTemplates.getProperty("ComplexValidationBlockElseRunTime")); 738 } 739 getTemplateComplexValidationBlockOpen()740 public String getTemplateComplexValidationBlockOpen() { 741 return checkOption(codeTemplates.getProperty("ComplexValidationBlockOpen")); 742 } 743 getTemplateComplexValidationBlockOpenCompileTimeOnly()744 public String getTemplateComplexValidationBlockOpenCompileTimeOnly() { 745 return checkOption(codeTemplates.getProperty("ComplexValidationBlockOpenCompileTimeOnly")); 746 } 747 getTemplateComplexValidationCheckMaxOccurence()748 public String getTemplateComplexValidationCheckMaxOccurence() { 749 return checkOption(codeTemplates.getProperty("ComplexValidationCheckMaxOccurence")); 750 } 751 getTemplateComplexValidationCheckMinOccurencOfChildren()752 public String getTemplateComplexValidationCheckMinOccurencOfChildren() { 753 return checkOption(codeTemplates.getProperty("ComplexValidationCheckMinOccurencOfChildren")); 754 } 755 getTemplateComplexValidationCheckStateMachine()756 public String getTemplateComplexValidationCheckStateMachine() { 757 return checkOption(codeTemplates.getProperty("ComplexValidationCheckStateMachine")); 758 } 759 getTemplateComplexValidationCheckStateMachineEnd()760 public String getTemplateComplexValidationCheckStateMachineEnd() { 761 return checkOption(codeTemplates.getProperty("ComplexValidationCheckStateMachineEnd")); 762 } 763 getTemplateComplexValidationCheckStateMachineEndPerState()764 public String getTemplateComplexValidationCheckStateMachineEndPerState() { 765 return checkOption(codeTemplates.getProperty("ComplexValidationCheckStateMachineEndPerState")); 766 } 767 getTemplateComplexValidationCheckStateMachinePerState()768 public String getTemplateComplexValidationCheckStateMachinePerState() { 769 return checkOption(codeTemplates.getProperty("ComplexValidationCheckStateMachinePerState")); 770 } 771 getTemplateComplexValidationChildValidateBegin()772 public String getTemplateComplexValidationChildValidateBegin() { 773 return checkOption(codeTemplates.getProperty("ComplexValidationChildValidateBegin")); 774 } 775 getTemplateComplexValidationChildValidateBeginNestedModelGroup()776 public String getTemplateComplexValidationChildValidateBeginNestedModelGroup() { 777 return checkOption(codeTemplates.getProperty("ComplexValidationChildValidateBeginNestedModelGroup")); 778 } 779 getTemplateComplexValidationChoiceCheckMinOccurencOfChildren()780 public String getTemplateComplexValidationChoiceCheckMinOccurencOfChildren() { 781 return checkOption(codeTemplates.getProperty("ComplexValidationChoiceCheckMinOccurencOfChildren")); 782 } 783 getTemplateComplexValidationChoiceCheckOneChildPresent()784 public String getTemplateComplexValidationChoiceCheckOneChildPresent() { 785 return checkOption(codeTemplates.getProperty("ComplexValidationChoiceCheckOneChildPresent")); 786 } 787 getTemplateComplexValidationChoiceCheckOneChildPresentPerChild()788 public String getTemplateComplexValidationChoiceCheckOneChildPresentPerChild() { 789 return checkOption(codeTemplates.getProperty("ComplexValidationChoiceCheckOneChildPresentPerChild")); 790 } 791 getTemplateComplexValidationChoiceCheckSiblilngs()792 public String getTemplateComplexValidationChoiceCheckSiblilngs() { 793 return checkOption(codeTemplates.getProperty("ComplexValidationChoiceCheckSiblilngs")); 794 } 795 getTemplateComplexValidationCreateValidationData()796 public String getTemplateComplexValidationCreateValidationData() { 797 return checkOption(codeTemplates.getProperty("ComplexValidationCreateValidationData")); 798 } 799 getTemplateComplexValidationDeleteValidationData()800 public String getTemplateComplexValidationDeleteValidationData() { 801 return checkOption(codeTemplates.getProperty("ComplexValidationDeleteValidationData")); 802 } 803 getTemplateComplexValidationGetTopParentValidationData()804 public String getTemplateComplexValidationGetTopParentValidationData() { 805 return checkOption(codeTemplates.getProperty("ComplexValidationGetTopParentValidationData")); 806 } 807 getTemplateComplexValidationGetTopValidationData()808 public String getTemplateComplexValidationGetTopValidationData() { 809 return checkOption(codeTemplates.getProperty("ComplexValidationGetTopValidationData")); 810 } 811 getTemplateComplexValidationIncrementOccurence()812 public String getTemplateComplexValidationIncrementOccurence() { 813 return checkOption(codeTemplates.getProperty("ComplexValidationIncrementOccurence")); 814 } 815 getTemplateComplexValidationInitStateMachine()816 public String getTemplateComplexValidationInitStateMachine() { 817 return checkOption(codeTemplates.getProperty("ComplexValidationInitStateMachine")); 818 } 819 getTemplateComplexValidationParentValidateEnd()820 public String getTemplateComplexValidationParentValidateEnd() { 821 return checkOption(codeTemplates.getProperty("ComplexValidationParentValidateEnd")); 822 } 823 getTemplateComplexValidationParentValidateEndNestedModelGroups()824 public String getTemplateComplexValidationParentValidateEndNestedModelGroups() { 825 return checkOption(codeTemplates.getProperty("ComplexValidationParentValidateEndNestedModelGroups")); 826 } 827 getTemplateComplexValidationSequCheckNext()828 public String getTemplateComplexValidationSequCheckNext() { 829 return checkOption(codeTemplates.getProperty("ComplexValidationSequCheckNext")); 830 } 831 getTemplateComplexValidationSequCheckPrev()832 public String getTemplateComplexValidationSequCheckPrev() { 833 return checkOption(codeTemplates.getProperty("ComplexValidationSequCheckPrev")); 834 } 835 getTemplateComplexValidationSetStateMachineState()836 public String getTemplateComplexValidationSetStateMachineState() { 837 return checkOption(codeTemplates.getProperty("ComplexValidationSetStateMachineState")); 838 } 839 getTemplateDataAtomicConversion()840 public String getTemplateDataAtomicConversion() { 841 return checkOption(codeTemplates.getProperty("DataAtomicConversion")); 842 } 843 getTemplateDataAtomicDataMethod()844 public String getTemplateDataAtomicDataMethod() { 845 return checkOption(codeTemplates.getProperty("DataAtomicDataMethod")); 846 } 847 getTemplateDataListConversion()848 public String getTemplateDataListConversion() { 849 return checkOption(codeTemplates.getProperty("DataListConversion")); 850 } 851 getTemplateDataListValidateEnd()852 public String getTemplateDataListValidateEnd() { 853 return checkOption(codeTemplates.getProperty("DataListValidateEnd")); 854 } 855 getTemplateDisableWarningUnused()856 public String getTemplateDisableWarningUnused() { 857 return checkOption(codeTemplates.getProperty("DisableWarningUnused")); 858 } 859 getTemplateEnumDataAtomicConversion()860 public String getTemplateEnumDataAtomicConversion() { 861 return checkOption(codeTemplates.getProperty("EnumDataAtomicConversion")); 862 } 863 864 /** 865 * <pre> 866 * bool characterData2EnumData_stringEnumType(const ParserChar* text, 867 * size_t textLength, 868 * bool ( ColladaParserAutoGen::*dataFunction ) (const stringEnumType* data, size_t dataLength ) 869 * ); 870 * 871 * </pre> 872 */ getTemplateEnumFuncCharDataDecl()873 public String getTemplateEnumFuncCharDataDecl() { 874 return checkOption(codeTemplates.getProperty("EnumFuncCharDataDecl")); 875 } 876 877 /** 878 * <pre> 879 * return characterData2EnumData<stringEnumType, StringHash, stringEnumType__COUNT>(text, textLength, dataFunction, stringEnumTypeMap, &Utils::calculateStringHash, &toEnum_stringEnumType, &ColladaParserAutoGenPrivate::toEnumDataPrefix_stringEnumType); 880 * </pre> 881 */ getTemplateEnumFuncCharDataImpl()882 public String getTemplateEnumFuncCharDataImpl() { 883 return checkOption(codeTemplates.getProperty("EnumFuncCharDataImpl")); 884 } 885 886 /** 887 * <pre> 888 * bool dataEnumEnd_stringEnumType(bool ( ColladaParserAutoGen::*dataFunction ) (const stringEnumType* data, size_t dataLength ), 889 * const std::pair<StringHash, stringEnumType>* enumMap, 890 * StringHash (*baseConversionFunctionPtr)(const ParserChar** buffer, const ParserChar* bufferEnd, bool& failed), 891 * stringEnumType (*toEnum)( const ParserChar** buffer, 892 * const ParserChar* bufferEnd, 893 * bool& failed, 894 * const std::pair<StringHash, stringEnumType>* enumMap, 895 * StringHash (*baseConversionFunctionPtr)(const ParserChar** buffer, const ParserChar* bufferEnd, bool& failed) 896 * )); 897 * 898 * </pre> 899 */ getTemplateEnumFuncDataEndDecl()900 public String getTemplateEnumFuncDataEndDecl() { 901 return checkOption(codeTemplates.getProperty("EnumFuncDataEndDecl")); 902 } 903 904 /** 905 * <pre> 906 * return dataEnumEnd<stringEnumType, StringHash, stringEnumType__COUNT>(dataFunction, enumMap, baseConversionFunctionPtr, toEnum); 907 * </pre> 908 */ getTemplateEnumFuncDataEndImpl()909 public String getTemplateEnumFuncDataEndImpl() { 910 return checkOption(codeTemplates.getProperty("EnumFuncDataEndImpl")); 911 } 912 913 /** 914 * <pre> 915 * stringEnumType toEnumDataPrefix_stringEnumType(const ParserChar* prefixedBuffer, 916 * const ParserChar* prefixedBufferEnd, 917 * const ParserChar** buffer, 918 * const ParserChar* bufferEnd, 919 * bool& failed, 920 * const std::pair<StringHash, stringEnumType>* enumMap, 921 * StringHash (*baseConversionFunctionPtr)(const ParserChar** buffer, const ParserChar* bufferEnd, bool& failed) 922 * ); 923 * 924 * </pre> 925 */ getTemplateEnumFuncDataPrefixDecl()926 public String getTemplateEnumFuncDataPrefixDecl() { 927 return checkOption(codeTemplates.getProperty("EnumFuncDataPrefixDecl")); 928 } 929 930 /** 931 * <pre> 932 * return toEnumDataPrefix<stringEnumType, StringHash, stringEnumType__COUNT, &toEnum_stringEnumType>(prefixedBuffer, prefixedBufferEnd, buffer, bufferEnd, failed, stringEnumTypeMap, Utils::calculateStringHash); 933 * </pre> 934 */ getTemplateEnumFuncDataPrefixImpl()935 public String getTemplateEnumFuncDataPrefixImpl() { 936 return checkOption(codeTemplates.getProperty("EnumFuncDataPrefixImpl")); 937 } 938 939 /** 940 * <pre> 941 * stringEnumType toEnum_stringEnumType(const ParserChar** buffer, 942 * const ParserChar* bufferEnd, 943 * bool& failed, 944 * const std::pair<StringHash, stringEnumType>* stringEnumTypeMap, 945 * StringHash (*calculateStringHash)( const ParserChar**, const ParserChar*, bool& ) 946 * ); 947 * </pre> 948 */ getTemplateEnumFuncToEnumDecl()949 public String getTemplateEnumFuncToEnumDecl() { 950 return checkOption(codeTemplates.getProperty("EnumFuncToEnumDecl")); 951 } 952 953 /** 954 * 955 * <pre> 956 * return Utils::toEnum<stringEnumType, StringHash, stringEnumType__COUNT>(buffer, bufferEnd, failed, stringEnumTypeMap, calculateStringHash); 957 * </pre> 958 */ getTemplateEnumFuncToEnumImpl()959 public String getTemplateEnumFuncToEnumImpl() { 960 return checkOption(codeTemplates.getProperty("EnumFuncToEnumImpl")); 961 } 962 getTemplateEnumMapDeclaration()963 public String getTemplateEnumMapDeclaration() { 964 return checkOption(codeTemplates.getProperty("EnumMapDeclaration")); 965 } 966 getTemplateEnumMapDefinitionStart()967 public String getTemplateEnumMapDefinitionStart() { 968 return checkOption(codeTemplates.getProperty("EnumMapDefinitionStart")); 969 } 970 getTemplateEnumMapEntry()971 public String getTemplateEnumMapEntry() { 972 return checkOption(codeTemplates.getProperty("EnumMapEntry")); 973 } 974 getTemplateEnumMapEntryType()975 public String getTemplateEnumMapEntryType() { 976 return checkOption(codeTemplates.getProperty("EnumMapEntryType")); 977 } 978 getTemplateFindHashSetValues()979 public String getTemplateFindHashSetValues() { 980 return checkOption(codeTemplates.getProperty("FindHashSetValues")); 981 } 982 getTemplateFprintfCloseFile()983 public String getTemplateFprintfCloseFile() { 984 return checkOption(codeTemplates.getProperty("FprintfCloseFile")); 985 } 986 getTemplateFprintfOpenFile()987 public String getTemplateFprintfOpenFile() { 988 return checkOption(codeTemplates.getProperty("FprintfOpenFile")); 989 } 990 getTemplateFprintfPrintDouble()991 public String getTemplateFprintfPrintDouble() { 992 return checkOption(codeTemplates.getProperty("FprintfPrintDouble")); 993 } 994 getTemplateFprintfPrintFloat()995 public String getTemplateFprintfPrintFloat() { 996 return checkOption(codeTemplates.getProperty("FprintfPrintFloat")); 997 } 998 getTemplateFprintfPrintFloatTemplate()999 public String getTemplateFprintfPrintFloatTemplate() { 1000 return checkOption(codeTemplates.getProperty("FprintfPrintFloatTemplate")); 1001 } 1002 getTemplateFprintfUnknownAttributes()1003 public String getTemplateFprintfUnknownAttributes() { 1004 return checkOption(codeTemplates.getProperty("FprintfUnknownAttributes")); 1005 } 1006 getTemplateFprintfUnknownElementBegin()1007 public String getTemplateFprintfUnknownElementBegin() { 1008 return checkOption(codeTemplates.getProperty("FprintfUnknownElementBegin")); 1009 } 1010 getTemplateFprintfUnknownElementData()1011 public String getTemplateFprintfUnknownElementData() { 1012 return checkOption(codeTemplates.getProperty("FprintfUnknownElementData")); 1013 } 1014 getTemplateFprintfUnknownElementEnd()1015 public String getTemplateFprintfUnknownElementEnd() { 1016 return checkOption(codeTemplates.getProperty("FprintfUnknownElementEnd")); 1017 } 1018 getTemplateFreeAttrList()1019 public String getTemplateFreeAttrList() { 1020 return checkOption(codeTemplates.getProperty("FreeAttrList")); 1021 } 1022 getTemplateFreeAttrStruct()1023 public String getTemplateFreeAttrStruct() { 1024 return checkOption(codeTemplates.getProperty("FreeAttrStruct")); 1025 } 1026 getTemplateFreeUnknownAttributes()1027 public String getTemplateFreeUnknownAttributes() { 1028 return checkOption(codeTemplates.getProperty("FreeUnknownAttributes")); 1029 } 1030 getTemplateParseAttrDefaultXMLNS()1031 public String getTemplateParseAttrDefaultXMLNS() { 1032 return checkOption(codeTemplates.getProperty("ParseAttrDefaultXMLNS")); 1033 } 1034 getTemplateParseAttrXMLNS()1035 public String getTemplateParseAttrXMLNS() { 1036 return checkOption(codeTemplates.getProperty("ParseAttrXMLNS")); 1037 } 1038 getTemplateSimpleValidationDefaultReturn()1039 public String getTemplateSimpleValidationDefaultReturn() { 1040 return checkOption(codeTemplates.getProperty("SimpleValidationDefaultReturn")); 1041 } 1042 getTemplateSimpleValidationDeleteValidationDataNoValidation()1043 public String getTemplateSimpleValidationDeleteValidationDataNoValidation() { 1044 return checkOption(codeTemplates.getProperty("SimpleValidationDeleteValidationDataNoValidation")); 1045 } 1046 getTemplateSimpleValidationGetCountStructMemberNoValidation()1047 public String getTemplateSimpleValidationGetCountStructMemberNoValidation() { 1048 return checkOption(codeTemplates.getProperty("SimpleValidationGetCountStructMemberNoValidation")); 1049 } 1050 getTemplateSimpleValidationGetCountStructMemberValidation()1051 public String getTemplateSimpleValidationGetCountStructMemberValidation() { 1052 return checkOption(codeTemplates.getProperty("SimpleValidationGetCountStructMemberValidation")); 1053 } 1054 getTemplateSimpleValidationGetValidationDataNoValidation()1055 public String getTemplateSimpleValidationGetValidationDataNoValidation() { 1056 return checkOption(codeTemplates.getProperty("SimpleValidationGetValidationDataNoValidation")); 1057 } 1058 getTemplateSimpleValidationLength()1059 public String getTemplateSimpleValidationLength() { 1060 return checkOption(codeTemplates.getProperty("SimpleValidationLength")); 1061 } 1062 getTemplateSimpleValidationLengthStream()1063 public String getTemplateSimpleValidationLengthStream() { 1064 return checkOption(codeTemplates.getProperty("SimpleValidationLengthStream")); 1065 } 1066 getTemplateSimpleValidationLengthStreamEnd()1067 public String getTemplateSimpleValidationLengthStreamEnd() { 1068 return checkOption(codeTemplates.getProperty("SimpleValidationLengthStreamEnd")); 1069 } 1070 getTemplateSimpleValidationMaxExclusive()1071 public String getTemplateSimpleValidationMaxExclusive() { 1072 return checkOption(codeTemplates.getProperty("SimpleValidationMaxExclusive")); 1073 } 1074 getTemplateSimpleValidationMaxInclusive()1075 public String getTemplateSimpleValidationMaxInclusive() { 1076 return checkOption(codeTemplates.getProperty("SimpleValidationMaxInclusive")); 1077 } 1078 getTemplateSimpleValidationMaxLength()1079 public String getTemplateSimpleValidationMaxLength() { 1080 return checkOption(codeTemplates.getProperty("SimpleValidationMaxLength")); 1081 } 1082 getTemplateSimpleValidationMaxLengthStream()1083 public String getTemplateSimpleValidationMaxLengthStream() { 1084 return checkOption(codeTemplates.getProperty("SimpleValidationMaxLengthStream")); 1085 } 1086 getTemplateSimpleValidationMaxLengthStreamEnd()1087 public String getTemplateSimpleValidationMaxLengthStreamEnd() { 1088 return checkOption(codeTemplates.getProperty("SimpleValidationMaxLengthStreamEnd")); 1089 } 1090 getTemplateSimpleValidationMinExclusive()1091 public String getTemplateSimpleValidationMinExclusive() { 1092 return checkOption(codeTemplates.getProperty("SimpleValidationMinExclusive")); 1093 } 1094 getTemplateSimpleValidationMinInclusive()1095 public String getTemplateSimpleValidationMinInclusive() { 1096 return checkOption(codeTemplates.getProperty("SimpleValidationMinInclusive")); 1097 } 1098 getTemplateSimpleValidationMinLength()1099 public String getTemplateSimpleValidationMinLength() { 1100 return checkOption(codeTemplates.getProperty("SimpleValidationMinLength")); 1101 } 1102 getTemplateSimpleValidationMinLengthStream()1103 public String getTemplateSimpleValidationMinLengthStream() { 1104 return checkOption(codeTemplates.getProperty("SimpleValidationMinLengthStream")); 1105 } 1106 getTemplateSimpleValidationMinLengthStreamEnd()1107 public String getTemplateSimpleValidationMinLengthStreamEnd() { 1108 return checkOption(codeTemplates.getProperty("SimpleValidationMinLengthStreamEnd")); 1109 } 1110 getTemplateSimpleValidationNumericAtomicAttribute()1111 public String getTemplateSimpleValidationNumericAtomicAttribute() { 1112 return checkOption(codeTemplates.getProperty("SimpleValidationNumericAtomicAttribute")); 1113 } 1114 getTemplateSimpleValidationNumericAtomicData()1115 public String getTemplateSimpleValidationNumericAtomicData() { 1116 return checkOption(codeTemplates.getProperty("SimpleValidationNumericAtomicData")); 1117 } 1118 getTemplateSimpleValidationNumericListAttribute()1119 public String getTemplateSimpleValidationNumericListAttribute() { 1120 return checkOption(codeTemplates.getProperty("SimpleValidationNumericListAttribute")); 1121 } 1122 getTemplateSimpleValidationNumericListData()1123 public String getTemplateSimpleValidationNumericListData() { 1124 return checkOption(codeTemplates.getProperty("SimpleValidationNumericListData")); 1125 } 1126 getTemplateSimpleValidationNumericListDataEnd()1127 public String getTemplateSimpleValidationNumericListDataEnd() { 1128 return checkOption(codeTemplates.getProperty("SimpleValidationNumericListDataEnd")); 1129 } 1130 getTemplateSimpleValidationPattern()1131 public String getTemplateSimpleValidationPattern() { 1132 return checkOption(codeTemplates.getProperty("SimpleValidationPattern")); 1133 } 1134 getTemplateSimpleValidationSpecialStreamEndVali()1135 public String getTemplateSimpleValidationSpecialStreamEndVali() { 1136 return checkOption(codeTemplates.getProperty("SimpleValidationSpecialStreamEndVali")); 1137 } 1138 getTemplateSimpleValidationSpecialStreamEndValiHandleError()1139 public String getTemplateSimpleValidationSpecialStreamEndValiHandleError() { 1140 return checkOption(codeTemplates.getProperty("SimpleValidationSpecialStreamEndValiHandleError")); 1141 } 1142 getTemplateSimpleValidationStringAtomicAttribute()1143 public String getTemplateSimpleValidationStringAtomicAttribute() { 1144 return checkOption(codeTemplates.getProperty("SimpleValidationStringAtomicAttribute")); 1145 } 1146 getTemplateSimpleValidationStringAtomicData()1147 public String getTemplateSimpleValidationStringAtomicData() { 1148 return checkOption(codeTemplates.getProperty("SimpleValidationStringAtomicData")); 1149 } 1150 getTemplateSimpleValidationStringAtomicDataEnd()1151 public String getTemplateSimpleValidationStringAtomicDataEnd() { 1152 return checkOption(codeTemplates.getProperty("SimpleValidationStringAtomicDataEnd")); 1153 } 1154 getTemplateSimpleValidationStringListAttribute()1155 public String getTemplateSimpleValidationStringListAttribute() { 1156 return checkOption(codeTemplates.getProperty("SimpleValidationStringListAttribute")); 1157 } 1158 getTemplateSimpleValidationStringListItemImpl()1159 public String getTemplateSimpleValidationStringListItemImpl() { 1160 return checkOption(codeTemplates.getProperty("SimpleValidationStringListItemImpl")); 1161 } 1162 getTemplateSimpleValidationUpdateStreamCount()1163 public String getTemplateSimpleValidationUpdateStreamCount() { 1164 return checkOption(codeTemplates.getProperty("SimpleValidationUpdateStreamCount")); 1165 } 1166 getTemplateTypeMappingDefaultAttrAtomicXsd2cppRhs()1167 public String getTemplateTypeMappingDefaultAttrAtomicXsd2cppRhs() { 1168 return checkOption(codeTemplates.getProperty("TypeMappingDefaultAttrAtomicXsd2cppRhs")); 1169 } 1170 getTemplateTypeMappingDefaultAttrListXsd2cppRhs()1171 public String getTemplateTypeMappingDefaultAttrListXsd2cppRhs() { 1172 return checkOption(codeTemplates.getProperty("TypeMappingDefaultAttrListXsd2cppRhs")); 1173 } 1174 getTemplateTypeMappingDefaultDataAtomicConversion()1175 public String getTemplateTypeMappingDefaultDataAtomicConversion() { 1176 return checkOption(codeTemplates.getProperty("TypeMappingDefaultDataAtomicConversion")); 1177 } 1178 getTemplateTypeMappingDefaultDataAtomicDataMethodImpl()1179 public String getTemplateTypeMappingDefaultDataAtomicDataMethodImpl() { 1180 return checkOption(codeTemplates.getProperty("TypeMappingDefaultDataAtomicDataMethodImpl")); 1181 } 1182 getTemplateTypeMappingDefaultDataAtomicValidateEndFacetPattern()1183 public String getTemplateTypeMappingDefaultDataAtomicValidateEndFacetPattern() { 1184 return checkOption(codeTemplates.getProperty("TypeMappingDefaultDataAtomicValidateEndFacetPattern")); 1185 } 1186 getTemplateTypeMappingDefaultDataAtomicXsd2cppRhs()1187 public String getTemplateTypeMappingDefaultDataAtomicXsd2cppRhs() { 1188 return checkOption(codeTemplates.getProperty("TypeMappingDefaultDataAtomicXsd2cppRhs")); 1189 } 1190 getTemplateTypeMappingDefaultDataListXsd2cppLhs()1191 public String getTemplateTypeMappingDefaultDataListXsd2cppLhs() { 1192 return checkOption(codeTemplates.getProperty("TypeMappingDefaultDataListXsd2cppLhs")); 1193 } 1194 getTemplateTypeMappingDefaultDataListXsd2cppValidationLhs()1195 public String getTemplateTypeMappingDefaultDataListXsd2cppValidationLhs() { 1196 return checkOption(codeTemplates.getProperty("TypeMappingDefaultDataListXsd2cppValidationLhs")); 1197 } 1198 getTemplateTypeMappingDefaultEnumSringAttrAtomicXsd2cpp()1199 public String getTemplateTypeMappingDefaultEnumSringAttrAtomicXsd2cpp() { 1200 return checkOption(codeTemplates.getProperty("TypeMappingDefaultEnumSringAttrAtomicXsd2cpp")); 1201 } 1202 getTemplateTypeMappingDefaultEnumSringDataAtomicXsd2cpp()1203 public String getTemplateTypeMappingDefaultEnumSringDataAtomicXsd2cpp() { 1204 return checkOption(codeTemplates.getProperty("TypeMappingDefaultEnumSringDataAtomicXsd2cpp")); 1205 } 1206 getTemplateTypeMappingDefaultEnumSringDataListDataend()1207 public String getTemplateTypeMappingDefaultEnumSringDataListDataend() { 1208 return checkOption(codeTemplates.getProperty("TypeMappingDefaultEnumSringDataListDataend")); 1209 } 1210 getTemplateTypeMappingDefaultEnumSringDataListXsd2cpp()1211 public String getTemplateTypeMappingDefaultEnumSringDataListXsd2cpp() { 1212 return checkOption(codeTemplates.getProperty("TypeMappingDefaultEnumSringDataListXsd2cpp")); 1213 } 1214 getTemplateTypeMappingDefaultPostAttrAtomicXsd2cpp()1215 public String getTemplateTypeMappingDefaultPostAttrAtomicXsd2cpp() { 1216 return checkOption(codeTemplates.getProperty("TypeMappingDefaultPostAttrAtomicXsd2cpp")); 1217 } 1218 getTemplateTypeMappingDefaultPostDataAtomicXsd2cpp()1219 public String getTemplateTypeMappingDefaultPostDataAtomicXsd2cpp() { 1220 return checkOption(codeTemplates.getProperty("TypeMappingDefaultPostDataAtomicXsd2cpp")); 1221 } 1222 getTemplateTypeMappingDefaultPreAttrAtomicXsd2cpp()1223 public String getTemplateTypeMappingDefaultPreAttrAtomicXsd2cpp() { 1224 return checkOption(codeTemplates.getProperty("TypeMappingDefaultPreAttrAtomicXsd2cpp")); 1225 } 1226 getTemplateTypeMappingDefaultPreDataAtomicXsd2cpp()1227 public String getTemplateTypeMappingDefaultPreDataAtomicXsd2cpp() { 1228 return checkOption(codeTemplates.getProperty("TypeMappingDefaultPreDataAtomicXsd2cpp")); 1229 } 1230 getTemplateTypeMappingDefaultSringDataXsd2cpp()1231 public String getTemplateTypeMappingDefaultSringDataXsd2cpp() { 1232 return checkOption(codeTemplates.getProperty("TypeMappingDefaultSringDataXsd2cpp")); 1233 } 1234 getTemplateTypeMappingDefaultUnionDataAtomicXsd2cppRhs()1235 public String getTemplateTypeMappingDefaultUnionDataAtomicXsd2cppRhs() { 1236 return checkOption(codeTemplates.getProperty("TypeMappingDefaultUnionDataAtomicXsd2cppRhs")); 1237 } 1238 getTemplateUnionAttributeAtomicConversion()1239 public String getTemplateUnionAttributeAtomicConversion() { 1240 return checkOption(codeTemplates.getProperty("UnionAttributeAtomicConversion")); 1241 } 1242 getTemplateUnionAttributeAtomicPostXsd2Cpp()1243 public String getTemplateUnionAttributeAtomicPostXsd2Cpp() { 1244 return checkOption(codeTemplates.getProperty("UnionAttributeAtomicPostXsd2Cpp")); 1245 } 1246 getTemplateUnionAttributeAtomicPreXsd2Cpp()1247 public String getTemplateUnionAttributeAtomicPreXsd2Cpp() { 1248 return checkOption(codeTemplates.getProperty("UnionAttributeAtomicPreXsd2Cpp")); 1249 } 1250 getTemplateUnionAttributeAtomicXsd2Cpp()1251 public String getTemplateUnionAttributeAtomicXsd2Cpp() { 1252 return checkOption(codeTemplates.getProperty("UnionAttributeAtomicXsd2Cpp")); 1253 } 1254 getTemplateUnionAttributeListType()1255 public String getTemplateUnionAttributeListType() { 1256 return checkOption(codeTemplates.getProperty("UnionAttributeListType")); 1257 } 1258 getTemplateUnionAttributeListTypeConversionItemValidation()1259 public String getTemplateUnionAttributeListTypeConversionItemValidation() { 1260 return checkOption(codeTemplates.getProperty("UnionAttributeListTypeConversionItemValidation")); 1261 } 1262 getTemplateUnionAttributeListTypeConversionNoItemValidation()1263 public String getTemplateUnionAttributeListTypeConversionNoItemValidation() { 1264 return checkOption(codeTemplates.getProperty("UnionAttributeListTypeConversionNoItemValidation")); 1265 } 1266 getTemplateUnionDataAtomicConversion()1267 public String getTemplateUnionDataAtomicConversion() { 1268 return checkOption(codeTemplates.getProperty("UnionDataAtomicConversion")); 1269 } 1270 getTemplateUnionDataAtomicDataMethod()1271 public String getTemplateUnionDataAtomicDataMethod() { 1272 return checkOption(codeTemplates.getProperty("UnionDataAtomicDataMethod")); 1273 } 1274 getTemplateUnionDataAtomicDataMethodImpl()1275 public String getTemplateUnionDataAtomicDataMethodImpl() { 1276 return checkOption(codeTemplates.getProperty("UnionDataAtomicDataMethodImpl")); 1277 } 1278 getTemplateUnionDataAtomicPostXsd2Cpp()1279 public String getTemplateUnionDataAtomicPostXsd2Cpp() { 1280 return checkOption(codeTemplates.getProperty("UnionDataAtomicPostXsd2Cpp")); 1281 } 1282 getTemplateUnionDataAtomicPreXsd2Cpp()1283 public String getTemplateUnionDataAtomicPreXsd2Cpp() { 1284 return checkOption(codeTemplates.getProperty("UnionDataAtomicPreXsd2Cpp")); 1285 } 1286 getTemplateUnionDataAtomicXsd2Cpp()1287 public String getTemplateUnionDataAtomicXsd2Cpp() { 1288 return checkOption(codeTemplates.getProperty("UnionDataAtomicXsd2Cpp")); 1289 } 1290 getTemplateUnionDataListEnd()1291 public String getTemplateUnionDataListEnd() { 1292 return checkOption(codeTemplates.getProperty("UnionDataListEnd")); 1293 } 1294 getTemplateUnionDataListEndValidation()1295 public String getTemplateUnionDataListEndValidation() { 1296 return checkOption(codeTemplates.getProperty("UnionDataListEndValidation")); 1297 } 1298 getTemplateUnionDataListType()1299 public String getTemplateUnionDataListType() { 1300 return checkOption(codeTemplates.getProperty("UnionDataListType")); 1301 } 1302 getTemplateUnionDataListTypeConversion()1303 public String getTemplateUnionDataListTypeConversion() { 1304 return checkOption(codeTemplates.getProperty("UnionDataListTypeConversion")); 1305 } 1306 getTemplateUnionDataListTypeConversionValidation()1307 public String getTemplateUnionDataListTypeConversionValidation() { 1308 return checkOption(codeTemplates.getProperty("UnionDataListTypeConversionValidation")); 1309 } 1310 getTemplateUnionEnumMemberConversion()1311 public String getTemplateUnionEnumMemberConversion() { 1312 return checkOption(codeTemplates.getProperty("UnionEnumMemberConversion")); 1313 } 1314 getTemplateUnionFuncDataPrefixDecl()1315 public String getTemplateUnionFuncDataPrefixDecl() { 1316 return checkOption(codeTemplates.getProperty("UnionFuncDataPrefixDecl")); 1317 } 1318 getTemplateUnionFuncDataPrefixImpl()1319 public String getTemplateUnionFuncDataPrefixImpl() { 1320 return checkOption(codeTemplates.getProperty("UnionFuncDataPrefixImpl")); 1321 } 1322 getTemplateUnionFuncToUnionBufferEndPtrDecl()1323 public String getTemplateUnionFuncToUnionBufferEndPtrDecl() { 1324 return checkOption(codeTemplates.getProperty("UnionFuncToUnionBufferEndPtrDecl")); 1325 } 1326 getTemplateUnionFuncToUnionBufferEndPtrImpl()1327 public String getTemplateUnionFuncToUnionBufferEndPtrImpl() { 1328 return checkOption(codeTemplates.getProperty("UnionFuncToUnionBufferEndPtrImpl")); 1329 } 1330 getTemplateUnionFuncToUnionDecl()1331 public String getTemplateUnionFuncToUnionDecl() { 1332 return checkOption(codeTemplates.getProperty("UnionFuncToUnionDecl")); 1333 } 1334 getTemplateUnionFuncToUnionImpl()1335 public String getTemplateUnionFuncToUnionImpl() { 1336 return checkOption(codeTemplates.getProperty("UnionFuncToUnionImpl")); 1337 } 1338 getTemplateUnionFuncToUnionNullTermiDecl()1339 public String getTemplateUnionFuncToUnionNullTermiDecl() { 1340 return checkOption(codeTemplates.getProperty("UnionFuncToUnionNullTermiDecl")); 1341 } 1342 getTemplateUnionFuncToUnionNullTermiImpl()1343 public String getTemplateUnionFuncToUnionNullTermiImpl() { 1344 return checkOption(codeTemplates.getProperty("UnionFuncToUnionNullTermiImpl")); 1345 } 1346 getTemplateUnionFuncToUnionPerMember()1347 public String getTemplateUnionFuncToUnionPerMember() { 1348 return checkOption(codeTemplates.getProperty("UnionFuncToUnionPerMember")); 1349 } 1350 getTemplateUnionMemberTypeConversionFunctionParametersEnumAddon()1351 public String getTemplateUnionMemberTypeConversionFunctionParametersEnumAddon() { 1352 return checkOption(codeTemplates.getProperty("UnionMemberTypeConversionFunctionParametersEnumAddon")); 1353 } 1354 getTemplateValidateBeginPostSwitch()1355 public String getTemplateValidateBeginPostSwitch() { 1356 return checkOption(codeTemplates.getProperty("ValidateBeginPostSwitch")); 1357 } 1358 getTemplateValidateBeginPreSwitch()1359 public String getTemplateValidateBeginPreSwitch() { 1360 return checkOption(codeTemplates.getProperty("ValidateBeginPreSwitch")); 1361 } 1362 getTemplateValidateBeginSwitchDefault()1363 public String getTemplateValidateBeginSwitchDefault() { 1364 return checkOption(codeTemplates.getProperty("ValidateBeginSwitchDefault")); 1365 } 1366 getTemplateValidateBeginSwitchDefaultUnknownAttributes()1367 public String getTemplateValidateBeginSwitchDefaultUnknownAttributes() { 1368 return checkOption(codeTemplates.getProperty("ValidateBeginSwitchDefaultUnknownAttributes")); 1369 } 1370 getTypedAttributeDataVariableName()1371 public String getTypedAttributeDataVariableName() { 1372 return checkOption(props.getProperty("typedAttributeDataVariableName")); 1373 } 1374 getTypeMapping()1375 public Map<String, TypeMap> getTypeMapping() { 1376 return typeMapping; 1377 } 1378 getTypeNameMappingSeparator()1379 public String getTypeNameMappingSeparator() { 1380 return checkOption(props.getProperty("typeNameMappingSeparator")); 1381 } 1382 getUnionDataMemberName()1383 public String getUnionDataMemberName() { 1384 return checkOption(props.getProperty("unionDataMemberName")); 1385 } 1386 getUnionFuncPrefixToUnion()1387 public String getUnionFuncPrefixToUnion() { 1388 return checkOption(props.getProperty("unionFuncPrefixToUnion")); 1389 } 1390 getUnionFuncPrefixToUnionPrefix()1391 public String getUnionFuncPrefixToUnionPrefix() { 1392 return checkOption(props.getProperty("unionFuncPrefixToUnionPrefix")); 1393 } 1394 getUnionInvalidTypeName()1395 public String getUnionInvalidTypeName() { 1396 return checkOption(props.getProperty("unionInvalidTypeName")); 1397 } 1398 getUnionMemberTypeConversionFunctionParameters()1399 public String getUnionMemberTypeConversionFunctionParameters() { 1400 return checkOption(props.getProperty("unionMemberTypeConversionFunctionParameters")); 1401 } 1402 getUnionTypeMemberName()1403 public String getUnionTypeMemberName() { 1404 return checkOption(props.getProperty("unionTypeMemberName")); 1405 } 1406 getUnknownAttributesMemberInit()1407 public String getUnknownAttributesMemberInit() { 1408 return checkOption(props.getProperty("unknownAttributesMemberInit")); 1409 } 1410 getUnknownAttributesMemberName()1411 public String getUnknownAttributesMemberName() { 1412 return checkOption(props.getProperty("unknownAttributesMemberName")); 1413 } 1414 getUnknownAttributesMemberType()1415 public String getUnknownAttributesMemberType() { 1416 return checkOption(props.getProperty("unknownAttributesMemberType")); 1417 } 1418 getUnknownAttributeType()1419 public String getUnknownAttributeType() { 1420 return checkOption(props.getProperty("unknownAttributeType")); 1421 } 1422 getUserTypeNameMapping()1423 public Map<String, String> getUserTypeNameMapping() { 1424 return userTypeNameMapping; 1425 } 1426 getValidationDataStructMemberType()1427 public String getValidationDataStructMemberType() { 1428 return checkOption(props.getProperty("validationDataStructMemberType")); 1429 } 1430 getValidationDataStructSuffix()1431 public String getValidationDataStructSuffix() { 1432 return checkOption(props.getProperty("validationDataStructSuffix")); 1433 } 1434 getWildcardValidationDataStructName()1435 public String getWildcardValidationDataStructName() { 1436 return checkOption(props.getProperty("wildcardValidationDataStructName")); 1437 } 1438 getXSNamespace()1439 public String getXSNamespace() { 1440 return checkOption(props.getProperty("xsNamespace")); 1441 } 1442 getXsNamespaceMapping()1443 public Map<String, String> getXsNamespaceMapping() { 1444 return xsNamespaceMapping; 1445 } 1446 isTreatXsDoubleAsCppDouble()1447 public boolean isTreatXsDoubleAsCppDouble() { 1448 return treatXsDoubleAsCppDouble; 1449 } 1450 isTreatXsFloatAsCppFloat()1451 public boolean isTreatXsFloatAsCppFloat() { 1452 return treatXsFloatAsCppFloat; 1453 } 1454 isTypeNameMappingGenerationTurnedOn()1455 public boolean isTypeNameMappingGenerationTurnedOn() { 1456 return generateTypeNameMapping; 1457 } 1458 parseListOption(String value)1459 protected List<String> parseListOption(String value) { 1460 List<String> list = new ArrayList<String>(); 1461 if (value == null) { 1462 return list; 1463 } 1464 String[] split = value.split(" "); 1465 for (String tmp : split) { 1466 list.add(tmp.trim()); 1467 } 1468 return list; 1469 } 1470 parseMapOption(String value)1471 protected Map<String, String> parseMapOption(String value) { 1472 Map<String, String> map = new HashMap<String, String>(); 1473 if (value == null) { 1474 return map; 1475 } 1476 String[] split = value.split(";"); 1477 if (split.length == 1 && split[0].length() == 0) { 1478 return map; 1479 } 1480 for (String tmp : split) { 1481 String[] split2 = tmp.split("="); 1482 if (split2.length != 2) { 1483 System.err.println("illegal map entry: " + tmp); 1484 } else { 1485 String parsedKey = split2[0].trim(); 1486 String parsedValue = split2[1].trim(); 1487 map.put(parsedKey, parsedValue); 1488 } 1489 } 1490 return map; 1491 } 1492 } 1493