@Nonnull @Override public JClass generateFieldType( @Nonnull FieldDeclarationInfo fieldInfo ) { return codeGenerator.ref( fieldInfo.getType().toString() ); }
/** * Returns whether the given field info is a build in type * * @param fieldInfo the field info * @return true if the field is of the build in type, false otherwise */ public static boolean isBuildInType( @Nonnull FieldTypeInformation fieldInfo ) { return ParseExpressionFactory.getSupportedTypeNames().contains( fieldInfo.getType().toString() ); }
@Nonnull @Override public JClass generateFieldType( @Nonnull FieldDeclarationInfo fieldInfo ) { return codeGenerator.ref( TypeUtils.getErasure( fieldInfo.getType() ).toString() ); }
@Override @Nonnull public Expressions createReadFromDeserializeFromExpression( @Nonnull AbstractGenerator<?> generator, @Nonnull JDefinedClass serializerClass, @Nonnull JExpression deserializeFrom, JVar wrapper, @Nonnull JVar formatVersion, @Nonnull FieldDeclarationInfo fieldInfo ) { JClass collectionParamType = codeGenerator.ref( fieldInfo.getCollectionParam().toString() ); JInvocation nextTagExpression = createNextTagInvocation( serializerClass, deserializeFrom, fieldInfo ); JInvocation expression = JExpr.invoke( METHOD_NAME_DESERIALIZE_COLLECTION ).arg( deserializeFrom ).arg( JExpr.dotclass( collectionParamType ) ).arg( formatVersion ); return new Expressions( expression, nextTagExpression ); }
@Nonnull @Override public Expressions createReadFromDeserializeFromExpression( @Nonnull AbstractGenerator<?> generator, @Nonnull JDefinedClass serializerClass, @Nonnull JExpression deserializeFrom, JVar wrapper, @Nonnull JVar formatVersion, @Nonnull FieldDeclarationInfo fieldInfo ) { JInvocation nextTagExpression = createNextTagInvocation( serializerClass, deserializeFrom, fieldInfo ); JClass type = codeGenerator.ref( TypeUtils.getErasure( fieldInfo.getType() ).toString() ); JInvocation expression = JExpr.invoke( METHOD_NAME_DESERIALIZE ).arg( JExpr.dotclass( type ) ).arg( formatVersion ).arg( deserializeFrom ); return new Expressions( expression, nextTagExpression ); }
@Nonnull @Override public JClass generateFieldType( @Nonnull FieldDeclarationInfo fieldInfo ) { JClass collectionType = codeGenerator.ref( fieldInfo.getCollectionParam().toString() ); JClass list = codeGenerator.getModel().ref( List.class ); return list.narrow( collectionType.wildcard() ); }
@Nonnull @Override public JStatement createAddToSerializeToExpression( @Nonnull AbstractGenerator<?> generator, @Nonnull JDefinedClass serializerClass, @Nonnull JExpression serializeTo, @Nonnull FieldDeclarationInfo fieldInfo, @Nonnull JVar object, JVar formatVersion ) { //Add serializer to constructor generator.addDelegatingSerializerToConstructor( serializerClass, codeGenerator.ref( TypeUtils.getErasure( fieldInfo.getType() ).toString() ) ); JFieldVar constant = getConstant( serializerClass, fieldInfo ); JExpression getterInvocation = codeGenerator.createGetterInvocation( object, fieldInfo ); return JExpr.invoke( METHOD_NAME_SERIALIZE ) .arg( getterInvocation ) .arg( JExpr.dotclass( codeGenerator.ref( TypeUtils.getErasure( fieldInfo.getType() ).toString() ) ) ) .arg( createAddElementExpression( serializeTo, constant ) ) .arg( formatVersion ) ; }
@Override @Nonnull public JInvocation createAddToSerializeToExpression( @Nonnull AbstractGenerator<?> generator, @Nonnull JDefinedClass serializerClass, @Nonnull JExpression serializeTo, @Nonnull FieldDeclarationInfo fieldInfo, @Nonnull JVar object, JVar formatVersion ) { generator.addDelegatingSerializerToConstructor( serializerClass, codeGenerator.ref( TypeUtils.getErasure( fieldInfo.getCollectionParam() ).toString() ) ); JFieldVar constant = getConstant( serializerClass, fieldInfo ); JInvocation getterInvocation = codeGenerator.createGetterInvocation( object, fieldInfo ); return JExpr.invoke( METHOD_NAME_SERIALIZE_COLLECTION ) .arg( getterInvocation ) .arg( JExpr.dotclass( codeGenerator.ref( fieldInfo.getCollectionParam().toString() ) ) ) .arg( constant ) .arg( serializeTo ) .arg( formatVersion ) ; }