{"record":{"id":"3c637d3e794990f9","repo":"stanfordnlp/CoreNLP","slug":"not-a-valid-ellipses-style","errorCode":null,"errorMessage":"Not a valid ellipses style: ","messagePattern":"Not a valid ellipses style: ","errorType":"exception","errorClass":"IllegalArgumentException","httpStatus":null,"severity":"warning","filePath":"src/edu/stanford/nlp/international/french/process/FrenchLexer.java","lineNumber":12410,"sourceCode":"          normalizeOtherBrackets = val;\n          ellipsisStyle = val ? LexerUtils.EllipsesEnum.ASCII : LexerUtils.EllipsesEnum.ORIGINAL;\n          dashesStyle = val ? LexerUtils.DashesEnum.ASCII : LexerUtils.DashesEnum.ORIGINAL;\n          quoteStyle = val ? LexerUtils.QuotesEnum.ASCII : LexerUtils.QuotesEnum.ORIGINAL;\n        } else if (\"quotes\".equals(key)) {\n          quoteStyle = LexerUtils.QuotesEnum.valueOf(value.toUpperCase(Locale.ROOT));\n        } else if (\"normalizeAmpersandEntity\".equals(key)) {\n          normalizeAmpersandEntity = val;\n        } else if (\"normalizeFractions\".equals(key)) {\n          normalizeFractions = val;\n        } else if (\"normalizeParentheses\".equals(key)) {\n          normalizeParentheses = val;\n        } else if (\"normalizeOtherBrackets\".equals(key)) {\n          normalizeOtherBrackets = val;\n        } else if (\"ellipses\".equals(key)) {\n          try {\n            ellipsisStyle = LexerUtils.EllipsesEnum.valueOf(value.trim().toUpperCase(Locale.ROOT));\n          } catch (IllegalArgumentException iae) {\n            throw new IllegalArgumentException (\"Not a valid ellipses style: \" + value);\n          }\n        } else if (\"dashes\".equals(key)) {\n          try {\n            dashesStyle = LexerUtils.DashesEnum.valueOf(value.trim().toUpperCase(Locale.ROOT));\n          } catch (IllegalArgumentException iae) {\n            throw new IllegalArgumentException (\"Not a valid dashes style: \" + value);\n          }\n        } else if (\"escapeForwardSlashAsterisk\".equals(key)) {\n          escapeForwardSlashAsterisk = val;\n        } else if (\"untokenizable\".equals(key)) {\n          switch (value) {\n            case \"noneDelete\":\n              untokenizable = UntokenizableOptions.NONE_DELETE;\n              break;\n            case \"firstDelete\":\n              untokenizable = UntokenizableOptions.FIRST_DELETE;\n              break;\n            case \"allDelete\":","sourceCodeStart":12392,"sourceCodeEnd":12428,"githubUrl":"https://github.com/stanfordnlp/CoreNLP/blob/1b7edd19c4d0d7b1f13a2591425b9b60a0b1af7a/src/edu/stanford/nlp/international/french/process/FrenchLexer.java#L12392-L12428","documentation":"The FrenchLexer's option parser maps the 'ellipses' option string to LexerUtils.EllipsesEnum via valueOf. If the supplied value is not a recognized enum constant (e.g. 'dots', 'ascii' misspelled), it throws IllegalArgumentException('Not a valid ellipses style: ' + value).","triggerScenarios":"Constructing a FrenchLexer (via Lexer options/properties) with options containing ellipses=<bad value> where value.trim().toUpperCase() is not a constant of EllipsesEnum (allowed values are e.g. UNICODE, XML, original).","commonSituations":"Tokenizer configuration typos in a properties file or -tokenizeOptions string; copying option values from another tokenizer (English/Arabic) whose ellipses vocabulary differs; case or whitespace variations beyond toUpperCase handling.","solutions":["Use one of the exact LexerUtils.EllipsesEnum constants (case-insensitive, e.g. 'unicode' or 'xml') in the ellipses option","Check LexerUtils.EllipsesEnum source for the exact allowed values","Remove or correct the ellipses option in the tokenizer properties/-tokenizeOptions","Validate option values against the enum before constructing the lexer"],"exampleFix":"// before\noptions = \"ellipses=dots\"; // IllegalArgumentException\n// after\noptions = \"ellipses=unicode\"; // valid EllipsesEnum constant","handlingStrategy":"validation","validationCode":"try { LexerUtils.EllipsesEnum.valueOf(value.trim().toUpperCase(Locale.ROOT)); }\ncatch (IllegalArgumentException e) { throw new IllegalArgumentException(\"Invalid ellipses value: \" + value); }","typeGuard":"boolean isValidEllipses(String v){ for (LexerUtils.EllipsesEnum e : LexerUtils.EllipsesEnum.values()) if (e.name().equalsIgnoreCase(v.trim())) return true; return false; }","tryCatchPattern":"try { new FrenchLexer(reader, options); } catch (IllegalArgumentException e) { /* inspect option value in message */ }","preventionTips":["Use exact EllipsesEnum constants (e.g. unicode, xml) in tokenizer options","Do not copy ellipses option values between different language tokenizers","Keep tokenizer properties files lint-checked against enum vocabularies"],"tags":["java","tokenizer","french","enum","configuration"],"backgroundTag":"invalid-enum-value","analyzedSha":"1b7edd19c4d0d7b1f13a2591425b9b60a0b1af7a","analyzedAt":"2026-09-10T02:24:07.274Z","contentChangedAt":"2026-09-10T02:24:07.274Z","schemaVersion":2},"datasetVersion":"2026-09-15T23:17:13.987Z"}