@Override public void onOperation(WithOperationsDeclaration owner, OperationDeclaration declaration) { final StereotypeModel defaultStereotype = createStereotype(declaration.getName(), processorParent); declaration.withStereotype(defaultStereotype); addConfigRefStereoTypesIfNeeded(declaration); }
@Override public void onOperation(WithOperationsDeclaration owner, OperationDeclaration declaration) { final StereotypeModel defaultStereotype = createStereotype(declaration.getName(), processorParent); ifPresent(declaration.getModelProperty(ImplementingMethodModelProperty.class) .map(ImplementingMethodModelProperty::getMethod) .map(method -> new OperationWrapper(method, typeLoader)), methodElement -> resolveStereotype(methodElement, declaration, defaultStereotype), () -> declaration.withStereotype(defaultStereotype)); addConfigRefStereoTypesIfNeeded(declaration); }
private void assertOperation(String configName, String operationName) { ConfigurationDeclaration config = extensionDeclaration.getConfigurations().stream().filter(c -> c.getName().equals(configName)).findFirst() .orElseThrow(() -> new IllegalArgumentException("No config with name " + configName)); OperationDeclaration operation = config.getOperations().stream().filter(model -> model.getName().equals(operationName)) .findFirst().orElseThrow(() -> new IllegalArgumentException("No operation with name " + operationName)); assertThat(operation.getName(), is(operationName)); } }
private void documentOperations(WithOperationsDeclaration<?> declaration, Map<String, Element> methods) { for (OperationDeclaration operation : declaration.getOperations()) { Element method = methods.get(operation.getName()); // there are two cases in which method can be null: // * A synthetic operation which was not defined in any class but added by a model property // * An extension which operations are defined across multiple classes and the one being processed is not // the one which defined the operation being processed if (method == null) { continue; } MethodDocumentation documentation = processor.getMethodDocumentation(processingEnv, method); operation.setDescription(documentation.getSummary()); parameterDeclarer.document(operation, method, documentation); } }
private OperationDeclaration getOperation(WithOperationsDeclaration declaration, final String operationName) { return (OperationDeclaration) find(declaration.getOperations(), object -> ((OperationDeclaration) object).getName().equals(operationName)); }
protected OperationDeclaration getOperation(WithOperationsDeclaration declaration, final String operationName) { return (OperationDeclaration) find(declaration.getOperations(), object -> ((OperationDeclaration) object).getName().equals(operationName)); }
@Override public void enrich(ExtensionLoadingContext extensionLoadingContext) { extensionLoadingContext.getExtensionDeclarer().getDeclaration().getOperations().stream() .filter(o -> o.getName().equals("doSomethingAsync")) .findFirst() .ifPresent(operation -> operation.addModelProperty( new ComponentExecutorModelProperty((model, params) -> new PrivilegedNonBlockingComponentExecutor()))); } }
private void documentOperations(WithOperationsDeclaration<?> declaration, Map<String, Element> methods) { for (OperationDeclaration operation : declaration.getOperations()) { Element method = methods.get(operation.getName()); // there are two cases in which method can be null: // * A synthetic operation which was not defined in any class but added by a model property // * An extension which operations are defined across multiple classes and the one being processed is not // the one which defined the operation being processed if (method == null) { continue; } MethodDocumentation documentation = processor.getMethodDocumentation(processingEnv, method); operation.setDescription(documentation.getSummary()); parameterDeclarer.document(operation, method, documentation); } }