{"record":{"id":"4e26b77955dc8e10","repo":"lingochamp/FileDownloader","slug":"the-value-of-s-must-be-s-or-s","errorCode":null,"errorMessage":"the value of '%s' must be '%s' or '%s'","messagePattern":"the value of '(.+?)' must be '(.+?)' or '(.+?)'","errorType":"validation","errorClass":"IllegalStateException","httpStatus":null,"severity":"error","filePath":"library/src/main/java/com/liulishuo/filedownloader/util/FileDownloadProperties.java","lineNumber":219,"sourceCode":"                }\n            } else {\n                e.printStackTrace();\n            }\n        } finally {\n            if (inputStream != null) {\n                try {\n                    inputStream.close();\n                } catch (IOException e) {\n                    e.printStackTrace();\n                }\n            }\n        }\n\n\n        //http.lenient\n        if (httpLenient != null) {\n            if (!httpLenient.equals(TRUE_STRING) && !httpLenient.equals(FALSE_STRING)) {\n                throw new IllegalStateException(\n                        FileDownloadUtils.formatString(\"the value of '%s' must be '%s' or '%s'\",\n                                KEY_HTTP_LENIENT, TRUE_STRING, FALSE_STRING));\n            }\n            this.httpLenient = httpLenient.equals(TRUE_STRING);\n        } else {\n            this.httpLenient = false;\n        }\n\n        //process.non-separate\n        if (processNonSeparate != null) {\n            if (!processNonSeparate.equals(TRUE_STRING)\n                    && !processNonSeparate.equals(FALSE_STRING)) {\n                throw new IllegalStateException(\n                        FileDownloadUtils.formatString(\"the value of '%s' must be '%s' or '%s'\",\n                                KEY_PROCESS_NON_SEPARATE, TRUE_STRING, FALSE_STRING));\n            }\n            this.processNonSeparate = processNonSeparate.equals(TRUE_STRING);\n        } else {","sourceCodeStart":201,"sourceCodeEnd":237,"githubUrl":"https://github.com/lingochamp/FileDownloader/blob/6237a8cac174bcc916e4342b14ab1ab72a5768d4/library/src/main/java/com/liulishuo/filedownloader/util/FileDownloadProperties.java#L201-L237","documentation":"Strict property parsing in the FileDownloadProperties constructor while loading filedownloader.properties: every boolean-style field (the message's first %s names the property key) accepts only the exact strings 'true' or 'false' (the second and third %s). Any other value — 'True', '1', 'yes', or a typo — aborts library initialization with this IllegalStateException. The faulty input is the value written for that key in the properties file.","triggerScenarios":"Thrown at library/src/main/java/com/liulishuo/filedownloader/util/FileDownloadProperties.java:219 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Edit filedownloader.properties and set the flagged key to exactly 'true' or 'false' (lowercase, no quotes/whitespace)","Check for typos in the property value such as 'ture', 'TRUE', 'yes', or '1'","Confirm the properties file is in the assets directory and uses simple key=value lines with no stray characters"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"6237a8cac174bcc916e4342b14ab1ab72a5768d4","analyzedAt":"2026-09-08T23:50:48.168Z","contentChangedAt":"2026-09-08T23:50:48.168Z","schemaVersion":2},"datasetVersion":"2026-09-16T09:17:16.951Z"}