public List<MemberInvolvementTree> getMandatoryAttributes() { List<MemberInvolvementTree> mandatoryAttributes = new ArrayList<>(); for (Parameter parameter : getParameters()) { mandatoryAttributes.addAll(parameter.getMandatoryAttributes()); } return mandatoryAttributes; }
public List<Parameter> getMandatoryParameters() { List<Parameter> parameters = new ArrayList<>(); for (Parameter parameter : getParameters()) { if (parameter.isMandatory()) { parameters.add(parameter); } } return parameters; } }
public Parameter getMainUpdateParameter(Method method) { Parameter mainParameter = method.getParameters().stream() .filter(x -> x.getType() instanceof StructType) .findFirst() .orElse(null); return mainParameter; }
public Parameter getMainAddParameter(Method method) { Parameter mainParameter = method.getParameters().stream() .filter(x -> x.getType() instanceof StructType || x.getType() instanceof ListType) .findFirst() .orElse(null); return mainParameter; }
public boolean isMandatoryAttributeExists() { for (Parameter parameter : getParameters()) { if (parameter.isMandatory() || !parameter.getMandatoryAttributes().isEmpty()) { return true; } } return false; }
public void analyzeInputDetail(JavaClass javaClass, Method method, Service service) { JavaMethod inputDetailMethod = getInputDetailMethod(javaClass); if (inputDetailMethod!=null) { InputDetailAnalyzer inputDetailAnalyzer = new InputDetailAnalyzer(); inputDetailAnalyzer.analyzeInput(inputDetailMethod.getSourceCode(), method.getParameters()); } }
private void generateValidation(Method method) { if (method.isMandatoryAttributeExists()) { generateValidationMethodName(method); for (Parameter parameter : method.getParameters()) { generateParameterValidation(parameter); } javaBuffer.addLine("}"); //close validation method javaBuffer.addLine(""); } }
private void generateListMethod(Method method) { // Find the main parameter of the method, as this is the only one that appears in the JAX-RS interfaces, the // rest of the methods are extracted explicitly by the implementation: Parameter mainParameter = method.getParameters().stream() .filter(x -> x.getType() instanceof ListType) .findFirst() .orElse(null); if (mainParameter == null) { throw new IllegalStateException("Method \"" + method + "\" doesn't have any list parameter"); } // Calculate the Java type of the main parameter: Type mainType = mainParameter.getType(); JavaTypeReference mainTypeReference = schemaNames.getXjcTypeReference(mainType); // Generate the imports: javaBuffer.addImport(GET.class); javaBuffer.addImports(mainTypeReference.getImports()); // Generate the method: javaBuffer.addLine("@GET"); // Generate doList() method: generateDoListMethod(mainParameter, mainTypeReference); generateDoc(method); addMethod(mainTypeReference.getText(), "list()"); javaBuffer.addLine(); }
private void generateActionValidation(Method method) { if (method.isMandatoryAttributeExists()) { writeActionValidationMethodName(method); validateActionNotNull(); for (Parameter parameter : method.getParameters()) { generateActionParameterValidation(parameter); } javaBuffer.addLine("}"); //close validation method javaBuffer.addLine(""); } }
private void documentMethod(Service service, Method method) { // General description: docBuffer.addId(getId(service, method)); docBuffer.addLine("==== %s [small]#%s#", getName(method), getHttpMethod(method)); docBuffer.addLine(); addDoc(method); // Table of parameters: List<Parameter> parameters = method.getParameters(); if (!parameters.isEmpty()) { docBuffer.addLine(".Parameters summary"); docBuffer.addLine("[cols=\"15,15,20,50\"]"); docBuffer.addLine("|==="); docBuffer.addLine("|Name |Type |Direction |Summary"); docBuffer.addLine(); parameters.stream().sorted().forEach(parameter -> { docBuffer.addLine("|`%s`", getName(parameter)); docBuffer.addLine("|%s", getLink(parameter.getType())); docBuffer.addLine("|%s", getDirection(parameter)); docBuffer.addLine("|%s", getSummary(parameter)); docBuffer.addLine(); }); docBuffer.addLine("|==="); docBuffer.addLine(); } // Detail of parameters: parameters.stream().sorted().forEach(parameter-> documentParameter(service, method, parameter)); }
javaNames.getJavaMemberStyleName(methodName)); validateActionNotNull(); for (Parameter parameter : method.getParameters()) { generateActionParameterValidation(parameter); if (signature.isMandatoryAttributeExists()) { javaBuffer.addLine("if (action!=null"); for (Parameter parameter : signature.getParameters()) { if (parameter.isMandatory()) { assert parameter.getType() instanceof EnumType || parameter.getType() instanceof PrimitiveType;
/** * For method 'signatures' (e:g FromStorageDomain, DirectLun) Parameters should * be mostly copied from the base method (e.g: add). This method does this. */ private void copyParameters(Method childMethod, Method method) { for (Parameter parameter : method.getParameters()) { Parameter newParameter = new Parameter(); //copy from base parameter. Member-involvement-trees not copied on purpose. newParameter.setIn(parameter.isIn()); newParameter.setOut(parameter.isOut()); newParameter.setType(parameter.getType()); newParameter.setName(parameter.getName()); newParameter.setDoc(parameter.getDoc()); newParameter.setSource(parameter.getSource()); newParameter.getAnnotations().addAll(parameter.getAnnotations()); //set the child-method as the declaring method newParameter.setDeclaringMethod(childMethod); childMethod.addParameter(newParameter); } }
for (Method method : service.getMethods()) { if (jaxrsNames.isActionName(method.getName())) { for (Parameter parameter : method.getParameters()) { Name name = parameter.getName(); Parameter existing = parameters.get(name);