com.github.javaparser.ast.expr.ThisExpr Java Examples
The following examples show how to use
com.github.javaparser.ast.expr.ThisExpr.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: ProcessGenerator.java From kogito-runtimes with Apache License 2.0 | 6 votes |
private MethodDeclaration createInstanceMethod(String processInstanceFQCN) { MethodDeclaration methodDeclaration = new MethodDeclaration(); ReturnStmt returnStmt = new ReturnStmt( new ObjectCreationExpr() .setType(processInstanceFQCN) .setArguments(NodeList.nodeList( new ThisExpr(), new NameExpr("value"), createProcessRuntime()))); methodDeclaration.setName("createInstance") .addModifier(Modifier.Keyword.PUBLIC) .addParameter(modelTypeName, "value") .setType(processInstanceFQCN) .setBody(new BlockStmt() .addStatement(returnStmt)); return methodDeclaration; }
Example #2
Source File: ProcessGenerator.java From kogito-runtimes with Apache License 2.0 | 6 votes |
private MethodDeclaration createInstanceWithBusinessKeyMethod(String processInstanceFQCN) { MethodDeclaration methodDeclaration = new MethodDeclaration(); ReturnStmt returnStmt = new ReturnStmt( new ObjectCreationExpr() .setType(processInstanceFQCN) .setArguments(NodeList.nodeList( new ThisExpr(), new NameExpr("value"), new NameExpr(BUSINESS_KEY), createProcessRuntime()))); methodDeclaration.setName("createInstance") .addModifier(Modifier.Keyword.PUBLIC) .addParameter(String.class.getCanonicalName(), BUSINESS_KEY) .addParameter(modelTypeName, "value") .setType(processInstanceFQCN) .setBody(new BlockStmt() .addStatement(returnStmt)); return methodDeclaration; }
Example #3
Source File: ProcessGenerator.java From kogito-runtimes with Apache License 2.0 | 6 votes |
private MethodDeclaration createInstanceGenericWithBusinessKeyMethod(String processInstanceFQCN) { MethodDeclaration methodDeclaration = new MethodDeclaration(); ReturnStmt returnStmt = new ReturnStmt( new MethodCallExpr(new ThisExpr(), "createInstance") .addArgument(new NameExpr(BUSINESS_KEY)) .addArgument(new CastExpr(new ClassOrInterfaceType(null, modelTypeName), new NameExpr("value")))); methodDeclaration.setName("createInstance") .addModifier(Modifier.Keyword.PUBLIC) .addParameter(String.class.getCanonicalName(), BUSINESS_KEY) .addParameter(Model.class.getCanonicalName(), "value") .setType(processInstanceFQCN) .setBody(new BlockStmt() .addStatement(returnStmt)); return methodDeclaration; }
Example #4
Source File: DecisionContainerGenerator.java From kogito-runtimes with Apache License 2.0 | 6 votes |
@Override public List<Statement> setupStatements() { return Collections.singletonList( new IfStmt( new BinaryExpr( new MethodCallExpr(new MethodCallExpr(null, "config"), "decision"), new NullLiteralExpr(), BinaryExpr.Operator.NOT_EQUALS ), new BlockStmt().addStatement(new ExpressionStmt(new MethodCallExpr( new NameExpr("decisionModels"), "init", NodeList.nodeList(new ThisExpr()) ))), null ) ); }
Example #5
Source File: DecisionConfigGenerator.java From kogito-runtimes with Apache License 2.0 | 5 votes |
private MethodDeclaration generateExtractEventListenerConfigMethod() { BlockStmt body = new BlockStmt().addStatement(new ReturnStmt( new MethodCallExpr(new ThisExpr(), METHOD_MERGE_DECISION_EVENT_LISTENER_CONFIG, nodeList( annotator.getMultiInstance(VAR_DECISION_EVENT_LISTENER_CONFIG), annotator.getMultiInstance(VAR_DMN_RUNTIME_EVENT_LISTENERS) )) )); return method(Modifier.Keyword.PRIVATE, DecisionEventListenerConfig.class, METHOD_EXTRACT_DECISION_EVENT_LISTENER_CONFIG, body); }
Example #6
Source File: PrettyPrintVisitor.java From stategen with GNU Affero General Public License v3.0 | 5 votes |
@Override public void visit(final ThisExpr n, final Void arg) { printJavaComment(n.getComment(), arg); if (n.getClassExpr().isPresent()) { n.getClassExpr().get().accept(this, arg); printer.print("."); } printer.print("this"); }
Example #7
Source File: MessageProducerGenerator.java From kogito-runtimes with Apache License 2.0 | 5 votes |
public String generate() { CompilationUnit clazz = parse( this.getClass().getResourceAsStream("/class-templates/MessageProducerTemplate.java")); clazz.setPackageDeclaration(process.getPackageName()); ClassOrInterfaceDeclaration template = clazz.findFirst(ClassOrInterfaceDeclaration.class).get(); template.setName(resourceClazzName); template.findAll(ClassOrInterfaceType.class).forEach(cls -> interpolateTypes(cls, trigger.getDataType())); template.findAll(MethodDeclaration.class).stream().filter(md -> md.getNameAsString().equals("produce")).forEach(md -> md.getParameters().stream().filter(p -> p.getNameAsString().equals(EVENT_DATA_VAR)).forEach(p -> p.setType(trigger.getDataType()))); template.findAll(MethodDeclaration.class).stream().filter(md -> md.getNameAsString().equals("configure")).forEach(md -> md.addAnnotation("javax.annotation.PostConstruct")); template.findAll(MethodDeclaration.class).stream().filter(md -> md.getNameAsString().equals("marshall")).forEach(md -> { md.getParameters().stream().filter(p -> p.getNameAsString().equals(EVENT_DATA_VAR)).forEach(p -> p.setType(trigger.getDataType())); md.findAll(ClassOrInterfaceType.class).forEach(t -> t.setName(t.getNameAsString().replace("$DataEventType$", messageDataEventClassName))); }); if (useInjection()) { annotator.withApplicationComponent(template); FieldDeclaration emitterField = template.findFirst(FieldDeclaration.class).filter(fd -> fd.getVariable(0).getNameAsString().equals("emitter")).get(); annotator.withInjection(emitterField); annotator.withOutgoingMessage(emitterField, trigger.getName()); emitterField.getVariable(0).setType(annotator.emitterType("String")); MethodDeclaration produceMethod = template.findAll(MethodDeclaration.class).stream().filter(md -> md.getNameAsString().equals("produce")).findFirst().orElseThrow(() -> new IllegalStateException("Cannot find produce methos in MessageProducerTemplate")); BlockStmt body = new BlockStmt(); MethodCallExpr sendMethodCall = new MethodCallExpr(new NameExpr("emitter"), "send"); annotator.withMessageProducer(sendMethodCall, trigger.getName(), new MethodCallExpr(new ThisExpr(), "marshall").addArgument(new NameExpr("pi")).addArgument(new NameExpr(EVENT_DATA_VAR))); body.addStatement(sendMethodCall); produceMethod.setBody(body); template.findAll(FieldDeclaration.class, fd -> fd.getVariable(0).getNameAsString().equals("useCloudEvents")).forEach(fd -> annotator.withConfigInjection(fd, "kogito.messaging.as-cloudevents")); } template.getMembers().sort(new BodyDeclarationComparator()); return clazz.toString(); }
Example #8
Source File: RuleConfigGenerator.java From kogito-runtimes with Apache License 2.0 | 5 votes |
private MethodDeclaration generateExtractEventListenerConfigMethod() { BlockStmt body = new BlockStmt().addStatement(new ReturnStmt( new MethodCallExpr(new ThisExpr(), METHOD_MERGE_RULE_EVENT_LISTENER_CONFIG, NodeList.nodeList( annotator.getMultiInstance(VAR_RULE_EVENT_LISTENER_CONFIGS), annotator.getMultiInstance(VAR_AGENDA_EVENT_LISTENERS), annotator.getMultiInstance(VAR_RULE_RUNTIME_EVENT_LISTENERS) )) )); return method(Modifier.Keyword.PRIVATE, RuleEventListenerConfig.class, METHOD_EXTRACT_RULE_EVENT_LISTENER_CONFIG, body); }
Example #9
Source File: ProcessConfigGenerator.java From kogito-runtimes with Apache License 2.0 | 5 votes |
private MethodDeclaration generateExtractEventListenerConfigMethod() { BlockStmt body = new BlockStmt().addStatement(new ReturnStmt( new MethodCallExpr(new ThisExpr(), METHOD_MERGE_PROCESS_EVENT_LISTENER_CONFIG, NodeList.nodeList( annotator.getMultiInstance(VAR_PROCESS_EVENT_LISTENER_CONFIGS), annotator.getMultiInstance(VAR_PROCESS_EVENT_LISTENERS) )) )); return method(Modifier.Keyword.PRIVATE, ProcessEventListenerConfig.class, METHOD_EXTRACT_PROCESS_EVENT_LISTENER_CONFIG, body); }
Example #10
Source File: ProcessGenerator.java From kogito-runtimes with Apache License 2.0 | 5 votes |
private MethodDeclaration createInstanceGenericMethod(String processInstanceFQCN) { MethodDeclaration methodDeclaration = new MethodDeclaration(); ReturnStmt returnStmt = new ReturnStmt( new MethodCallExpr(new ThisExpr(), "createInstance").addArgument(new CastExpr(new ClassOrInterfaceType(null, modelTypeName), new NameExpr("value")))); methodDeclaration.setName("createInstance") .addModifier(Modifier.Keyword.PUBLIC) .addParameter(Model.class.getCanonicalName(), "value") .setType(processInstanceFQCN) .setBody(new BlockStmt() .addStatement(returnStmt)); return methodDeclaration; }
Example #11
Source File: RuleUnitContainerGenerator.java From kogito-runtimes with Apache License 2.0 | 4 votes |
@Override public ClassOrInterfaceDeclaration classDeclaration() { NodeList<BodyDeclaration<?>> declarations = new NodeList<>(); // declare field `application` FieldDeclaration applicationFieldDeclaration = new FieldDeclaration(); applicationFieldDeclaration .addVariable( new VariableDeclarator( new ClassOrInterfaceType(null, "Application"), "application") ) .setModifiers( Modifier.Keyword.PRIVATE, Modifier.Keyword.FINAL ); declarations.add(applicationFieldDeclaration); ConstructorDeclaration constructorDeclaration = new ConstructorDeclaration("RuleUnits") .addModifier(Modifier.Keyword.PUBLIC) .addParameter( "Application", "application" ) .setBody( new BlockStmt().addStatement( "this.application = application;" ) ); declarations.add(constructorDeclaration); // declare field `ruleRuntimeBuilder` FieldDeclaration kieRuntimeFieldDeclaration = new FieldDeclaration(); kieRuntimeFieldDeclaration .addVariable(new VariableDeclarator( new ClassOrInterfaceType(null, KieRuntimeBuilder.class.getCanonicalName()), "ruleRuntimeBuilder") .setInitializer(new ObjectCreationExpr().setType(ProjectSourceClass.PROJECT_RUNTIME_CLASS))) .setModifiers( Modifier.Keyword.PRIVATE, Modifier.Keyword.FINAL ); declarations.add(kieRuntimeFieldDeclaration); // declare method ruleRuntimeBuilder() MethodDeclaration methodDeclaration = new MethodDeclaration() .addModifier(Modifier.Keyword.PUBLIC) .setName("ruleRuntimeBuilder") .setType(KieRuntimeBuilder.class.getCanonicalName()) .setBody(new BlockStmt().addStatement(new ReturnStmt(new FieldAccessExpr(new ThisExpr(), "ruleRuntimeBuilder")))); declarations.add(methodDeclaration); declarations.addAll(factoryMethods); declarations.add(genericFactoryById()); ClassOrInterfaceDeclaration cls = super.classDeclaration() .setMembers(declarations); cls.getMembers().sort(new BodyDeclarationComparator()); return cls; }
Example #12
Source File: ProcessGenerator.java From kogito-runtimes with Apache License 2.0 | 4 votes |
private MethodCallExpr createProcessRuntime() { return new MethodCallExpr( new ThisExpr(), "createLegacyProcessRuntime"); }
Example #13
Source File: ModelMetaData.java From kogito-runtimes with Apache License 2.0 | 4 votes |
public MethodCallExpr fromMap(String variableName, String mapVarName) { return new MethodCallExpr(new NameExpr(variableName), "fromMap").addArgument(new MethodCallExpr(new ThisExpr(), "id")).addArgument(mapVarName); }
Example #14
Source File: UserTaskModelMetaData.java From kogito-runtimes with Apache License 2.0 | 4 votes |
@SuppressWarnings({"unchecked"}) private CompilationUnit compilationUnitOutput() { CompilationUnit compilationUnit = parse(this.getClass().getResourceAsStream("/class-templates/TaskOutputTemplate.java")); compilationUnit.setPackageDeclaration(packageName); Optional<ClassOrInterfaceDeclaration> processMethod = compilationUnit.findFirst(ClassOrInterfaceDeclaration.class, sl1 -> true); if (!processMethod.isPresent()) { throw new RuntimeException("Cannot find class declaration in the template"); } ClassOrInterfaceDeclaration modelClass = processMethod.get(); compilationUnit.addOrphanComment(new LineComment("Task output model for user task '" + humanTaskNode.getName() + "' in process '" + processId + "'")); addUserTaskAnnotation(modelClass); modelClass.setName(outputModelClassSimpleName); // setup of the toMap method body BlockStmt toMapBody = new BlockStmt(); ClassOrInterfaceType toMap = new ClassOrInterfaceType(null, new SimpleName(Map.class.getSimpleName()), NodeList.nodeList(new ClassOrInterfaceType(null, String.class.getSimpleName()), new ClassOrInterfaceType( null, Object.class.getSimpleName()))); VariableDeclarationExpr paramsField = new VariableDeclarationExpr(toMap, "params"); toMapBody.addStatement(new AssignExpr(paramsField, new ObjectCreationExpr(null, new ClassOrInterfaceType(null, HashMap.class.getSimpleName()), NodeList.nodeList()), AssignExpr.Operator.ASSIGN)); for (Entry<String, String> entry : humanTaskNode.getOutMappings().entrySet()) { if (entry.getValue() == null || INTERNAL_FIELDS.contains(entry.getKey())) { continue; } Variable variable = Optional.ofNullable(variableScope.findVariable(entry.getValue())) .orElse(processVariableScope.findVariable(entry.getValue())); if (variable == null) { // check if given mapping is an expression Matcher matcher = PatternConstants.PARAMETER_MATCHER.matcher(entry.getValue()); if (matcher.find()) { Map<String, String> dataOutputs = (Map<String, String>) humanTaskNode.getMetaData("DataOutputs"); variable = new Variable(); variable.setName(entry.getKey()); variable.setType(new ObjectDataType(dataOutputs.get(entry.getKey()))); } else { throw new IllegalStateException("Task " + humanTaskNode.getName() +" (output) " + entry.getKey() + " reference not existing variable " + entry.getValue()); } } FieldDeclaration fd = new FieldDeclaration().addVariable( new VariableDeclarator() .setType(variable.getType().getStringType()) .setName(entry.getKey())) .addModifier(Modifier.Keyword.PRIVATE); modelClass.addMember(fd); addUserTaskParamAnnotation(fd, UserTaskParam.ParamType.OUTPUT); fd.createGetter(); fd.createSetter(); // toMap method body MethodCallExpr putVariable = new MethodCallExpr(new NameExpr("params"), "put"); putVariable.addArgument(new StringLiteralExpr(entry.getKey())); putVariable.addArgument(new FieldAccessExpr(new ThisExpr(), entry.getKey())); toMapBody.addStatement(putVariable); } Optional<MethodDeclaration> toMapMethod = modelClass.findFirst(MethodDeclaration.class, sl -> sl.getName().asString().equals("toMap")); toMapBody.addStatement(new ReturnStmt(new NameExpr("params"))); toMapMethod.ifPresent(methodDeclaration -> methodDeclaration.setBody(toMapBody)); return compilationUnit; }
Example #15
Source File: TraceVisitor.java From JCTools with Apache License 2.0 | 4 votes |
@Override public void visit(ThisExpr n, Void arg) { out.println("ThisExpr: " + (extended ? n : n)); super.visit(n, arg); }
Example #16
Source File: ThisExprMerger.java From dolphin with Apache License 2.0 | 3 votes |
@Override public ThisExpr doMerge(ThisExpr first, ThisExpr second) { ThisExpr te = new ThisExpr(); te.setClassExpr(mergeSingle(first.getClassExpr(),second.getClassExpr())); return te; }
Example #17
Source File: JavaParsingAtomicQueueGenerator.java From JCTools with Apache License 2.0 | 3 votes |
/** * Generates something like * <code>P_INDEX_UPDATER.lazySet(this, newValue)</code> * * @param fieldUpdaterFieldName * @param newValueName * @return */ protected BlockStmt fieldUpdaterLazySet(String fieldUpdaterFieldName, String newValueName) { BlockStmt body = new BlockStmt(); body.addStatement(new ExpressionStmt( methodCallExpr(fieldUpdaterFieldName, "lazySet", new ThisExpr(), new NameExpr(newValueName)))); return body; }
Example #18
Source File: JavaParsingAtomicQueueGenerator.java From JCTools with Apache License 2.0 | 3 votes |
/** * Generates something like * <code>return P_INDEX_UPDATER.compareAndSet(this, expectedValue, newValue)</code> * * @param fieldUpdaterFieldName * @param expectedValueName * @param newValueName * @return */ protected BlockStmt fieldUpdaterCompareAndSet(String fieldUpdaterFieldName, String expectedValueName, String newValueName) { BlockStmt body = new BlockStmt(); body.addStatement(new ReturnStmt(methodCallExpr(fieldUpdaterFieldName, "compareAndSet", new ThisExpr(), new NameExpr(expectedValueName), new NameExpr(newValueName)))); return body; }
Example #19
Source File: JavaParsingAtomicLinkedQueueGenerator.java From JCTools with Apache License 2.0 | 3 votes |
/** * Generates something like * <code>return P_INDEX_UPDATER.getAndSet(this, newValue)</code> * * @param fieldUpdaterFieldName * @param newValueName * @return */ private BlockStmt fieldUpdaterGetAndSet(String fieldUpdaterFieldName, String newValueName) { BlockStmt body = new BlockStmt(); body.addStatement(new ReturnStmt( methodCallExpr(fieldUpdaterFieldName, "getAndSet", new ThisExpr(), new NameExpr(newValueName)))); return body; }
Example #20
Source File: ThisExprMerger.java From dolphin with Apache License 2.0 | 2 votes |
@Override public boolean doIsEquals(ThisExpr first, ThisExpr second) { if(!isEqualsUseMerger(first.getClassExpr(),second.getClassExpr())) return false; return true; }