private void printAPIExample() { around("b", "API Example:"); /* * We are using tt instead of pre to avoid whitespace issues in the doc's * first sentence tags that would show up in a pre and would not in a tt. * This is annoying. */ open("p"); open("tt"); print(method.getAPIFunctionName()); print("({"); boolean hasOne = printAPIParameters(method.getMatrixParameters(), false); hasOne |= printAPIParameters(method.getQueryParameters(), hasOne); hasOne |= printAPIParameters(method.getPathParameters(), hasOne); hasOne |= printAPIParameters(method.getHeaderParameters(), hasOne); hasOne |= printAPIParameters(method.getCookieParameters(), hasOne); hasOne |= printAPIParameters(method.getFormParameters(), hasOne); MethodParameter input = method.getInputParameter(); if (input != null) { printAPIParameter("$entity", input, hasOne); } print("});"); close("tt"); close("p"); }
private void printHTTPExample(String httpMethod) { around("b", "HTTP Example:"); open("pre"); String absPath = Utils.getAbsolutePath(this, resource); print(httpMethod + " " + absPath); Map<String, MethodParameter> matrixParameters = method.getMatrixParameters(); if (!matrixParameters.isEmpty()) { for (String name : matrixParameters.keySet()) { print(";"); print(name); print("=…"); } } Map<String, MethodParameter> queryParameters = method.getQueryParameters(); if (!queryParameters.isEmpty()) { print("?"); boolean first = true; for (String name : queryParameters.keySet()) { if (!first) print("&"); print(name); print("=…"); first = false; } } print("\n"); Map<String, MethodParameter> headerParameters = method.getHeaderParameters(); if (!headerParameters.isEmpty()) { for (String name : headerParameters.keySet()) { print(name); print(": …\n"); } } Map<String, MethodParameter> cookieParameters = method.getCookieParameters(); if (!cookieParameters.isEmpty()) { for (String name : cookieParameters.keySet()) { print("Cookie: "); print(name); print("=…\n"); } } Map<String, MethodParameter> formParameters = method.getFormParameters(); if (!formParameters.isEmpty()) { print("\n"); boolean first = true; for (String name : formParameters.keySet()) { if (!first) print("&"); print(name); print("=…"); first = false; } } print("\n"); close("pre"); }
private void printMethod(String httpMethod) { around("a name='" + httpMethod + "'", ""); if (getJAXRSConfiguration().enableHTTPExample || getJAXRSConfiguration().enableJavaScriptExample) { open("table class='examples'", "tr"); if (getJAXRSConfiguration().enableHTTPExample) { open("td"); printHTTPExample(httpMethod); close("td"); } if (getJAXRSConfiguration().enableJavaScriptExample) { open("td"); printAPIExample(); close("td"); } close("tr", "table"); } if (!Utils.isEmptyOrNull(method.getDoc())) { open("p"); print(method.getDoc()); close("p"); } printIncludes(); open("dl"); printInput(); printOutput(); printParameters(method.getQueryParameters(), "Query"); // done on resource // printParameters(method.getPathParameters(), "Path"); printParameters(method.getMatrixParameters(), "Matrix"); printParameters(method.getFormParameters(), "Form"); printParameters(method.getCookieParameters(), "Cookie"); printParameters(method.getHeaderParameters(), "Header"); printMIMEs(method.getProduces(), "Produces"); printMIMEs(method.getConsumes(), "Consumes"); printHTTPCodes(); printHTTPRequestHeaders(); printHTTPResponseHeaders(); // printSees(); close("dl"); }