private void addFactoryMethod(JDefinedClass _enum, JType backingType) { JFieldVar quickLookupMap = addQuickLookupMap(_enum, backingType); JMethod fromValue = _enum.method(JMod.PUBLIC | JMod.STATIC, _enum, "fromValue"); JVar valueParam = fromValue.param(backingType, "value"); JBlock body = fromValue.body(); JVar constant = body.decl(_enum, "constant"); constant.init(quickLookupMap.invoke("get").arg(valueParam)); JConditional _if = body._if(constant.eq(JExpr._null())); JInvocation illegalArgumentException = JExpr._new(_enum.owner().ref(IllegalArgumentException.class)); JExpression expr = valueParam; // if string no need to add "" if(!isString(backingType)){ expr = expr.plus(JExpr.lit("")); } illegalArgumentException.arg(expr); _if._then()._throw(illegalArgumentException); _if._else()._return(constant); ruleFactory.getAnnotator().enumCreatorMethod(_enum, fromValue); }
body._if(otherObject._instanceof(jclass).eq(JExpr.FALSE))._then()._return(JExpr.FALSE); JVar rhsVar = body.decl(jclass, "rhs").init(JExpr.cast(jclass, otherObject));
private JVar declareSet(JCodeModel model, JBlock body, URI predicate, JType elementType, boolean initNull) { String name = predicate.getLocalName(); JClass arrayListType = model.ref(HashSet.class); arrayListType = arrayListType.narrow(elementType); JVar var = body.decl(arrayListType, name); if (initNull) { var.init(JExpr._null()); } else { var.init(JExpr._new(arrayListType)); } return var; }
public void setWriterDefaultNS(String writerDefaultNS) { if (writerDefaultNS == null) throw new NullPointerException("writerDefaultNS is null"); if (this.writerDefaultNS != null) throw new IllegalStateException("writerDefaultNS already set"); getWriterBuilder(); this.writerDefaultNS = writerDefaultNS; writerDefaultPrefix = writerBuilder.getMethod().body().decl(builderContext.toJClass(String.class), writerBuilder.getVariableManager().createId("prefix")); writerDefaultPrefix.init(writerBuilder.getXSW().invoke("getUniquePrefix").arg(writerDefaultNS)); }
public void setWriterDefaultNS(String writerDefaultNS) { if (writerDefaultNS == null) throw new NullPointerException("writerDefaultNS is null"); if (this.writerDefaultNS != null) throw new IllegalStateException("writerDefaultNS already set"); getWriterBuilder(); this.writerDefaultNS = writerDefaultNS; writerDefaultPrefix = writerBuilder.getMethod().body().decl(builderContext.toJClass(String.class), writerBuilder.getVariableManager().createId("prefix")); writerDefaultPrefix.init(writerBuilder.getXSW().invoke("getUniquePrefix").arg(writerDefaultNS)); }
/** * Adds call to injectFragmentArguments_() in onCreate and setIntent() * methods. */ private void injectFragmentArguments(EBeanHolder holder, JCodeModel codeModel) { Classes classes = holder.classes(); holder.fragmentArgumentsInjectMethod = holder.generatedClass.method(PRIVATE, codeModel.VOID, "injectFragmentArguments_"); injectArgumentsOnInit(holder, classes.INTENT, holder.fragmentArgumentsInjectMethod); JBlock injectArgumentsBody = holder.fragmentArgumentsInjectMethod.body(); holder.fragmentArguments = injectArgumentsBody.decl(classes.BUNDLE, "args_"); holder.fragmentArguments.init(invoke("getArguments")); holder.fragmentArgumentsNotNullBlock = injectArgumentsBody._if(holder.fragmentArguments.ne(_null()))._then(); }
/** * Adds call to injectExtras_() in onCreate and setIntent() methods. */ private void injectExtras(EBeanHolder holder, JCodeModel codeModel) { Classes classes = holder.classes(); JMethod injectExtrasMethod = holder.generatedClass.method(PRIVATE, codeModel.VOID, "injectExtras_"); overrideSetIntent(holder, codeModel, injectExtrasMethod); injectExtrasOnInit(holder, classes.INTENT, injectExtrasMethod); JBlock injectExtrasBody = injectExtrasMethod.body(); JVar intent = injectExtrasBody.decl(classes.INTENT, "intent_", invoke("getIntent")); holder.extras = injectExtrasBody.decl(classes.BUNDLE, "extras_"); holder.extras.init(intent.invoke("getExtras")); holder.extrasNotNullBlock = injectExtrasBody._if(holder.extras.ne(_null()))._then(); }
var = body.decl(type, predicate.getLocalName()).init(JExpr._null()); } else { Resource valueClass = p.getValueClass(); JClass elementType = model.ref(javaTypeName); if (isFunctional) { var = body.decl(elementType, predicate.getLocalName()).init(JExpr._null()); } else { var = declareSet(model, body, predicate, elementType, true);
private void handleTypeProperty(JCodeModel model, JBlock body, PropertyConstraint p, JVar objectVar, JVar jsonVar) { JClass uriType = model.ref(URI.class); Integer maxCount = p.getMaxCount(); if (maxCount!=null && maxCount==1) { JVar fieldValue = body.decl(uriType, "type").init(objectVar.invoke("getType")); body.add(jsonVar.invoke("writeStringField").arg(JExpr.lit("type")).arg(fieldValue.invoke("getLocalName"))); } else { JClass setClass = model.ref(Set.class); JClass uriSetClass = setClass.narrow(URI.class); JVar setVar = body.decl(uriSetClass, "type").init(objectVar.invoke("getAllTypes")); body.add(jsonVar.invoke("writeArrayFieldStart").arg(JExpr.lit("type"))); JForEach forEach = body.forEach(uriType, "typeId", setVar); JVar typeId = forEach.var(); forEach.body().add(jsonVar.invoke("writeString").arg(typeId.invoke("getLocalName"))); body.add(jsonVar.invoke("writeEndArray")); } }
private void addFactoryMethod(JsonNode node, JDefinedClass _enum) { JFieldVar quickLookupMap = addQuickLookupMap(_enum); JMethod fromValue = _enum.method(JMod.PUBLIC | JMod.STATIC, _enum, "fromValue"); JVar valueParam = fromValue.param(String.class, "value"); JBlock body = fromValue.body(); JVar constant = body.decl(_enum, "constant"); constant.init(quickLookupMap.invoke("get").arg(valueParam)); JConditional _if = body._if(constant.eq(JExpr._null())); JInvocation illegalArgumentException = JExpr._new(_enum.owner().ref(IllegalArgumentException.class)); illegalArgumentException.arg(valueParam); _if._then()._throw(illegalArgumentException); _if._else()._return(constant); ruleFactory.getAnnotator().enumCreatorMethod(fromValue); }
instanceField.init(JExpr._new(dc));
if (expected.getReadVar() != null) { JVar readVar = expected.getReadVar(); readVar.init(invocation); } else { readBlock.add(invocation);
private void addFactoryMethod(JDefinedClass _enum, JType backingType) { JFieldVar quickLookupMap = addQuickLookupMap(_enum, backingType); JMethod fromValue = _enum.method(JMod.PUBLIC | JMod.STATIC, _enum, "fromValue"); JVar valueParam = fromValue.param(backingType, "value"); JBlock body = fromValue.body(); JVar constant = body.decl(_enum, "constant"); constant.init(quickLookupMap.invoke("get").arg(valueParam)); JConditional _if = body._if(constant.eq(JExpr._null())); JInvocation illegalArgumentException = JExpr._new(_enum.owner().ref(IllegalArgumentException.class)); JExpression expr = valueParam; // if string no need to add "" if(!isString(backingType)){ expr = expr.plus(JExpr.lit("")); } illegalArgumentException.arg(expr); _if._then()._throw(illegalArgumentException); _if._else()._return(constant); ruleFactory.getAnnotator().enumCreatorMethod(_enum, fromValue); }
instanceField.init(JExpr._new(dc));
instanceField.init(JExpr._new(dc));
private JVar methodMetadataMapInit(JDefinedClass facadeClass, ActionSchemaArray resourceActions, ActionSchemaArray entityActions, JBlock staticInit) { // CreateMetadata (only for actions right now) final JClass MetadataMapClass = getCodeModel().ref(HashMap.class).narrow(_stringClass, getCodeModel().ref(DynamicRecordMetadata.class)); final JVar requestMetadataMap = staticInit.decl(MetadataMapClass, "requestMetadataMap").init(JExpr._new( MetadataMapClass)); final JClass fieldDefListClass = getCodeModel().ref(ArrayList.class).narrow(getCodeModel().ref(FieldDef.class).narrow( getCodeModel().ref(Object.class).wildcard())); // get all actions into a single ActionSchemaArray final int resourceActionsSize = resourceActions == null ? 0 : resourceActions.size(); final int entityActionsSize = entityActions == null ? 0 : entityActions.size(); final ActionSchemaArray allActionSchema = new ActionSchemaArray(resourceActionsSize + entityActionsSize); allActionSchema.addAll(resourceActions == null ? new ActionSchemaArray() : resourceActions); allActionSchema.addAll(entityActions == null ? new ActionSchemaArray() : entityActions); for (ActionSchema actionSchema : allActionSchema) { final String varName = actionSchema.getName() + "Params"; final JVar currMethodParams = staticInit.decl(fieldDefListClass, varName).init(JExpr._new(fieldDefListClass)); final ParameterSchemaArray parameters = actionSchema.getParameters(); for (ParameterSchema parameterSchema : parameters == null ? new ParameterSchemaArray() : parameters) { final JInvocation fieldDefParam = createFieldDef(parameterSchema.getName(), parameterSchema.getType(), facadeClass); staticInit.add(currMethodParams.invoke("add").arg(fieldDefParam)); } final String methodName = actionSchema.getName(); final JInvocation newSchema = createMetadata(methodName, currMethodParams); staticInit.add(requestMetadataMap.invoke("put").arg(methodName).arg(newSchema)); } return requestMetadataMap; }
private void withEquals() { JMethod equals = this.pojo.method(JMod.PUBLIC, boolean.class, "equals"); JVar otherObject = equals.param(Object.class, "other"); Class<?> equalsBuilderClass = org.apache.commons.lang3.builder.EqualsBuilder.class; if (!Config.getPojoConfig().isUseCommonsLang3()) { equalsBuilderClass = org.apache.commons.lang.builder.EqualsBuilder.class; } JBlock body = equals.body(); body._if(otherObject.eq(JExpr._null()))._then()._return(JExpr.FALSE); body._if(otherObject.eq(JExpr._this()))._then()._return(JExpr.TRUE); body._if(JExpr._this().invoke("getClass").ne(otherObject.invoke("getClass")))._then()._return(JExpr.FALSE); JVar otherObjectVar = body.decl(this.pojo, "otherObject").init(JExpr.cast(this.pojo, otherObject)); JClass equalsBuilderRef = this.pojo.owner().ref(equalsBuilderClass); JInvocation equalsBuilderInvocation = appendFieldsToEquals(getNonTransientAndNonStaticFields(), otherObjectVar, equalsBuilderRef); body._return(equalsBuilderInvocation.invoke("isEquals")); }
if (maxCount!=null && maxCount==1) { JVar fieldValue = body.decl(fieldType, fieldName).init( JExpr._this().invoke("value").arg(sourceVar.invoke(getterName)).arg(fieldType.staticRef("class")) ); JClass narrowSetClass = setClass.narrow(fieldType.wildcard()); JVar setVar = body.decl(narrowSetClass, fieldName + "Set").init(sourceVar.invoke(getterName)); body.add(jsonVar.invoke("writeArrayFieldStart").arg(JExpr.lit(fieldName)));
private JVar responseMetadataMapInit(JDefinedClass facadeClass, ActionSchemaArray resourceActions, ActionSchemaArray entityActions, JBlock staticInit) // lets work on this first... { final JClass MetadataMapClass = getCodeModel().ref(HashMap.class).narrow(_stringClass, getCodeModel().ref(DynamicRecordMetadata.class)); final JVar responseMetadataMap = staticInit.decl(MetadataMapClass, "responseMetadataMap").init(JExpr._new(MetadataMapClass)); // get all actions into a single ActionSchemaArray final int resourceActionsSize = resourceActions == null ? 0 : resourceActions.size(); final int entityActionsSize = entityActions == null ? 0 : entityActions.size(); final ActionSchemaArray allActionSchema = new ActionSchemaArray(resourceActionsSize + entityActionsSize); allActionSchema.addAll(resourceActions == null ? new ActionSchemaArray() : resourceActions); allActionSchema.addAll(entityActions == null ? new ActionSchemaArray() : entityActions); final String returnName = "value"; for (ActionSchema actionSchema : allActionSchema) { final String methodName = actionSchema.getName(); final JInvocation returnFieldDefs; if (actionSchema.hasReturns()) { final JInvocation returnFieldDef = createFieldDef(returnName, actionSchema.getReturns(), facadeClass); returnFieldDefs = getCodeModel().ref(Collections.class).staticInvoke("singletonList").arg(returnFieldDef); } else { returnFieldDefs = getCodeModel().ref(Collections.class).staticInvoke("<FieldDef<?>>emptyList"); } final JInvocation returnMetadata = createMetadata(methodName, returnFieldDefs); staticInit.add(responseMetadataMap.invoke("put").arg(methodName).arg(returnMetadata)); } return responseMetadataMap; }