org.apache.cxf.jaxrs.model.wadl
Class WadlGenerator

java.lang.Object
  extended by org.apache.cxf.jaxrs.model.wadl.WadlGenerator
All Implemented Interfaces:
javax.ws.rs.container.ContainerRequestFilter

public class WadlGenerator
extends Object
implements javax.ws.rs.container.ContainerRequestFilter


Nested Class Summary
protected static interface WadlGenerator.SchemaWriter
           
 
Field Summary
static String WADL_NS
           
static String WADL_QUERY
           
static javax.ws.rs.core.MediaType WADL_TYPE
           
 
Constructor Summary
WadlGenerator()
           
WadlGenerator(org.apache.cxf.Bus bus)
           
 
Method Summary
 boolean addSchemaDocument(org.apache.cxf.common.xmlschema.SchemaCollection col, List<String> tnsList, Document d, String systemId, boolean hackAroundEmptyNamespaceIssue)
           
protected  boolean compareOperations(org.apache.cxf.jaxrs.model.OperationResourceInfo ori1, org.apache.cxf.jaxrs.model.OperationResourceInfo ori2)
           
protected  ElementQNameResolver createElementQNameResolver(JAXBContext context)
           
protected  WadlGenerator.SchemaWriter createSchemaWriter(org.apache.cxf.jaxrs.model.ResourceTypes resourceTypes, JAXBContext context, javax.ws.rs.core.UriInfo ui)
           
protected  void doFilter(javax.ws.rs.container.ContainerRequestContext context, org.apache.cxf.message.Message m)
           
protected  void doHandleClassParams(org.apache.cxf.jaxrs.model.OperationResourceInfo ori, StringBuilder sb, Map<org.apache.cxf.jaxrs.model.Parameter,Object> params, boolean isJson, org.apache.cxf.jaxrs.model.ParameterType... pType)
           
protected  void doHandleJaxrsBeanParamClassParams(org.apache.cxf.jaxrs.model.OperationResourceInfo ori, StringBuilder sb, Map<org.apache.cxf.jaxrs.model.Parameter,Object> params, boolean isJson, org.apache.cxf.jaxrs.model.ParameterType... pType)
           
protected  void doWriteParam(org.apache.cxf.jaxrs.model.OperationResourceInfo ori, StringBuilder sb, org.apache.cxf.jaxrs.model.Parameter pm, Class<?> type, Type genericType, String paramName, Annotation[] anns, boolean isJson)
           
protected  void endMethodRequestTag(StringBuilder sb, org.apache.cxf.jaxrs.model.OperationResourceInfo ori)
           
protected  void endMethodResponseTag(StringBuilder sb, org.apache.cxf.jaxrs.model.OperationResourceInfo ori)
           
protected  void endMethodTag(StringBuilder sb, org.apache.cxf.jaxrs.model.OperationResourceInfo ori)
           
protected  void endResourceTag(StringBuilder sb, org.apache.cxf.jaxrs.model.OperationResourceInfo ori)
           
 void filter(javax.ws.rs.container.ContainerRequestContext context)
           
 StringBuilder generateWADL(String baseURI, List<org.apache.cxf.jaxrs.model.ClassResourceInfo> cris, boolean isJson, org.apache.cxf.message.Message m, javax.ws.rs.core.UriInfo ui)
           
 javax.ws.rs.core.Response getExistingResource(org.apache.cxf.message.Message m, javax.ws.rs.core.UriInfo ui, String href)
           
 javax.ws.rs.core.Response getExistingWadl(org.apache.cxf.message.Message m, javax.ws.rs.core.UriInfo ui, javax.ws.rs.core.MediaType mt)
           
protected  String getPath(String path)
           
 List<String> getPrivateAddresses()
           
 List<org.apache.cxf.jaxrs.model.ClassResourceInfo> getResourcesList(org.apache.cxf.message.Message m, javax.ws.rs.core.UriInfo ui)
           
protected  void handleClassJavaDocs(org.apache.cxf.jaxrs.model.ClassResourceInfo cri, StringBuilder sb)
           
protected  boolean 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, org.apache.cxf.jaxrs.model.OperationResourceInfo ori, org.apache.cxf.jaxrs.model.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, org.apache.cxf.jaxrs.model.OperationResourceInfo ori, Map<org.apache.cxf.jaxrs.model.Parameter,Object> classParams, org.apache.cxf.jaxrs.model.OperationResourceInfo nextOp, boolean resourceTagOpened, boolean isJson, int index)
           
protected  void handleOperJavaDocs(org.apache.cxf.jaxrs.model.OperationResourceInfo ori, StringBuilder sb)
           
protected  void handleOperParamJavaDocs(org.apache.cxf.jaxrs.model.OperationResourceInfo ori, int paramIndex, StringBuilder sb)
           
protected  void handleOperResponseJavaDocs(org.apache.cxf.jaxrs.model.OperationResourceInfo ori, StringBuilder sb)
           
protected  void handleParameter(StringBuilder sb, Set<Class<?>> jaxbTypes, ElementQNameResolver qnameResolver, Map<Class<?>,QName> clsMap, org.apache.cxf.jaxrs.model.OperationResourceInfo ori, org.apache.cxf.jaxrs.model.Parameter pm, boolean isJson)
           
protected  void handleParams(StringBuilder sb, org.apache.cxf.jaxrs.model.OperationResourceInfo ori, org.apache.cxf.jaxrs.model.ParameterType type, boolean isJson)
           
protected  void handlePathAndMatrixClassParams(org.apache.cxf.jaxrs.model.OperationResourceInfo ori, StringBuilder sb, Map<org.apache.cxf.jaxrs.model.Parameter,Object> params, boolean isJson)
           
protected  void handlePathAndMatrixParams(StringBuilder sb, org.apache.cxf.jaxrs.model.OperationResourceInfo ori, boolean isJson)
           
protected  void handleRepresentation(StringBuilder sb, Set<Class<?>> jaxbTypes, ElementQNameResolver qnameResolver, Map<Class<?>,QName> clsMap, org.apache.cxf.jaxrs.model.OperationResourceInfo ori, Class<?> type, boolean isJson, boolean inbound)
           
protected  void handleResource(StringBuilder sb, Set<Class<?>> jaxbTypes, ElementQNameResolver qnameResolver, Map<Class<?>,QName> clsMap, org.apache.cxf.jaxrs.model.ClassResourceInfo cri, Set<org.apache.cxf.jaxrs.model.ClassResourceInfo> visitedResources, boolean isJson)
           
 void setAddResourceAndMethodIds(boolean addResourceAndMethodIds)
           
 void setApplicationTitle(String applicationTitle)
           
 void setCheckAbsolutePathSlash(boolean checkAbsolutePathSlash)
           
 void setDefaultMediaType(String mt)
          Set the default WADL response media type.
 void setDefaultRepresentationMediaType(String mt)
          Set the default representation media type to be used if JAX-RS Produces or Consumes annotation is missing.
 void setDocumentationProvider(DocumentationProvider p)
           
 void setExternalLinks(List<String> externalLinks)
           
 void setIgnoreForwardSlash(boolean ignoreForwardSlash)
           
 void setIgnoreMessageWriters(boolean ignoreMessageWriters)
           
 void setIgnoreRequests(boolean ignoreRequests)
           
 void setJavaDocPath(String path)
           
 void setLinkAnyMediaTypeToXmlSchema(boolean link)
           
 void setLinkJsonToXmlSchema(boolean link)
          Deprecated. 
 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<org.apache.cxf.jaxrs.model.OperationResourceInfo> sortOperationsByPath(Set<org.apache.cxf.jaxrs.model.OperationResourceInfo> ops)
           
protected  void startMethodRequestTag(StringBuilder sb, org.apache.cxf.jaxrs.model.OperationResourceInfo ori)
           
protected  void startMethodResponseTag(StringBuilder sb, org.apache.cxf.jaxrs.model.OperationResourceInfo ori)
           
protected  void startMethodTag(StringBuilder sb, org.apache.cxf.jaxrs.model.OperationResourceInfo ori)
           
protected  void startResourceTag(StringBuilder sb, org.apache.cxf.jaxrs.model.OperationResourceInfo ori, String path)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

WADL_QUERY

public static final String WADL_QUERY
See Also:
Constant Field Values

WADL_TYPE

public static final javax.ws.rs.core.MediaType WADL_TYPE

WADL_NS

public static final String WADL_NS
See Also:
Constant Field Values
Constructor Detail

WadlGenerator

public WadlGenerator()

WadlGenerator

public WadlGenerator(org.apache.cxf.Bus bus)
Method Detail

filter

public void filter(javax.ws.rs.container.ContainerRequestContext context)
Specified by:
filter in interface javax.ws.rs.container.ContainerRequestFilter

doFilter

protected void doFilter(javax.ws.rs.container.ContainerRequestContext context,
                        org.apache.cxf.message.Message m)

generateWADL

public StringBuilder generateWADL(String baseURI,
                                  List<org.apache.cxf.jaxrs.model.ClassResourceInfo> cris,
                                  boolean isJson,
                                  org.apache.cxf.message.Message m,
                                  javax.ws.rs.core.UriInfo ui)

handleGrammars

protected void handleGrammars(StringBuilder sbApp,
                              StringBuilder sbGrammars,
                              WadlGenerator.SchemaWriter writer,
                              Map<Class<?>,QName> clsMap)

handleResource

protected void handleResource(StringBuilder sb,
                              Set<Class<?>> jaxbTypes,
                              ElementQNameResolver qnameResolver,
                              Map<Class<?>,QName> clsMap,
                              org.apache.cxf.jaxrs.model.ClassResourceInfo cri,
                              Set<org.apache.cxf.jaxrs.model.ClassResourceInfo> visitedResources,
                              boolean isJson)

getPath

protected String getPath(String path)

startMethodTag

protected void startMethodTag(StringBuilder sb,
                              org.apache.cxf.jaxrs.model.OperationResourceInfo ori)

endMethodTag

protected void endMethodTag(StringBuilder sb,
                            org.apache.cxf.jaxrs.model.OperationResourceInfo ori)

startMethodRequestTag

protected void startMethodRequestTag(StringBuilder sb,
                                     org.apache.cxf.jaxrs.model.OperationResourceInfo ori)

startMethodResponseTag

protected void startMethodResponseTag(StringBuilder sb,
                                      org.apache.cxf.jaxrs.model.OperationResourceInfo ori)

endMethodRequestTag

protected void endMethodRequestTag(StringBuilder sb,
                                   org.apache.cxf.jaxrs.model.OperationResourceInfo ori)

endMethodResponseTag

protected void endMethodResponseTag(StringBuilder sb,
                                    org.apache.cxf.jaxrs.model.OperationResourceInfo ori)

startResourceTag

protected void startResourceTag(StringBuilder sb,
                                org.apache.cxf.jaxrs.model.OperationResourceInfo ori,
                                String path)

endResourceTag

protected void endResourceTag(StringBuilder sb,
                              org.apache.cxf.jaxrs.model.OperationResourceInfo ori)

handleOperation

protected boolean handleOperation(StringBuilder sb,
                                  Set<Class<?>> jaxbTypes,
                                  ElementQNameResolver qnameResolver,
                                  Map<Class<?>,QName> clsMap,
                                  org.apache.cxf.jaxrs.model.OperationResourceInfo ori,
                                  Map<org.apache.cxf.jaxrs.model.Parameter,Object> classParams,
                                  org.apache.cxf.jaxrs.model.OperationResourceInfo nextOp,
                                  boolean resourceTagOpened,
                                  boolean isJson,
                                  int index)

compareOperations

protected boolean compareOperations(org.apache.cxf.jaxrs.model.OperationResourceInfo ori1,
                                    org.apache.cxf.jaxrs.model.OperationResourceInfo ori2)

handleDynamicSubresource

protected void handleDynamicSubresource(StringBuilder sb,
                                        Set<Class<?>> jaxbTypes,
                                        ElementQNameResolver qnameResolver,
                                        Map<Class<?>,QName> clsMap,
                                        org.apache.cxf.jaxrs.model.OperationResourceInfo ori,
                                        org.apache.cxf.jaxrs.model.ClassResourceInfo subcri,
                                        boolean isJson)

handlePathAndMatrixClassParams

protected void handlePathAndMatrixClassParams(org.apache.cxf.jaxrs.model.OperationResourceInfo ori,
                                              StringBuilder sb,
                                              Map<org.apache.cxf.jaxrs.model.Parameter,Object> params,
                                              boolean isJson)

doHandleClassParams

protected void doHandleClassParams(org.apache.cxf.jaxrs.model.OperationResourceInfo ori,
                                   StringBuilder sb,
                                   Map<org.apache.cxf.jaxrs.model.Parameter,Object> params,
                                   boolean isJson,
                                   org.apache.cxf.jaxrs.model.ParameterType... pType)

doHandleJaxrsBeanParamClassParams

protected void doHandleJaxrsBeanParamClassParams(org.apache.cxf.jaxrs.model.OperationResourceInfo ori,
                                                 StringBuilder sb,
                                                 Map<org.apache.cxf.jaxrs.model.Parameter,Object> params,
                                                 boolean isJson,
                                                 org.apache.cxf.jaxrs.model.ParameterType... pType)

handlePathAndMatrixParams

protected void handlePathAndMatrixParams(StringBuilder sb,
                                         org.apache.cxf.jaxrs.model.OperationResourceInfo ori,
                                         boolean isJson)

handleParameter

protected void handleParameter(StringBuilder sb,
                               Set<Class<?>> jaxbTypes,
                               ElementQNameResolver qnameResolver,
                               Map<Class<?>,QName> clsMap,
                               org.apache.cxf.jaxrs.model.OperationResourceInfo ori,
                               org.apache.cxf.jaxrs.model.Parameter pm,
                               boolean isJson)

handleParams

protected void handleParams(StringBuilder sb,
                            org.apache.cxf.jaxrs.model.OperationResourceInfo ori,
                            org.apache.cxf.jaxrs.model.ParameterType type,
                            boolean isJson)

doWriteParam

protected void doWriteParam(org.apache.cxf.jaxrs.model.OperationResourceInfo ori,
                            StringBuilder sb,
                            org.apache.cxf.jaxrs.model.Parameter pm,
                            Class<?> type,
                            Type genericType,
                            String paramName,
                            Annotation[] anns,
                            boolean isJson)

handleRepresentation

protected void handleRepresentation(StringBuilder sb,
                                    Set<Class<?>> jaxbTypes,
                                    ElementQNameResolver qnameResolver,
                                    Map<Class<?>,QName> clsMap,
                                    org.apache.cxf.jaxrs.model.OperationResourceInfo ori,
                                    Class<?> type,
                                    boolean isJson,
                                    boolean inbound)

sortOperationsByPath

protected List<org.apache.cxf.jaxrs.model.OperationResourceInfo> sortOperationsByPath(Set<org.apache.cxf.jaxrs.model.OperationResourceInfo> ops)

getResourcesList

public List<org.apache.cxf.jaxrs.model.ClassResourceInfo> getResourcesList(org.apache.cxf.message.Message m,
                                                                           javax.ws.rs.core.UriInfo ui)

getExistingWadl

public javax.ws.rs.core.Response getExistingWadl(org.apache.cxf.message.Message m,
                                                 javax.ws.rs.core.UriInfo ui,
                                                 javax.ws.rs.core.MediaType mt)

getExistingResource

public javax.ws.rs.core.Response getExistingResource(org.apache.cxf.message.Message m,
                                                     javax.ws.rs.core.UriInfo ui,
                                                     String href)

addSchemaDocument

public boolean addSchemaDocument(org.apache.cxf.common.xmlschema.SchemaCollection col,
                                 List<String> tnsList,
                                 Document d,
                                 String systemId,
                                 boolean hackAroundEmptyNamespaceIssue)

setIgnoreMessageWriters

public void setIgnoreMessageWriters(boolean ignoreMessageWriters)

handleClassJavaDocs

protected void handleClassJavaDocs(org.apache.cxf.jaxrs.model.ClassResourceInfo cri,
                                   StringBuilder sb)

handleOperJavaDocs

protected void handleOperJavaDocs(org.apache.cxf.jaxrs.model.OperationResourceInfo ori,
                                  StringBuilder sb)

handleOperResponseJavaDocs

protected void handleOperResponseJavaDocs(org.apache.cxf.jaxrs.model.OperationResourceInfo ori,
                                          StringBuilder sb)

handleOperParamJavaDocs

protected void handleOperParamJavaDocs(org.apache.cxf.jaxrs.model.OperationResourceInfo ori,
                                       int paramIndex,
                                       StringBuilder sb)

handleDocs

protected boolean handleDocs(Annotation[] anns,
                             StringBuilder sb,
                             String category,
                             boolean allowDefault,
                             boolean isJson)

setWadlNamespace

public void setWadlNamespace(String namespace)

setSingleResourceMultipleMethods

public void setSingleResourceMultipleMethods(boolean singleResourceMultipleMethods)

setUseSingleSlashResource

public void setUseSingleSlashResource(boolean useSingleSlashResource)

setLinkJsonToXmlSchema

@Deprecated
public void setLinkJsonToXmlSchema(boolean link)
Deprecated. 


setLinkAnyMediaTypeToXmlSchema

public void setLinkAnyMediaTypeToXmlSchema(boolean link)

setSchemaLocations

public void setSchemaLocations(List<String> locations)

setUseJaxbContextForQnames

public void setUseJaxbContextForQnames(boolean checkJaxbOnly)

createElementQNameResolver

protected ElementQNameResolver createElementQNameResolver(JAXBContext context)

createSchemaWriter

protected WadlGenerator.SchemaWriter createSchemaWriter(org.apache.cxf.jaxrs.model.ResourceTypes resourceTypes,
                                                        JAXBContext context,
                                                        javax.ws.rs.core.UriInfo ui)

setExternalLinks

public void setExternalLinks(List<String> externalLinks)

setResolver

public void setResolver(ElementQNameResolver resolver)

setPrivateAddresses

public void setPrivateAddresses(List<String> privateAddresses)

getPrivateAddresses

public List<String> getPrivateAddresses()

setAddResourceAndMethodIds

public void setAddResourceAndMethodIds(boolean addResourceAndMethodIds)

setApplicationTitle

public void setApplicationTitle(String applicationTitle)

setNamespacePrefix

public void setNamespacePrefix(String prefix)

setIgnoreForwardSlash

public void setIgnoreForwardSlash(boolean ignoreForwardSlash)

setIgnoreRequests

public void setIgnoreRequests(boolean ignoreRequests)

setSupportCollections

public void setSupportCollections(boolean support)

setDefaultMediaType

public void setDefaultMediaType(String mt)
Set the default WADL response media type. For example, a browser may display WADL better if Content-Type is set application/xml which is a default response content type. Users may set it to application/vnd.sun.wadl+xml or other type.

Parameters:
mt - WADL response media type

setDefaultRepresentationMediaType

public void setDefaultRepresentationMediaType(String mt)
Set the default representation media type to be used if JAX-RS Produces or Consumes annotation is missing. Wild-card media type is used by default in such cases.

Parameters:
mt - the default representation media type

setSupportJaxbXmlType

public void setSupportJaxbXmlType(boolean supportJaxbXmlType)

setSupportJaxbSubstitutions

public void setSupportJaxbSubstitutions(boolean supportJaxbSubstitutions)

setCheckAbsolutePathSlash

public void setCheckAbsolutePathSlash(boolean checkAbsolutePathSlash)

setJavaDocPath

public void setJavaDocPath(String path)
                    throws Exception
Throws:
Exception

setDocumentationProvider

public void setDocumentationProvider(DocumentationProvider p)


Apache CXF