public class WadlGenerator extends Object implements RequestHandler
| Modifier and Type | Class and Description |
|---|---|
protected static interface |
WadlGenerator.SchemaWriter |
| Modifier and Type | Field and Description |
|---|---|
static String |
WADL_NS |
static String |
WADL_QUERY |
static javax.ws.rs.core.MediaType |
WADL_TYPE |
| Constructor and Description |
|---|
WadlGenerator() |
WadlGenerator(Bus bus) |
WadlGenerator(WadlGenerator other) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
addSchemaDocument(SchemaCollection col,
List<String> tnsList,
Document d,
String systemId,
boolean hackAroundEmptyNamespaceIssue) |
protected boolean |
compareOperations(OperationResourceInfo ori1,
OperationResourceInfo ori2) |
protected ElementQNameResolver |
createElementQNameResolver(JAXBContext context) |
protected WadlGenerator.SchemaWriter |
createSchemaWriter(ResourceTypes resourceTypes,
JAXBContext context,
javax.ws.rs.core.UriInfo ui) |
protected void |
doHandleClassParams(StringBuilder sb,
Map<Parameter,Object> params,
boolean isJson,
ParameterType... pType) |
protected void |
doWriteParam(StringBuilder sb,
Parameter pm,
Class<?> type,
Type genericType,
String paramName,
Annotation[] anns,
boolean isJson) |
javax.ws.rs.core.Response |
getExistingResource(Message m,
javax.ws.rs.core.UriInfo ui,
String href) |
javax.ws.rs.core.Response |
getExistingWadl(Message m,
javax.ws.rs.core.UriInfo ui,
javax.ws.rs.core.MediaType mt) |
protected String |
getPath(String path) |
List<String> |
getPrivateAddresses() |
List<ClassResourceInfo> |
getResourcesList(Message m,
ClassResourceInfo cri) |
protected void |
handleDocs(Annotation[] anns,
StringBuilder sb,
String category,
boolean allowDefault,
boolean isJson) |
protected void |
handleDynamicSubresource(StringBuilder sb,
Set<Class<?>> jaxbTypes,
ElementQNameResolver qnameResolver,
Map<Class<?>,QName> clsMap,
OperationResourceInfo ori,
ClassResourceInfo subcri,
boolean isJson) |
protected void |
handleGrammars(StringBuilder sbApp,
StringBuilder sbGrammars,
WadlGenerator.SchemaWriter writer,
Map<Class<?>,QName> clsMap) |
protected boolean |
handleOperation(StringBuilder sb,
Set<Class<?>> jaxbTypes,
ElementQNameResolver qnameResolver,
Map<Class<?>,QName> clsMap,
OperationResourceInfo ori,
Map<Parameter,Object> classParams,
OperationResourceInfo nextOp,
boolean resourceTagOpened,
boolean isJson,
int index) |
protected void |
handleParameter(StringBuilder sb,
Set<Class<?>> jaxbTypes,
ElementQNameResolver qnameResolver,
Map<Class<?>,QName> clsMap,
OperationResourceInfo ori,
Parameter pm,
boolean isJson) |
protected void |
handleParams(StringBuilder sb,
OperationResourceInfo ori,
ParameterType type,
boolean isJson) |
protected void |
handlePathAndMatrixClassParams(StringBuilder sb,
Map<Parameter,Object> params,
boolean isJson) |
protected void |
handlePathAndMatrixParams(StringBuilder sb,
OperationResourceInfo ori,
boolean isJson) |
protected void |
handleRepresentation(StringBuilder sb,
Set<Class<?>> jaxbTypes,
ElementQNameResolver qnameResolver,
Map<Class<?>,QName> clsMap,
OperationResourceInfo ori,
Class<?> type,
boolean isJson,
boolean inbound) |
javax.ws.rs.core.Response |
handleRequest(Message m,
ClassResourceInfo resource) |
protected void |
handleResource(StringBuilder sb,
Set<Class<?>> jaxbTypes,
ElementQNameResolver qnameResolver,
Map<Class<?>,QName> clsMap,
ClassResourceInfo cri,
Set<ClassResourceInfo> visitedResources,
boolean isJson) |
void |
setAddResourceAndMethodIds(boolean addResourceAndMethodIds) |
void |
setApplicationTitle(String applicationTitle) |
void |
setDefaultMediaType(String mt) |
void |
setExternalLinks(List<String> externalLinks) |
void |
setIgnoreForwardSlash(boolean ignoreForwardSlash) |
void |
setIgnoreMessageWriters(boolean ignoreMessageWriters) |
void |
setIgnoreRequests(boolean ignoreRequests) |
void |
setLinkJsonToXmlSchema(boolean link) |
void |
setNamespacePrefix(String prefix) |
void |
setPrivateAddresses(List<String> privateAddresses) |
void |
setResolver(ElementQNameResolver resolver) |
void |
setSchemaLocations(List<String> locations) |
void |
setSingleResourceMultipleMethods(boolean singleResourceMultipleMethods) |
void |
setSupportCollections(boolean support) |
void |
setSupportJaxbSubstitutions(boolean supportJaxbSubstitutions) |
void |
setSupportJaxbXmlType(boolean supportJaxbXmlType) |
void |
setUseJaxbContextForQnames(boolean checkJaxbOnly) |
void |
setUseSingleSlashResource(boolean useSingleSlashResource) |
void |
setWadlNamespace(String namespace) |
protected List<OperationResourceInfo> |
sortOperationsByPath(Set<OperationResourceInfo> ops) |
public static final String WADL_QUERY
public static final javax.ws.rs.core.MediaType WADL_TYPE
public static final String WADL_NS
public WadlGenerator()
public WadlGenerator(Bus bus)
public WadlGenerator(WadlGenerator other)
public javax.ws.rs.core.Response handleRequest(Message m, ClassResourceInfo resource)
handleRequest in interface RequestHandlerprotected void handleGrammars(StringBuilder sbApp, StringBuilder sbGrammars, WadlGenerator.SchemaWriter writer, Map<Class<?>,QName> clsMap)
protected void handleResource(StringBuilder sb, Set<Class<?>> jaxbTypes, ElementQNameResolver qnameResolver, Map<Class<?>,QName> clsMap, ClassResourceInfo cri, Set<ClassResourceInfo> visitedResources, boolean isJson)
protected boolean handleOperation(StringBuilder sb, Set<Class<?>> jaxbTypes, ElementQNameResolver qnameResolver, Map<Class<?>,QName> clsMap, OperationResourceInfo ori, Map<Parameter,Object> classParams, OperationResourceInfo nextOp, boolean resourceTagOpened, boolean isJson, int index)
protected boolean compareOperations(OperationResourceInfo ori1, OperationResourceInfo ori2)
protected void handleDynamicSubresource(StringBuilder sb, Set<Class<?>> jaxbTypes, ElementQNameResolver qnameResolver, Map<Class<?>,QName> clsMap, OperationResourceInfo ori, ClassResourceInfo subcri, boolean isJson)
protected void handlePathAndMatrixClassParams(StringBuilder sb, Map<Parameter,Object> params, boolean isJson)
protected void doHandleClassParams(StringBuilder sb, Map<Parameter,Object> params, boolean isJson, ParameterType... pType)
protected void handlePathAndMatrixParams(StringBuilder sb, OperationResourceInfo ori, boolean isJson)
protected void handleParameter(StringBuilder sb, Set<Class<?>> jaxbTypes, ElementQNameResolver qnameResolver, Map<Class<?>,QName> clsMap, OperationResourceInfo ori, Parameter pm, boolean isJson)
protected void handleParams(StringBuilder sb, OperationResourceInfo ori, ParameterType type, boolean isJson)
protected void doWriteParam(StringBuilder sb, Parameter pm, Class<?> type, Type genericType, String paramName, Annotation[] anns, boolean isJson)
protected void handleRepresentation(StringBuilder sb, Set<Class<?>> jaxbTypes, ElementQNameResolver qnameResolver, Map<Class<?>,QName> clsMap, OperationResourceInfo ori, Class<?> type, boolean isJson, boolean inbound)
protected List<OperationResourceInfo> sortOperationsByPath(Set<OperationResourceInfo> ops)
public List<ClassResourceInfo> getResourcesList(Message m, ClassResourceInfo cri)
public javax.ws.rs.core.Response getExistingWadl(Message m, javax.ws.rs.core.UriInfo ui, javax.ws.rs.core.MediaType mt)
public javax.ws.rs.core.Response getExistingResource(Message m, javax.ws.rs.core.UriInfo ui, String href)
public boolean addSchemaDocument(SchemaCollection col, List<String> tnsList, Document d, String systemId, boolean hackAroundEmptyNamespaceIssue)
public void setIgnoreMessageWriters(boolean ignoreMessageWriters)
protected void handleDocs(Annotation[] anns, StringBuilder sb, String category, boolean allowDefault, boolean isJson)
public void setWadlNamespace(String namespace)
public void setSingleResourceMultipleMethods(boolean singleResourceMultipleMethods)
public void setUseSingleSlashResource(boolean useSingleSlashResource)
public void setLinkJsonToXmlSchema(boolean link)
public void setUseJaxbContextForQnames(boolean checkJaxbOnly)
protected ElementQNameResolver createElementQNameResolver(JAXBContext context)
protected WadlGenerator.SchemaWriter createSchemaWriter(ResourceTypes resourceTypes, JAXBContext context, javax.ws.rs.core.UriInfo ui)
public void setResolver(ElementQNameResolver resolver)
public void setAddResourceAndMethodIds(boolean addResourceAndMethodIds)
public void setApplicationTitle(String applicationTitle)
public void setNamespacePrefix(String prefix)
public void setIgnoreForwardSlash(boolean ignoreForwardSlash)
public void setIgnoreRequests(boolean ignoreRequests)
public void setSupportCollections(boolean support)
public void setDefaultMediaType(String mt)
public void setSupportJaxbXmlType(boolean supportJaxbXmlType)
public void setSupportJaxbSubstitutions(boolean supportJaxbSubstitutions)
Apache CXF