2013-05-27 2 views
0

У меня есть следующий код, но я не пытаюсь использовать метод direct().сравнить два объекта с кодомModel

JExpression jx = JExpr.direct("java.lang.Thread.currentThread() == android.os.Looper.getMainLooper().getThread()"); 

Я пытался найти документацию по использованию _if() я смог получить несколько простых, чтобы работать, но я не знаю, как заставить его генерировать что-то подобное, не используя прямой(). Кто-нибудь знает, как это сделать или знает хорошее место, которое показывает некоторые примеры? Я пробовал добычу через javadocs, но не нашел ничего хорошего.

ответ

0

Извините за отсроченный ответ,

При генерации коды вам нужно иметь ссылки на классах, такие как

java.lang.Thread 
    android.os.Looper 

JCodeModel programContext = new JCodeModel(); 

JExpression ifConditionExpression = JExpr.(programContext.ref(java.lang.Thread).staticInvoke("currentThread").eq(programContext.ref(android.os.Looper).staticInvoke("getMainLooper").invoke("getThread"))) 

Теперь использовать это выражение, как будто выражение().

Надеюсь, вы решите эту проблему.

Смежные вопросы