JTryBlock udfInitTry = sub._try(); udfInitTry.body().assign( workspaceJVars[0],
JTryBlock udfEvalTry = sub._try(); udfEvalTry.body().assign(retVal, workspaceJVars[1].invoke("evaluate").arg(workspaceJVars[3]));
JClass annotatedType = jcmSource.ref(Class.class); JInvocation m = annotatedType.staticInvoke("forName"); m.arg(fa.getAnnotated().toString()); JFieldVar field = sourceClass.field( JMod.PRIVATE | JMod.STATIC, annotatedType, "c"); JBlock staticInit = sourceClass.init(); JTryBlock tb = staticInit._try(); JBlock jbtb = tb.body(); jbtb.assign(field, m); tb._catch(jcmSource.ref(ClassNotFoundException.class));
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; }
public <T> T wrapException(JBlock block, List<ASTType> throwsTypes, BlockWriter<T> blockWriter) throws JClassAlreadyExistsException { JTryBlock tryBlock = null; JBlock writeBlock = block; if (throwsTypes.size() > 0) { tryBlock = block._try(); writeBlock = tryBlock.body(); } T output = blockWriter.write(writeBlock); if (tryBlock != null) { for (ASTType throwsType : throwsTypes) { JCatchBlock catchBlock = tryBlock._catch(generationUtil.ref(throwsType)); JVar exceptionParam = catchBlock.param("e"); catchBlock.body()._throw(JExpr._new(generationUtil.ref(TransfuseInjectionException.class)) .arg(JExpr.lit(throwsType.getName() + " while performing dependency injection")) .arg(exceptionParam)); } } return output; }
private void onStopMethod(JCodeModel codeModel, EBeanHolder holder, JFieldVar scope, JFieldVar eventManager) { JMethod method = holder.generatedClass.method(JMod.PUBLIC, codeModel.VOID, "onStop"); method.annotate(Override.class); JBlock body = method.body(); body.invoke(scope, "enter").arg(_this()); JTryBlock tryBlock = body._try(); fireEvent(holder, eventManager, tryBlock.body(), holder.classes().ON_STOP_EVENT); JBlock finallyBody = tryBlock._finally(); finallyBody.invoke(scope, "exit").arg(_this()); finallyBody.invoke(_super(), method); }
public JFieldVar getDatatypeFactory() { if (datatypeFactory == null) { datatypeFactory = jaxbObjectClass.field(JMod.PRIVATE | JMod.FINAL, builderContext.toJClass(DatatypeFactory.class), fieldManager.createId("datatypeFactory")); // add code to constructor which initializes the static dtFactory field JTryBlock tryBlock = constructor.body()._try(); tryBlock.body().assign(datatypeFactory, builderContext.toJClass(DatatypeFactory.class).staticInvoke("newInstance")); JCatchBlock catchBlock = tryBlock._catch((builderContext.toJClass(DatatypeConfigurationException.class))); catchBlock.body()._throw(JExpr._new(builderContext.toJClass(RuntimeException.class)).arg("Unable to initialize DatatypeFactory").arg(catchBlock.param("e"))); } return datatypeFactory; }
public JFieldVar getDatatypeFactory() { if (datatypeFactory == null) { datatypeFactory = jaxbObjectClass.field(JMod.PRIVATE | JMod.STATIC | JMod.FINAL, builderContext.toJClass(DatatypeFactory.class), fieldManager.createId("datatypeFactory")); // add code to constructor which initializes the static dtFactory field JTryBlock tryBlock = jaxbObjectClass.init()._try(); tryBlock.body().assign(datatypeFactory, builderContext.toJClass(DatatypeFactory.class).staticInvoke("newInstance")); JCatchBlock catchBlock = tryBlock._catch((builderContext.toJClass(DatatypeConfigurationException.class))); catchBlock.body()._throw(JExpr._new(builderContext.toJClass(RuntimeException.class)).arg("Unable to initialize DatatypeFactory").arg(catchBlock.param("e"))); } return datatypeFactory; }
private void onDestroyMethod(JCodeModel codeModel, EBeanHolder holder, JFieldVar scope, JFieldVar eventManager) { JMethod method = holder.generatedClass.method(JMod.PUBLIC, codeModel.VOID, "onDestroy"); method.annotate(Override.class); JBlock body = method.body(); body.invoke(scope, "enter").arg(_this()); JTryBlock tryBlock = body._try(); fireEvent(holder, eventManager, tryBlock.body(), holder.classes().ON_DESTROY_EVENT); JBlock finallyBody = tryBlock._finally(); finallyBody.invoke(eventManager, "clear").arg(_this()); finallyBody.invoke(scope, "exit").arg(_this()); finallyBody.invoke(scope, "dispose").arg(_this()); finallyBody.invoke(_super(), method); }
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; }
private void writeAbsWSDLLocation(JDefinedClass cls, JFieldVar urlField, JFieldVar exField) { JBlock staticBlock = cls.init(); JVar urlVar = staticBlock.decl(cm.ref(URL.class), "url", JExpr._null()); JVar exVar = staticBlock.decl(cm.ref(WebServiceException.class), "e", JExpr._null()); JTryBlock tryBlock = staticBlock._try(); tryBlock.body().assign(urlVar, JExpr._new(cm.ref(URL.class)).arg(wsdlLocation)); JCatchBlock catchBlock = tryBlock._catch(cm.ref(MalformedURLException.class)); catchBlock.param("ex"); catchBlock.body().assign(exVar, JExpr._new(cm.ref(WebServiceException.class)).arg(JExpr.ref("ex"))); staticBlock.assign(urlField, urlVar); staticBlock.assign(exField, exVar); }
private void onActivityResultMethod(JCodeModel codeModel, EBeanHolder holder, JFieldVar scope, JFieldVar eventManager) { JMethod method = holder.generatedClass.method(JMod.PUBLIC, codeModel.VOID, "onActivityResult"); method.annotate(Override.class); JVar requestCode = method.param(codeModel.INT, "requestCode"); JVar resultCode = method.param(codeModel.INT, "resultCode"); JVar data = method.param(holder.classes().INTENT, "data"); JBlock body = method.body(); body.invoke(_super(), method).arg(requestCode).arg(resultCode).arg(data); body.invoke(scope, "enter").arg(_this()); JTryBlock tryBlock = body._try(); fireEvent(holder, eventManager, tryBlock.body(), holder.classes().ON_ACTIVITY_RESULT_EVENT, requestCode, resultCode, data); JBlock finallyBody = tryBlock._finally(); finallyBody.invoke(scope, "exit").arg(_this()); }
private void writeAbsWSDLLocation(JDefinedClass cls, JFieldVar urlField, JFieldVar exField) { JBlock staticBlock = cls.init(); JVar urlVar = staticBlock.decl(cm.ref(URL.class), "url", JExpr._null()); JVar exVar = staticBlock.decl(cm.ref(WebServiceException.class), "e", JExpr._null()); JTryBlock tryBlock = staticBlock._try(); tryBlock.body().assign(urlVar, JExpr._new(cm.ref(URL.class)).arg(wsdlLocation)); JCatchBlock catchBlock = tryBlock._catch(cm.ref(MalformedURLException.class)); catchBlock.param("ex"); catchBlock.body().assign(exVar, JExpr._new(cm.ref(WebServiceException.class)).arg(JExpr.ref("ex"))); staticBlock.assign(urlField, urlVar); staticBlock.assign(exField, exVar); }
private void writeAbsWSDLLocation(JDefinedClass cls, JFieldVar urlField, JFieldVar exField) { JBlock staticBlock = cls.init(); JVar urlVar = staticBlock.decl(cm.ref(URL.class), "url", JExpr._null()); JVar exVar = staticBlock.decl(cm.ref(WebServiceException.class), "e", JExpr._null()); JTryBlock tryBlock = staticBlock._try(); tryBlock.body().assign(urlVar, JExpr._new(cm.ref(URL.class)).arg(wsdlLocation)); JCatchBlock catchBlock = tryBlock._catch(cm.ref(MalformedURLException.class)); catchBlock.param("ex"); catchBlock.body().assign(exVar, JExpr._new(cm.ref(WebServiceException.class)).arg(JExpr.ref("ex"))); staticBlock.assign(urlField, urlVar); staticBlock.assign(exField, exVar); }
private void writeAbsWSDLLocation(JDefinedClass cls, JFieldVar urlField, JFieldVar exField) { JBlock staticBlock = cls.init(); JVar urlVar = staticBlock.decl(cm.ref(URL.class), "url", JExpr._null()); JVar exVar = staticBlock.decl(cm.ref(WebServiceException.class), "e", JExpr._null()); JTryBlock tryBlock = staticBlock._try(); tryBlock.body().assign(urlVar, JExpr._new(cm.ref(URL.class)).arg(wsdlLocation)); JCatchBlock catchBlock = tryBlock._catch(cm.ref(MalformedURLException.class)); catchBlock.param("ex"); catchBlock.body().assign(exVar, JExpr._new(cm.ref(WebServiceException.class)).arg(JExpr.ref("ex"))); staticBlock.assign(urlField, urlVar); staticBlock.assign(exField, exVar); }
private void writeClassLoaderBaseResourceWSDLLocation(String className, JDefinedClass cls, JFieldVar urlField, JFieldVar exField) { JBlock staticBlock = cls.init(); JVar exVar = staticBlock.decl(cm.ref(WebServiceException.class), "e", JExpr._null()); JVar urlVar = staticBlock.decl(cm.ref(URL.class), "url", JExpr._null()); JTryBlock tryBlock = staticBlock._try(); tryBlock.body().assign(urlVar, JExpr._new(cm.ref(URL.class)).arg(JExpr.dotclass(cm.ref(className)).invoke("getResource").arg(".")).arg(wsdlLocation)); JCatchBlock catchBlock = tryBlock._catch(cm.ref(MalformedURLException.class)); JVar murlVar = catchBlock.param("murl"); catchBlock.body().assign(exVar, JExpr._new(cm.ref(WebServiceException.class)).arg(murlVar)); staticBlock.assign(urlField, urlVar); staticBlock.assign(exField, exVar); }
private void writeClassLoaderBaseResourceWSDLLocation(String className, JDefinedClass cls, JFieldVar urlField, JFieldVar exField) { JBlock staticBlock = cls.init(); JVar exVar = staticBlock.decl(cm.ref(WebServiceException.class), "e", JExpr._null()); JVar urlVar = staticBlock.decl(cm.ref(URL.class), "url", JExpr._null()); JTryBlock tryBlock = staticBlock._try(); tryBlock.body().assign(urlVar, JExpr._new(cm.ref(URL.class)).arg(JExpr.dotclass(cm.ref(className)).invoke("getResource").arg(".")).arg(wsdlLocation)); JCatchBlock catchBlock = tryBlock._catch(cm.ref(MalformedURLException.class)); JVar murlVar = catchBlock.param("murl"); catchBlock.body().assign(exVar, JExpr._new(cm.ref(WebServiceException.class)).arg(murlVar)); staticBlock.assign(urlField, urlVar); staticBlock.assign(exField, exVar); }
private void writeClassLoaderBaseResourceWSDLLocation(String className, JDefinedClass cls, JFieldVar urlField, JFieldVar exField) { JBlock staticBlock = cls.init(); JVar exVar = staticBlock.decl(cm.ref(WebServiceException.class), "e", JExpr._null()); JVar urlVar = staticBlock.decl(cm.ref(URL.class), "url", JExpr._null()); JTryBlock tryBlock = staticBlock._try(); tryBlock.body().assign(urlVar, JExpr._new(cm.ref(URL.class)).arg(JExpr.dotclass(cm.ref(className)).invoke("getResource").arg(".")).arg(wsdlLocation)); JCatchBlock catchBlock = tryBlock._catch(cm.ref(MalformedURLException.class)); JVar murlVar = catchBlock.param("murl"); catchBlock.body().assign(exVar, JExpr._new(cm.ref(WebServiceException.class)).arg(murlVar)); staticBlock.assign(urlField, urlVar); staticBlock.assign(exField, exVar); }
private void writeClassLoaderBaseResourceWSDLLocation(String className, JDefinedClass cls, JFieldVar urlField, JFieldVar exField) { JBlock staticBlock = cls.init(); JVar exVar = staticBlock.decl(cm.ref(WebServiceException.class), "e", JExpr._null()); JVar urlVar = staticBlock.decl(cm.ref(URL.class), "url", JExpr._null()); JTryBlock tryBlock = staticBlock._try(); tryBlock.body().assign(urlVar, JExpr._new(cm.ref(URL.class)).arg(JExpr.dotclass(cm.ref(className)).invoke("getResource").arg(".")).arg(wsdlLocation)); JCatchBlock catchBlock = tryBlock._catch(cm.ref(MalformedURLException.class)); JVar murlVar = catchBlock.param("murl"); catchBlock.body().assign(exVar, JExpr._new(cm.ref(WebServiceException.class)).arg(murlVar)); staticBlock.assign(urlField, urlVar); staticBlock.assign(exField, exVar); }
private <T extends JExpression> T writeAdapterConversion(JAXBObjectBuilder builder, JBlock block, Property property, T propertyVar) { if (property.getAdapterType() != null) { JVar adapterVar = builder.getAdapter(property.getAdapterType()); JVar valueVar = block.decl(context.toJClass(property.getComponentAdaptedType()), builder.getWriteVariableManager().createId(property.getName()), JExpr._null()); JTryBlock tryBlock = block._try(); tryBlock.body().assign(valueVar, adapterVar.invoke("marshal").arg(propertyVar)); JCatchBlock catchException = tryBlock._catch(context.toJClass(Exception.class)); JBlock catchBody = catchException.body(); catchBody.invoke(builder.getReadContextVar(), "xmlAdapterError") .arg(builder.getWriteObject()) .arg(property.getName()) .arg(context.dotclass(property.getAdapterType())) .arg(context.dotclass(toClass(property.getType()))) // currently we only support conversion between same type .arg(context.dotclass(toClass(property.getType()))) .arg(catchException.param("e")); //noinspection unchecked propertyVar = (T) valueVar; } return propertyVar; }