@Override public void assignValue(JBlock targetBlock, IJAssignmentTarget fieldRef, EComponentWithViewSupportHolder holder, Element element, Element param) { TypeMirror elementType = param.asType(); String typeQualifiedName = elementType.toString(); TypeElement nativeFragmentElement = annotationHelper.typeElementFromQualifiedName(CanonicalNameConstants.FRAGMENT); boolean isNativeFragment = nativeFragmentElement != null && annotationHelper.isSubtype(elementType, nativeFragmentElement.asType()); String fieldName = element.getSimpleName().toString(); if (holder instanceof EFragmentHolder) { boolean childFragment = annotationHelper.extractAnnotationParameter(element, "childFragment"); String fragmentManagerGetter = childFragment ? "getChildFragmentManager" : "getFragmentManager"; targetBlock.add(fieldRef.assign(cast(getJClass(typeQualifiedName), invoke(fragmentManagerGetter).invoke(findFragmentMethodName).arg(getFragmentId(element, fieldName))))); } else { JMethod findFragmentMethod = getFindFragmentMethod(isNativeFragment, holder); targetBlock.add(fieldRef.assign(cast(getJClass(typeQualifiedName), invoke(findFragmentMethod).arg(getFragmentId(element, fieldName))))); } }
value = annotationHelper.extractAnnotationParameter(method, annotationClass.getName(), "value"); keyResId = annotationHelper.extractAnnotationParameter(method, annotationClass.getName(), "keyRes");
@Override public void assignValue(JBlock targetBlock, IJAssignmentTarget fieldRef, EComponentHolder holder, Element element, Element param) { OrmLiteHolder ormLiteHolder = holder.getPluginHolder(new OrmLiteHolder(holder)); AbstractJClass modelClass = getJClass(ormLiteHelper.getEntityType(param).toString()); AbstractJClass idClass = getJClass(ormLiteHelper.getEntityIdType(param).toString()); IJExpression modelClassDotClass = modelClass.dotclass(); AbstractJClass daoClass = getJClass(OrmLiteClasses.DAO).narrow(modelClass, idClass); AbstractJClass daoImplClass = codeModelHelper.typeMirrorToJClass(param.asType()); TypeMirror databaseHelperTypeMirror = annotationHelper.extractAnnotationParameter(element, "helper"); JFieldVar databaseHelperRef = ormLiteHolder.getDatabaseHelperRef(databaseHelperTypeMirror); IJExpression injectExpr = databaseHelperRef.invoke("getDao").arg(modelClassDotClass); if (elementExtendsRuntimeExceptionDao(param)) { injectExpr = _new(daoImplClass).arg(cast(daoClass, injectExpr)); } JTryBlock tryBlock = targetBlock._try(); tryBlock.body().add(fieldRef.assign(injectExpr)); JCatchBlock catchBlock = tryBlock._catch(getClasses().SQL_EXCEPTION); JVar exception = catchBlock.param("e"); String fieldName = param.getSimpleName().toString(); catchBlock.body() // .staticInvoke(getClasses().LOG, "e") // .arg(logTagForClassHolder(holder))// .arg("Could not create DAO " + fieldName) // .arg(exception); }
@Override public void assignValue(JBlock targetBlock, IJAssignmentTarget fieldRef, EComponentWithViewSupportHolder holder, Element element, Element param) { TypeMirror elementType = param.asType(); String typeQualifiedName = elementType.toString(); TypeElement nativeFragmentElement = annotationHelper.typeElementFromQualifiedName(CanonicalNameConstants.FRAGMENT); boolean isNativeFragment = nativeFragmentElement != null && annotationHelper.isSubtype(elementType, nativeFragmentElement.asType()); String fieldName = element.getSimpleName().toString(); if (holder instanceof EFragmentHolder) { boolean childFragment = annotationHelper.extractAnnotationParameter(element, "childFragment"); String fragmentManagerGetter = childFragment ? "getChildFragmentManager" : "getFragmentManager"; targetBlock.add(fieldRef.assign(cast(getJClass(typeQualifiedName), invoke(fragmentManagerGetter).invoke(findFragmentMethodName).arg(getFragmentId(element, fieldName))))); } else { JMethod findFragmentMethod = getFindFragmentMethod(isNativeFragment, holder); targetBlock.add(fieldRef.assign(cast(getJClass(typeQualifiedName), invoke(findFragmentMethod).arg(getFragmentId(element, fieldName))))); } }
value = annotationHelper.extractAnnotationParameter(method, annotationClass.getName(), "value"); keyResId = annotationHelper.extractAnnotationParameter(method, annotationClass.getName(), "keyRes");