Macro de Substituição

Gostaria de saber como fazer Macro de Substituição em Java como em Clipper?

Por Exemplo
String a = “Base”

String cQuestao = “a.equals(‘Base’) ? 10 : 20”;

int nResultado = Macro(cQuestao);

System.out.println( nResultado );

Print: >>>>>>> 10

Estou precisando urgente dessa rotina

A Macro de Substituição interpreta o valor de uma variavel e não simplesmente tráz o que nela está alocado.

ME AJUDEM ---- POR FAVOR!!!

Grato…

Isso não existe built-in na linguagem. Dependendo de sua necessidade, dá pra contornar usando Reflection. Acho que usando os recentes recursos de compilação, poderia ser possível fazer algo do tipo, mas não tenho certeza.

Você pode usar um mecanismo de script para isso.

No Java 6, isso já é nativo (http://www.ociweb.com/jnb/jnbFeb2006.html). Se você precisar usar uma versão anterior, dá uma olhada no Bean Scripting Framework do Apache (http://jakarta.apache.org/bsf).

Basicamente, você tem que disponibilizar as variáveis que você deseja para o “engine” com chamadas ao método put e depois chamar o método eval para receber o resultado da expressão, calculada com a substituição dos valores das variáveis, igual ao Clipper.