/** * @param field Field. * @param opt Case option. * @param colAnn Collection annotation. * @param mapAnn Map annotation. */ private void writeField(Field field, int opt, @Nullable GridDirectCollection colAnn, @Nullable GridDirectMap mapAnn) { assert field != null; assert opt >= 0; write.add(builder().a("case ").a(opt).a(":").toString()); indent++; GridCodegenConverter fldPreproc = field.getAnnotation(GridCodegenConverter.class); String getExp = (fldPreproc != null && !fldPreproc.get().isEmpty())? fldPreproc.get(): field.getName(); Class<?> writeType = (fldPreproc != null && !fldPreproc.type().equals(GridCodegenConverter.Default.class))? fldPreproc.type(): field.getType(); returnFalseIfWriteFailed(writeType, field.getName(), colAnn != null ? colAnn.value() : null, mapAnn != null ? mapAnn.keyType() : null, mapAnn != null ? mapAnn.valueType() : null, false, getExp); write.add(EMPTY); write.add(builder().a("writer.incrementState();").toString()); write.add(EMPTY); indent--; }
/** * @param field Field. * @param opt Case option. * @param colAnn Collection annotation. * @param mapAnn Map annotation. */ private void readField(Field field, int opt, @Nullable GridDirectCollection colAnn, @Nullable GridDirectMap mapAnn) { assert field != null; assert opt >= 0; read.add(builder().a("case ").a(opt).a(":").toString()); indent++; GridCodegenConverter fldPreproc = field.getAnnotation(GridCodegenConverter.class); String setExp = (fldPreproc != null && !fldPreproc.get().isEmpty())? fldPreproc.set(): ""; Class<?> writeType = (fldPreproc != null && !fldPreproc.type().equals(GridCodegenConverter.Default.class))? fldPreproc.type(): field.getType(); returnFalseIfReadFailed(writeType, field.getName(), colAnn != null ? colAnn.value() : null, mapAnn != null ? mapAnn.keyType() : null, mapAnn != null ? mapAnn.valueType() : null, setExp); read.add(EMPTY); read.add(builder().a("reader.incrementState();").toString()); read.add(EMPTY); indent--; }