@Override
protected void generate(ApiRequest request) throws IOException {
if (request.getType() == null && request.getVersion() != null) {
UrlBuilder urlBuilder = ApiContext.getUrlBuilder();
SchemaFactory schemaFactory = ApiContext.getSchemaFactory();
VersionImpl version = new VersionImpl(request.getVersion());
Map<String, URL> links = new TreeMap<String, URL>();
version.setLinks(links);
links.put(UrlBuilder.SELF, urlBuilder.current());
for (Schema schema : schemaFactory.listSchemas()) {
if (!schema.getCollectionMethods().contains(Method.GET.toString())) {
continue;
}
URL link = urlBuilder.resourceCollection(schema.getId());
if (link != null) {
links.put(schema.getPluralName(), link);
}
}
request.setResponseObject(version);
}
}