public void addCreator(JDefinedClass jclass) { JClass creatorType = jclass.owner().directClass("android.os.Parcelable.Creator").narrow(jclass); JDefinedClass creatorClass = jclass.owner().anonymousClass(creatorType); addCreateFromParcel(jclass, creatorClass); addNewArray(jclass, creatorClass); JFieldVar creatorField = jclass.field(JMod.PUBLIC | JMod.STATIC | JMod.FINAL, creatorType, "CREATOR"); creatorField.init(JExpr._new(creatorClass)); }
public JDefinedClass anonymousClass(Class<?> baseType) { return anonymousClass(ref(baseType)); }
public JDefinedClass anonymousClass(Class<?> baseType) { return anonymousClass(ref(baseType)); }
public JDefinedClass anonymousClass(Class<?> baseType) { return anonymousClass(ref(baseType)); }
public JDefinedClass anonymousClass(Class<?> baseType) { return anonymousClass(ref(baseType)); }
public JDefinedClass anonymousClass(Class baseType) { return anonymousClass(ref(baseType)); }
@Override public JInvocation recreateAnnotation(AnnotationMirror annotationMirror) { JCodeModel codeModel = CodeModelTypes.CODE_MODEL; Class<?> annotationClass = classOf(annotationMirror.getAnnotationType()); JDefinedClass definedClass = codeModel.anonymousClass(annotationClass); Map<? extends ExecutableElement, ? extends AnnotationValue> values = elements.getElementValuesWithDefaults(annotationMirror); for (Map.Entry<? extends ExecutableElement, ? extends AnnotationValue> entry : values.entrySet()) { ExecutableElement executable = entry.getKey(); AnnotationValue value = entry.getValue(); JMethod definedMethod = definedClass.method( JMod.PUBLIC, codeModel.ref(executable.getReturnType().toString()), executable.getSimpleName().toString()); definedMethod.annotate(Override.class); if(value.getValue() instanceof List) { definedMethod.body()._return(JExpr.direct("new " + executable.getReturnType() + value.toString())); } else { definedMethod.body()._return(JExpr.direct(value.toString())); } } JMethod annotationType = definedClass.method( JMod.PUBLIC, codeModel.ref(Class.class).narrow(codeModel.ref(Annotation.class).wildcard()), "annotationType"); annotationType.annotate(Override.class); annotationType.body()._return(codeModel.ref(annotationClass).dotclass()); return JExpr._new(definedClass); }
public void addCreator(JDefinedClass jclass) { JClass creatorType = jclass.owner().directClass("android.os.Parcelable.Creator").narrow(jclass); JDefinedClass creatorClass = jclass.owner().anonymousClass(creatorType); addCreateFromParcel(jclass, creatorClass); addNewArray(jclass, creatorClass); JFieldVar creatorField = jclass.field(JMod.PUBLIC | JMod.STATIC | JMod.FINAL, creatorType, "CREATOR"); creatorField.init(JExpr._new(creatorClass)); }
public JMethod createCreateBeanMethod(final JDefinedClass bean) { final JMethod method = bean.method(JMod.PRIVATE | JMod.STATIC, bean, "_createBean"); final JVar classParameter = method.param( JMod.FINAL, _classByNames(java.lang.Class.class.getName(), MessageFormat.format("? extends {0}", bean.name())), "clazz"); final JBlock methodBody = method.body(); final JConditional ifBlock = methodBody ._if(_classByNames(System.class.getName()).staticInvoke("getSecurityManager").eq(JExpr._null())); add(bean, classParameter, ifBlock._then()._try()); final JDefinedClass anonymousClass = getCodeModel() .anonymousClass(_classByNames(PrivilegedAction.class.getName(), bean.name())); final JMethod anonymousClassMethod = anonymousClass.method(JMod.PUBLIC, bean, "run"); add(bean, classParameter, anonymousClassMethod.body()._try()); methodBody._return( _classByNames(AccessController.class.getName()).staticInvoke("doPrivileged").arg(JExpr._new(anonymousClass))); return method; }
JDefinedClass listenerAnonymousClass = codeModel.anonymousClass(classes.ON_LONG_CLICK_LISTENER); JMethod listenerMethod = listenerAnonymousClass.method(JMod.PUBLIC, codeModel.BOOLEAN, "onLongClick"); listenerMethod.annotate(Override.class);
@Override public void process(Element element, JCodeModel codeModel, EBeanHolder holder) { Classes classes = holder.classes(); String methodName = element.getSimpleName().toString(); ExecutableElement executableElement = (ExecutableElement) element; List<? extends VariableElement> parameters = executableElement.getParameters(); boolean hasViewParameter = parameters.size() == 1; List<JFieldRef> idsRefs = helper.extractAnnotationFieldRefs(holder, element, getTarget(), rClass.get(Res.ID), true); JDefinedClass onClickListenerClass = codeModel.anonymousClass(classes.VIEW_ON_CLICK_LISTENER); JMethod onClickMethod = onClickListenerClass.method(JMod.PUBLIC, codeModel.VOID, "onClick"); onClickMethod.annotate(Override.class); JVar onClickViewParam = onClickMethod.param(classes.VIEW, "view"); JExpression activityRef = holder.generatedClass.staticRef("this"); JInvocation clickCall = onClickMethod.body().invoke(activityRef, methodName); if (hasViewParameter) { clickCall.arg(onClickViewParam); } for (JFieldRef idRef : idsRefs) { JBlock block = holder.afterSetContentView.body().block(); JInvocation findViewById = invoke("findViewById"); JVar view = block.decl(classes.VIEW, "view", findViewById.arg(idRef)); block._if(view.ne(_null()))._then().invoke(view, "setOnClickListener").arg(_new(onClickListenerClass)); } }
JDefinedClass listenerClass = codeModel.anonymousClass(classes.ON_TOUCH_LISTENER); JMethod listenerMethod = listenerClass.method(JMod.PUBLIC, codeModel.BOOLEAN, "onTouch"); listenerMethod.annotate(Override.class);
JDefinedClass onItemLongClickListenerClass = codeModel.anonymousClass(classes.ON_ITEM_LONG_CLICK_LISTENER); JMethod onItemLongClickMethod = onItemLongClickListenerClass.method(JMod.PUBLIC, codeModel.BOOLEAN, "onItemLongClick"); onItemLongClickMethod.annotate(Override.class);
JDefinedClass onItemClickListenerAnonymousClass = codeModel.anonymousClass(classes.ON_ITEM_CLICK_LISTENER); JMethod onItemClickMethod = onItemClickListenerAnonymousClass.method(JMod.PUBLIC, codeModel.VOID, "onItemClick"); onItemClickMethod.annotate(Override.class);
JDefinedClass onItemSelectedListenerClass = codeModel.anonymousClass(classes.ON_ITEM_SELECTED_LISTENER); JMethod onItemSelectedMethod = onItemSelectedListenerClass.method(JMod.PUBLIC, codeModel.VOID, "onItemSelected"); onItemSelectedMethod.annotate(Override.class);
JClass seekBarClass = holder.classes().SEEKBAR; JDefinedClass onSeekbarChangeListenerClass = codeModel.anonymousClass(holder.classes().ON_SEEKBAR_CHANGE_LISTENER);
public JDefinedClass createDelegatingAnonymousRunnableClass(EBeanHolder holder, JMethod delegatedMethod) { JCodeModel codeModel = holder.codeModel(); Classes classes = holder.classes(); JDefinedClass anonymousRunnableClass; JBlock previousMethodBody = removeBody(delegatedMethod); anonymousRunnableClass = codeModel.anonymousClass(Runnable.class); JMethod runMethod = anonymousRunnableClass.method(JMod.PUBLIC, codeModel.VOID, "run"); runMethod.annotate(Override.class); JBlock runMethodBody = runMethod.body(); JTryBlock runTry = runMethodBody._try(); runTry.body().add(previousMethodBody); JCatchBlock runCatch = runTry._catch(classes.RUNTIME_EXCEPTION); JVar exceptionParam = runCatch.param("e"); JInvocation errorInvoke = classes.LOG.staticInvoke("e"); errorInvoke.arg(holder.generatedClass.name()); errorInvoke.arg("A runtime exception was thrown while executing code in a runnable"); errorInvoke.arg(exceptionParam); runCatch.body().add(errorInvoke); return anonymousRunnableClass; }
JClass charSequenceClass = holder.classes().CHAR_SEQUENCE; JDefinedClass onTextChangeListenerClass = codeModel.anonymousClass(holder.classes().TEXT_WATCHER);
final JDefinedClass anonymousMetaFieldType = outline.getCodeModel().anonymousClass(metaFieldType); generateAccessors(fieldOutline, propertyName, fieldType, anonymousMetaFieldType, getMaker, setMaker); final XSComponent schemaComponent = fieldOutline.getPropertyInfo().getSchemaComponent();
JDefinedClass jAnonClass = codeModel.anonymousClass(classes.DEFAULT_HTTP_CLIENT);