com.sun.codemodel.JBlock.invoke()方法的使用及代码示例

x33g5p2x  于2022-01-21 转载在 其他  
字(8.9k)|赞(0)|评价(0)|浏览(120)

本文整理了Java中com.sun.codemodel.JBlock.invoke()方法的一些代码示例,展示了JBlock.invoke()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。JBlock.invoke()方法的具体详情如下:
包路径:com.sun.codemodel.JBlock
类名称:JBlock
方法名:invoke

JBlock.invoke介绍

[英]Creates an invocation statement and adds it to this block.
[中]

代码示例

代码示例来源:origin: joelittlejohn/jsonschema2pojo

private void addBuilder(JDefinedClass jclass, JType propertyType, JFieldVar field) {
  JMethod builder = jclass.method(JMod.PUBLIC, jclass, "withAdditionalProperty");
  JVar nameParam = builder.param(String.class, "name");
  JVar valueParam = builder.param(propertyType, "value");
  JBlock body = builder.body();
  JInvocation mapInvocation = body.invoke(JExpr._this().ref(field), "put");
  mapInvocation.arg(nameParam);
  mapInvocation.arg(valueParam);
  body._return(JExpr._this());
}

代码示例来源:origin: joelittlejohn/jsonschema2pojo

private void addSetProperty(JDefinedClass jclass, JBlock callSite, String propertyName, JType propertyType, JVar valueVar, JsonNode node) {
  JMethod propertySetter = jclass.getMethod(getSetterName(propertyName, node), new JType[] { propertyType });
  JConditional isInstance = callSite._if(valueVar._instanceof(propertyType.boxify().erasure()));
  isInstance._then()
  .invoke(propertySetter).arg(cast(propertyType.boxify(), valueVar));
  isInstance._else()
  ._throw(illegalArgumentInvocation(jclass, propertyName, propertyType, valueVar));
}

代码示例来源:origin: e-biz/androidkickstartr

private void createConfigureActionBar() {
  if (appDetails.isActionBarSherlock() && (appDetails.isListNavigation() || appDetails.isTabNavigation())) {
    JMethod configureActionBar = jClass.method(JMod.PRIVATE, jCodeModel.VOID, "configureActionBar");
    JBlock configureActionBarBody = configureActionBar.body();
    // LIST NAVIGATION
    if (appDetails.isListNavigation()) {
      addListNavigationConfiguration(configureActionBarBody);
    }
    // TAB NAVIGATION
    if (appDetails.isTabNavigation()) {
      addTabNavigationConfiguration(configureActionBarBody);
    }
    afterViewsBody.invoke(configureActionBar);
  }
}

代码示例来源:origin: joelittlejohn/jsonschema2pojo

private void addSetter(JDefinedClass jclass, JType propertyType, JFieldVar field) {
  JMethod setter = jclass.method(JMod.PUBLIC, void.class, "setAdditionalProperty");
  ruleFactory.getAnnotator().anySetter(setter, jclass);
  JVar nameParam = setter.param(String.class, "name");
  JVar valueParam = setter.param(propertyType, "value");
  JInvocation mapInvocation = setter.body().invoke(JExpr._this().ref(field), "put");
  mapInvocation.arg(nameParam);
  mapInvocation.arg(valueParam);
}

代码示例来源:origin: joelittlejohn/jsonschema2pojo

private JFieldVar addQuickLookupMap(JDefinedClass _enum, JType backingType) {
  JClass lookupType = _enum.owner().ref(Map.class).narrow(backingType.boxify(), _enum);
  JFieldVar lookupMap = _enum.field(JMod.PRIVATE | JMod.STATIC | JMod.FINAL, lookupType, "CONSTANTS");
  JClass lookupImplType = _enum.owner().ref(HashMap.class).narrow(backingType.boxify(), _enum);
  lookupMap.init(JExpr._new(lookupImplType));
  JForEach forEach = _enum.init().forEach(_enum, "c", JExpr.invoke("values"));
  JInvocation put = forEach.body().invoke(lookupMap, "put");
  put.arg(forEach.var().ref("value"));
  put.arg(forEach.var());
  return lookupMap;
}

代码示例来源:origin: com.googlecode.androidannotations/androidannotations

@Override
public void process(Element element, JCodeModel codeModel, EBeanHolder holder) {
  String methodName = element.getSimpleName().toString();
  holder.init.body().invoke(methodName);
}

代码示例来源:origin: joelittlejohn/jsonschema2pojo

public void addWriteToParcel(JDefinedClass jclass) {
  JMethod method = jclass.method(JMod.PUBLIC, void.class, "writeToParcel");
  JVar dest = method.param(jclass.owner().directClass("android.os.Parcel"), "dest");
  method.param(int.class, "flags");
  // Call super.writeToParcel
  if (extendsParcelable(jclass)) {
    method.body().directStatement("super.writeToParcel(dest, flags);");
  }
  for (JFieldVar f : jclass.fields().values()) {
    if( (f.mods().getValue() & JMod.STATIC) == JMod.STATIC ) {
      continue;
    }
    if (f.type().erasure().name().equals("List")) {
      method.body().invoke(dest, "writeList").arg(f);
    } else {
      method.body().invoke(dest, "writeValue").arg(f);
    }
  }
}

代码示例来源:origin: javaee/glassfish

void pack(JBlock block, JExpression item, JExpression sourceValue) {
  // [RESULT]
  // x.add(<rhs>);
  block.invoke($list,"add").arg(item);
}

代码示例来源:origin: com.googlecode.androidannotations/androidannotations

@Override
public void process(Element element, JCodeModel codeModel, EBeanHolder holder) {
  String methodName = element.getSimpleName().toString();
  holder.afterSetContentView.body().invoke(methodName);
}

代码示例来源:origin: joelittlejohn/jsonschema2pojo

JBlock constructorBody = fieldsConstructor.body();
JInvocation superInvocation = constructorBody.invoke("super");
  superInvocation.arg(param);

代码示例来源:origin: javaee/glassfish

void assign(JVar $target, JBlock block, JExpression rhs) {
    block.invoke($target, method.getSimpleName().toString()).arg(rhs);
  }
}

代码示例来源:origin: com.googlecode.androidannotations/androidannotations

private void afterSetContentView(JCodeModel codeModel, EBeanHolder holder, JFieldVar scope, JFieldVar eventManager) {
  JBlock afterSetContentViewBody = holder.afterSetContentView.body();
  afterSetContentViewBody.invoke(scope, "injectViews");
  fireEvent(holder, eventManager, afterSetContentViewBody, holder.classes().ON_CONTENT_VIEW_AVAILABLE_EVENT);
}

代码示例来源:origin: joelittlejohn/jsonschema2pojo

private void addOverrideBuilder(JDefinedClass thisJDefinedClass, JMethod parentBuilder, JVar parentParam) {

    if (thisJDefinedClass.getMethod(parentBuilder.name(), new JType[] {parentParam.type()}) == null) {

      JMethod builder = thisJDefinedClass.method(parentBuilder.mods().getValue(), thisJDefinedClass, parentBuilder.name());
      builder.annotate(Override.class);

      JVar param = builder.param(parentParam.type(), parentParam.name());
      JBlock body = builder.body();
      body.invoke(JExpr._super(), parentBuilder).arg(param);
      body._return(JExpr._this());

    }
  }
}

代码示例来源:origin: javaee/glassfish

void pack(JBlock block, JExpression item, JExpression itemDom) {
  // [RESULT]
  // x.put(dom.getKey(),<rhs>);
  block.invoke($map,"put").arg(itemDom.invoke("getKey")).arg(item);
}

代码示例来源:origin: Evolveum/midpoint

private JMethod createDefaultConstructor(JDefinedClass definedClass) {
  JMethod constructor = definedClass.constructor(JMod.PUBLIC);
  constructor.body().invoke("super").invoke("aaa");
  return constructor;
}

代码示例来源:origin: joelittlejohn/jsonschema2pojo

public void addConstructorFromParcel(JDefinedClass jclass) {
  JMethod ctorFromParcel = jclass.constructor(JMod.PROTECTED);
  JVar in = ctorFromParcel.param(jclass.owner().directClass("android.os.Parcel"), "in");
  if (extendsParcelable(jclass)) {
    ctorFromParcel.body().directStatement("super(in);");
  }
  for (JFieldVar f : jclass.fields().values()) {
    if( (f.mods().getValue() & JMod.STATIC) == JMod.STATIC ) {
      continue;
    }
    if (f.type().erasure().name().equals("List")) {
      ctorFromParcel.body()
          .invoke(in, "readList")
          .arg(JExpr._this().ref(f))
          .arg(JExpr.direct(getListType(f.type()) + ".class.getClassLoader()"));
     } else {
      ctorFromParcel.body().assign(
          JExpr._this().ref(f),
          JExpr.cast(
              f.type(),
              in.invoke("readValue").arg(JExpr.direct(f.type().erasure().name() + ".class.getClassLoader()"))
          )
      );
    }
  }
}

代码示例来源:origin: e-biz/androidkickstartr

private void extractArguments(JFieldVar labelTextField, JBlock methodBody) {
  // Bundle bundle = getArguments();
  JVar bundleVar = methodBody.decl(ref.bundle(), "bundle", JExpr.invoke("getArguments"));
  // String label = bundle.getString("label");
  JVar labelVar = methodBody.decl(ref.string(), "label", bundleVar.invoke("getString").arg("label"));
  // labelText.setText(label);
  methodBody.invoke(labelTextField, "setText").arg(labelVar);
}

代码示例来源:origin: phoenixnap/springmvc-raml-plugin

private void withDefaultConstructor(String className) {
  // Create default constructor
  JMethod constructor = this.pojo.constructor(JMod.PUBLIC);
  constructor.javadoc().add("Creates a new " + className + ".");
  JBlock defaultConstructorBody = constructor.body();
  defaultConstructorBody.invoke("super");
}

代码示例来源:origin: javaee/glassfish

MethodGenerator(String methodNamePrefix, JMethod reinjectionMethod, Property p, String xmlName) {
  this.xmlName = p.inferName(xmlName);
  this.p = p;
  if(generateNoopConfigInjector) {
    body = null;
    $dom = null;
    $target = null;
  } else {
    JMethod m = injector.method(JMod.PUBLIC,void.class, methodNamePrefix+p.seedName());
    $dom = m.param(Dom.class,"dom");
    $target = m.param(targetType,"target");
    body = m.body();
    injectMethod.body().invoke(m).arg($dom).arg($target);
    reinjectionMethod.body()._if(JExpr.lit(this.xmlName).invoke("equals").arg(JExpr.ref("name")))
      ._then().invoke(m).arg($dom).arg($target);
  }
  erasure = erasure(p.type());
  packer = createPacker(p.type(),erasure);
  itemType = packer==null ? erasure : erasure(packer.itemType());
}

代码示例来源:origin: org.jvnet.hyperjaxb3/hyperjaxb3-ejb-plugin

public final void fromRawValue(JBlock block, String uniqueName,
      JExpression $var) {
    block.invoke($target, setter).arg($var);
  }
}

相关文章