public OptionDefinitionsMap getOptionDefinitions() {
OptionDefinitionsMap options = new OptionDefinitionsMap();
LocalizedOptionDefinition collectCondition = new LocalizedOptionDefinition(CSAuthModule.COPTION_COLLECT_CONDITION, TMLScriptCodeOptionType.INSTANCE, _bundleLoader);
collectCondition.setOptional(true);
options.addOption(collectCondition);
LocalizedOptionDefinition dbKey = new LocalizedOptionDefinition(CSAuthModule.COPTION_DBKEY, new DatabasesOptionType(_registry, true), _bundleLoader);
options.addOption(dbKey);
LocalizedOptionDefinition itemAliases = new LocalizedOptionDefinition(CSAuthModule.COPTION_ITEM_ALIASES, StringOptionType.INSTANCE, _bundleLoader);
itemAliases.setOptional(true);
itemAliases.setDefaultValue(CSAuthModule.DEFAULTITEM_USERALIASES);
options.addOption(itemAliases);
LocalizedOptionDefinition itemEmail = new LocalizedOptionDefinition(CSAuthModule.COPTION_ITEM_EMAIL, StringOptionType.INSTANCE, _bundleLoader);
itemEmail.setOptional(true);
itemEmail.setDefaultValue(CSAuthModule.DEFAULTITEM_EMAIL);
options.addOption(itemEmail);
LocalizedOptionDefinition itemEnabled = new LocalizedOptionDefinition(CSAuthModule.COPTION_ITEM_ENABLED, StringOptionType.INSTANCE, _bundleLoader);
itemEnabled.setOptional(true);
itemEnabled.setDefaultValue(CSAuthModule.DEFAULTITEM_ENABLED);
options.addOption(itemEnabled);
LocalizedOptionDefinition itemGroupmembers = new LocalizedOptionDefinition(CSAuthModule.COPTION_ITEM_GROUPMEMBERS, StringOptionType.INSTANCE, _bundleLoader);
itemGroupmembers.setOptional(true);
itemGroupmembers.setDefaultValue(CSAuthModule.DEFAULTITEM_MEMBERS);
options.addOption(itemGroupmembers);
LocalizedOptionDefinition itemGroupname = new LocalizedOptionDefinition(CSAuthModule.COPTION_ITEM_GROUPNAME, StringOptionType.INSTANCE, _bundleLoader);
itemGroupname.setOptional(true);
itemGroupname.setDefaultValue(CSAuthModule.DEFAULTITEM_GROUPNAME);
options.addOption(itemGroupname);
LocalizedOptionDefinition itemPassword = new LocalizedOptionDefinition(CSAuthModule.COPTION_ITEM_PASSWORD, StringOptionType.INSTANCE, _bundleLoader);
itemPassword.setOptional(true);
itemPassword.setDefaultValue(CSAuthModule.DEFAULTITEM_PASSWORD);
options.addOption(itemPassword);
LocalizedOptionDefinition itemUsername = new LocalizedOptionDefinition(CSAuthModule.COPTION_ITEM_USERNAME, StringOptionType.INSTANCE, _bundleLoader);
itemUsername.setOptional(true);
itemUsername.setDefaultValue(CSAuthModule.DEFAULTITEM_USERNAME);
options.addOption(itemUsername);
LocalizedOptionDefinition usersRoot = new LocalizedOptionDefinition(CSAuthModule.COPTION_ROOTDOC_USERS, StringOptionType.INSTANCE, _bundleLoader);
usersRoot.setOptional(true);
usersRoot.setDefaultValue(CSAuthModule.DEFAULT_USERSROOT);
options.addOption(usersRoot);
LocalizedOptionDefinition groupsRoot = new LocalizedOptionDefinition(CSAuthModule.COPTION_ROOTDOC_GROUPS, StringOptionType.INSTANCE, _bundleLoader);
groupsRoot.setOptional(true);
groupsRoot.setDefaultValue(CSAuthModule.DEFAULT_GROUPSROOT);
options.addOption(groupsRoot);
LocalizedOptionDefinition collectScript = new LocalizedOptionDefinition(CSAuthModule.COPTION_SCRIPT_COLLECT, TMLScriptCodeOptionType.INSTANCE, _bundleLoader);
collectScript.setOptional(true);
collectScript.setExpert(true);
options.addOption(collectScript);
LocalizedOptionDefinition labeledNames = new LocalizedOptionDefinition(CSAuthModule.COPTION_LABELED_NAMES, CommaSeparatedListOptionType.INSTANCE, _bundleLoader);
labeledNames.setOptional(true);
options.addOption(labeledNames);
LocalizedOptionDefinition certAuth = new LocalizedOptionDefinition(CSAuthModule.COPTION_CERTAUTH, BooleanOptionType.INSTANCE, _bundleLoader);
certAuth.setOptional(true);
certAuth.setExpert(true);
options.addOption(certAuth);
LocalizedOptionDefinition ca = new LocalizedOptionDefinition(CSAuthModule.COPTION_CA, ServerFilePathOptionType.INSTANCE, _bundleLoader);
ca.setExpert(true);
ca.addDependentOption(CSAuthModule.COPTION_CERTAUTH);
options.addOption(ca);
LocalizedOptionDefinition crl = new LocalizedOptionDefinition(CSAuthModule.COPTION_CRL, ServerFilePathOptionType.INSTANCE, _bundleLoader);
crl.addDependentOption(CSAuthModule.COPTION_CA);
crl.setExpert(true);
crl.addDependentOption(CSAuthModule.COPTION_CERTAUTH);
options.addOption(crl);
return options;