When using a wrapper class, it is not possible to support reading both Integer.MIN_VALUE and null.
|
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(); |
|
} |
When using a wrapper class, it is not possible to support reading both
Integer.MIN_VALUEandnull.hollow/hollow/src/main/java/com/netflix/hollow/api/codegen/api/TypeAPIObjectJavaGenerator.java
Lines 290 to 315 in 45a4a8f