@Override public OperationDocumentation getDocumentation() throws OperationException { OperationDocumentation doc = new OperationDocumentation(id); doc.label = id; doc.requires = contribution.getRequires(); doc.category = contribution.getCategory(); doc.setAliases(contribution.getAliases()); OperationChainContribution.Operation[] operations = contribution.getOps(); doc.operations = operations; doc.since = contribution.getSince(); if (doc.requires.length() == 0) { doc.requires = null; } if (doc.label.length() == 0) { doc.label = doc.id; } doc.description = contribution.getDescription(); doc.params = contribution.getParams(); // load signature if (operations.length != 0) { // Fill signature with first inputs of the first operation and // related outputs of last operation // following the proper automation path ArrayList<String> result = getSignature(operations); doc.signature = result.toArray(new String[result.size()]); } else { doc.signature = new String[] {"void", "void"}; } return doc; }