private void processComputed ( ) { getMethodsWithAnnotation ( component , Computed . class ) . forEach ( method -> { ComputedKind kind = ComputedKind . GETTER ; if ( "void" . equals ( method . getReturnType ( ) . toString ( ) ) ) { kind = ComputedKind . SETTER ; } String exposedMethodName = exposeExistingJavaMethodToJs ( method ) ; String fieldName = computedPropertyNameToFieldName ( getComputedPropertyName ( method ) ) ; TypeMirror propertyType = getComputedPropertyTypeFromMethod ( method ) ; fieldsWithNameExposed . add ( new ExposedField ( fieldName , propertyType ) ) ; optionsBuilder . addStatement ( "options.addJavaComputed(p.$L, $T.getFieldName(this, () -> this.$L = $L), $T.$L)" , exposedMethodName , VueGWTTools . class , fieldName , getFieldMarkingValueForType ( propertyType ) , ComputedKind . class , kind ) ; } ) ; addFieldsForComputedMethod ( component , new HashSet <> ( ) ) ; }
Process computed properties from the Component Class .