Index: src/main/java/org/exolab/castor/builder/SourceGeneratorMain.java =================================================================== --- src/main/java/org/exolab/castor/builder/SourceGeneratorMain.java (Revision 6855) +++ src/main/java/org/exolab/castor/builder/SourceGeneratorMain.java (Arbeitskopie) @@ -91,6 +91,7 @@ private static final String ARGUMENT_TYPES_JAVA2 = "j2"; private static final String ARGUMENT_VERBOSE = "verbose"; private static final String ARGUMENT_FAIL_ON_ERROR = "fail"; + private static final String ARGUMENT_NAME_CONFLICT_STRATEGY = "nameConflictStrategy"; private static final String ARG_VALUE_LINE_SEPARATION_MAC = "mac"; private static final String ARG_VALUE_LINE_SEPARATION_UNIX = "unix"; @@ -162,6 +163,9 @@ private static final String INVALID_LINE_SEPARATOR_MSG = "Invalid option for line-separator: "; + private static final String NAME_CONFLICT_STRATEGY_MSG = + "Using name conflict strategy "; + /** The full set of command-line options. */ private static final CommandLineOptions ALL_OPTIONS = setupCommandLineOptions(); @@ -260,6 +264,13 @@ System.out.println(CASE_INSENSITIVE_MSG); } + String nameConflictStrategy = options.getProperty(ARGUMENT_NAME_CONFLICT_STRATEGY); + if (nameConflictStrategy != null) { + sgen.setNameConflictStrategy(nameConflictStrategy); + System.out.print("-- "); + System.out.println(CASE_INSENSITIVE_MSG + nameConflictStrategy); + } + String bindingFilename = options.getProperty(ARGUMENT_BINDING_FILENAME); if (bindingFilename != null) { try { @@ -459,6 +470,10 @@ desc = "Sets enumerated types to use a case insensitive lookup."; allOptions.addFlag(ARGUMENT_CASE_INSENSITIVE, "", desc); + //-- Sets enumerated type to use a case insensitive lookup + desc = "Sets name conflict strategy to use."; + allOptions.addFlag(ARGUMENT_NAME_CONFLICT_STRATEGY, "", desc); + return allOptions; }