/** * Formats the Stellar function info object into a readable string. * @param info The stellar function info object. * @return A readable string. */ private String docFormat(StellarFunctionInfo info) { StringBuffer docString = new StringBuffer(); // name docString.append(info.getName() + "\n"); // description docString.append(String.format("Description: %-60s\n\n", info.getDescription())); // params if(info.getParams().length > 0) { docString.append("Arguments:\n"); for(String param : info.getParams()) { docString.append(String.format("\t%-60s\n", param)); } docString.append("\n"); } // returns docString.append(String.format("Returns: %-60s\n", info.getReturns())); return docString.toString(); } }
@Override public List<StellarFunctionDescription> getStellarFunctions() { List<StellarFunctionDescription> stellarFunctionDescriptions = new ArrayList<>(); Iterable<StellarFunctionInfo> stellarFunctionsInfo = StellarFunctions.FUNCTION_RESOLVER().getFunctionInfo(); stellarFunctionsInfo.forEach(stellarFunctionInfo -> { stellarFunctionDescriptions.add(new StellarFunctionDescription( stellarFunctionInfo.getName(), stellarFunctionInfo.getDescription(), stellarFunctionInfo.getParams(), stellarFunctionInfo.getReturns())); }); return stellarFunctionDescriptions; }
public static void main(String... argv) { List<StellarFunctionInfo> functions = Lists.newArrayList(SingletonFunctionResolver.getInstance().getFunctionInfo()); Collections.sort(functions, (o1, o2) -> o1.getName().compareTo(o2.getName())); for(StellarFunctionInfo info: functions) { System.out.println( "### `" + info.getName() + "`"); System.out.println( " * Description: " + info.getDescription() ); System.out.println( " * Input:"); for(String param :info.getParams()) { System.out.println( " * " + param ); } System.out.println( " * Returns: " + info.getReturns() ); System.out.println(""); } }