Search in sources :

Example 6 with BundleHelper

use of org.androidannotations.helper.BundleHelper in project androidannotations by androidannotations.

the class ExtraParameterHandler method getExtraValue.

public IJExpression getExtraValue(VariableElement parameter, JVar extras, JBlock block, JMethod annotatedMethod, JDefinedClass generatedClass) {
    String parameterName = parameter.getSimpleName().toString();
    AbstractJClass parameterClass = codeModelHelper.typeMirrorToJClass(parameter.asType());
    String extraKey = getAnnotationValue(parameter);
    if (extraKey == null || extraKey.isEmpty()) {
        extraKey = parameterName;
    }
    BundleHelper bundleHelper = new BundleHelper(getEnvironment(), parameter.asType());
    IJExpression restoreMethodCall = bundleHelper.getExpressionToRestoreFromBundle(parameterClass, extras, getStaticExtraField(generatedClass, extraKey), annotatedMethod);
    return block.decl(parameterClass, parameterName, restoreMethodCall);
}
Also used : IJExpression(com.helger.jcodemodel.IJExpression) AbstractJClass(com.helger.jcodemodel.AbstractJClass) BundleHelper(org.androidannotations.helper.BundleHelper)

Aggregations

AbstractJClass (com.helger.jcodemodel.AbstractJClass)6 BundleHelper (org.androidannotations.helper.BundleHelper)6 IJExpression (com.helger.jcodemodel.IJExpression)5 JMethod (com.helger.jcodemodel.JMethod)5 JVar (com.helger.jcodemodel.JVar)5 JFieldVar (com.helger.jcodemodel.JFieldVar)4 TypeMirror (javax.lang.model.type.TypeMirror)4 JBlock (com.helger.jcodemodel.JBlock)3 JFieldRef (com.helger.jcodemodel.JFieldRef)2 JConditional (com.helger.jcodemodel.JConditional)1 JDefinedClass (com.helger.jcodemodel.JDefinedClass)1 JInvocation (com.helger.jcodemodel.JInvocation)1 VariableElement (javax.lang.model.element.VariableElement)1 IntentBuilder (org.androidannotations.internal.core.helper.IntentBuilder)1