Example #1
0
  protected String getDataObjectReadExpression(JClassType dataObjectType, String bindPath)
      throws NoSuchFieldException {
    StringBuilder getExpression = new StringBuilder();

    bindPathType =
        JClassUtils.buildGetValueExpression(
            getExpression, dataObjectType, bindPath, DATA_OBJECT_VAR_REF, false, true);

    String converterVariable = getConverterVariable();
    if (converterVariable != null) {
      getExpression.insert(0, converterVariable + ".to(").append(")");
      JClassType typeConverterType =
          converterType.getOracle().findType(TypeConverter.class.getCanonicalName());
      JClassType[] types = JClassUtils.getActualParameterTypes(converterType, typeConverterType);
      bindInfoType = types[1];
    } else {
      bindInfoType = bindPathType;
    }

    // TODO validate conveter type and expression type here

    return "(" + getExpression.toString() + ")";
  }