{"record":{"id":"8316188e5b2d3368","repo":"redis/jedis","slug":"must-not-instantiate-this-class-831618","errorCode":null,"errorMessage":"Must not instantiate this class","messagePattern":"Must not instantiate this class","errorType":"exception","errorClass":"InstantiationError","httpStatus":null,"severity":"error","filePath":"src/main/java/redis/clients/jedis/json/JsonBuilderFactory.java","lineNumber":179,"sourceCode":"      if (data == null) return null;\n      if (data instanceof List) return JSON_NUMBER_LIST.build(data);\n      return JSON_ARRAY.build(data);\n    }\n  };\n\n  public static final Builder<List<JSONArray>> JSON_ARRAY_LIST = new Builder<List<JSONArray>>() {\n    @Override\n    public List<JSONArray> build(Object data) {\n      if (data == null) {\n        return null;\n      }\n      List<Object> list = (List<Object>) data;\n      return list.stream().map(o -> JSON_ARRAY.build(o)).collect(Collectors.toList());\n    }\n  };\n\n  private JsonBuilderFactory() {\n    throw new InstantiationError(\"Must not instantiate this class\");\n  }\n}\n","sourceCodeStart":161,"sourceCodeEnd":182,"githubUrl":"https://github.com/redis/jedis/blob/6dac31d4c224fb3257c216f3985340c6f500cdcb/src/main/java/redis/clients/jedis/json/JsonBuilderFactory.java#L161-L182","documentation":"JsonBuilderFactory is a utility class whose private constructor unconditionally throws InstantiationError to prevent instantiation. It is meant to be used statically only; new JsonBuilderFactory() always fails.","triggerScenarios":"Writing new JsonBuilderFactory() or reflection-based instantiation (Constructor.newInstance) of JsonBuilderFactory.","commonSituations":"Developer habit of instantiating utility classes; code generators or DI frameworks attempting to construct all classes.","solutions":["Use JsonBuilderFactory's static methods directly instead of creating an instance","Remove instantiation/DI registration of this class from your code","Access builders through the public static fields/methods"],"exampleFix":"// before\nJsonBuilderFactory factory = new JsonBuilderFactory();\n// after\nvar builder = JsonBuilderFactory.someStaticBuilderMethod();","handlingStrategy":"type-guard","validationCode":"// no pre-call check possible; never instantiate","typeGuard":"// JsonBuilderFactory is final utility; use static access only","tryCatchPattern":"// Do not catch InstantiationError; fix the call site to use static methods","preventionTips":["Use static methods/fields of JsonBuilderFactory only","Do not register utility classes in DI containers","Exclude *Factory utility classes from reflective instantiation"],"tags":["utility-class","instantiation","api-usage"],"backgroundTag":"unsupported-operation","analyzedSha":"6dac31d4c224fb3257c216f3985340c6f500cdcb","analyzedAt":"2026-09-08T04:55:01.204Z","contentChangedAt":"2026-09-08T04:55:01.204Z","schemaVersion":2},"datasetVersion":"2026-09-16T04:17:20.429Z"}