-
Notifications
You must be signed in to change notification settings - Fork 237
Open
Description
When using a wrapper class, it is not possible to support reading both Integer.MIN_VALUE and null.
hollow/hollow/src/main/java/com/netflix/hollow/api/codegen/api/TypeAPIObjectJavaGenerator.java
Lines 290 to 315 in 45a4a8f
| private String generateIntFieldAccessor(int fieldNum) { | |
| StringBuilder builder = new StringBuilder(); | |
| String fieldName = substituteInvalidChars(objectSchema.getFieldName(fieldNum)); | |
| builder.append(" public int get").append(uppercase(fieldName)).append("(int ordinal) {\n"); | |
| builder.append(" if(fieldIndex[" + fieldNum +"] == -1)\n"); | |
| builder.append(" return missingDataHandler().handleInt(\"").append(objectSchema.getName()).append("\", ordinal, \"").append(fieldName).append("\");\n"); | |
| builder.append(" return getTypeDataAccess().readInt(ordinal, fieldIndex[" + fieldNum + "]);\n"); | |
| builder.append(" }\n\n"); | |
| builder.append(" public Integer get").append(uppercase(fieldName)).append("Boxed(int ordinal) {\n"); | |
| builder.append(" int i;\n"); | |
| builder.append(" if(fieldIndex[" + fieldNum +"] == -1) {\n"); | |
| builder.append(" i = missingDataHandler().handleInt(\"").append(objectSchema.getName()).append("\", ordinal, \"").append(fieldName).append("\");\n"); | |
| builder.append(" } else {\n"); | |
| builder.append(" boxedFieldAccessSampler.recordFieldAccess(fieldIndex[" + fieldNum + "]);\n"); | |
| builder.append(" i = getTypeDataAccess().readInt(ordinal, fieldIndex[" + fieldNum + "]);\n"); | |
| builder.append(" }\n"); | |
| builder.append(" if(i == Integer.MIN_VALUE)\n"); | |
| builder.append(" return null;\n"); | |
| builder.append(" return Integer.valueOf(i);\n"); | |
| builder.append(" }\n\n"); | |
| return builder.toString(); | |
| } |
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels