Class WadlBuilder
- java.lang.Object
-
- org.glassfish.jersey.server.wadl.internal.WadlBuilder
-
public class WadlBuilder extends java.lang.Object
This class implements the algorithm how the wadl is built for one or moreResource
classes. Wadl artifacts are created by aWadlGenerator
. Created on: Jun 18, 2008
-
-
Field Summary
Fields Modifier and Type Field Description private WadlGenerator
_wadlGenerator
private boolean
detailedWadl
private javax.ws.rs.core.UriInfo
uriInfo
-
Constructor Summary
Constructors Constructor Description WadlBuilder(WadlGenerator wadlGenerator, boolean detailedWadl, javax.ws.rs.core.UriInfo uriInfo)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private void
addHint(Application wadlApplication)
private void
addVersion(Application wadlApplication)
ApplicationDescription
generate(java.util.List<Resource> resources)
Generate WADL for a set of resources.Application
generate(ApplicationDescription description, Resource resource)
Generate WADL for a resource.private Method
generateMethod(Resource parentResource, java.util.Map<java.lang.String,Param> wadlResourceParams, ResourceMethod resourceMethod)
private Param
generateParam(Resource resource, ResourceMethod method, Parameter param)
private Request
generateRequest(Resource parentResource, ResourceMethod resourceMethod, java.util.Map<java.lang.String,Param> wadlResourceParams)
private Resource
generateResource(Resource r, java.lang.String path)
private Resource
generateResource(Resource resource, java.lang.String path, java.util.Set<Resource> visitedResources)
private java.util.List<Response>
generateResponses(Resource r, ResourceMethod m)
private Param
getParamByName(java.util.List<Param> params, java.lang.String name)
private Representation
getRepresentationByMediaType(java.util.List<Representation> representations, javax.ws.rs.core.MediaType mediaType)
private void
processRequestParameters(Resource parentResource, ResourceMethod resourceMethod, java.util.Map<java.lang.String,Param> wadlResourceParams, java.util.Collection<Parameter> requestParameters, Request wadlRequest)
Recursively processes provided request parameters and adds the resulting WADL information into the WADL request.private Representation
setRepresentationForMediaType(Resource r, ResourceMethod m, javax.ws.rs.core.MediaType mediaType, Request wadlRequest)
Create the wadlRepresentation
for the specifiedMediaType
if not yet existing for the wadlRequest
and return it.
-
-
-
Field Detail
-
_wadlGenerator
private final WadlGenerator _wadlGenerator
-
uriInfo
private final javax.ws.rs.core.UriInfo uriInfo
-
detailedWadl
private final boolean detailedWadl
-
-
Constructor Detail
-
WadlBuilder
public WadlBuilder(WadlGenerator wadlGenerator, boolean detailedWadl, javax.ws.rs.core.UriInfo uriInfo)
-
-
Method Detail
-
generate
public ApplicationDescription generate(java.util.List<Resource> resources)
Generate WADL for a set of resources.- Parameters:
resources
- the set of resources.- Returns:
- the JAXB WADL application bean.
-
generate
public Application generate(ApplicationDescription description, Resource resource)
Generate WADL for a resource.- Parameters:
resource
- the resourcedescription
- the overall application description so we can- Returns:
- the JAXB WADL application bean
-
addVersion
private void addVersion(Application wadlApplication)
-
addHint
private void addHint(Application wadlApplication)
-
generateMethod
private Method generateMethod(Resource parentResource, java.util.Map<java.lang.String,Param> wadlResourceParams, ResourceMethod resourceMethod)
-
generateRequest
private Request generateRequest(Resource parentResource, ResourceMethod resourceMethod, java.util.Map<java.lang.String,Param> wadlResourceParams)
-
processRequestParameters
private void processRequestParameters(Resource parentResource, ResourceMethod resourceMethod, java.util.Map<java.lang.String,Param> wadlResourceParams, java.util.Collection<Parameter> requestParameters, Request wadlRequest)
Recursively processes provided request parameters and adds the resulting WADL information into the WADL request.
-
setRepresentationForMediaType
private Representation setRepresentationForMediaType(Resource r, ResourceMethod m, javax.ws.rs.core.MediaType mediaType, Request wadlRequest)
Create the wadlRepresentation
for the specifiedMediaType
if not yet existing for the wadlRequest
and return it.- Parameters:
r
- the resourcem
- the resource methodmediaType
- an accepted media type of the resource methodwadlRequest
- the wadl request the wadl representation is to be created for (if not yet existing).- Returns:
- the wadl request representation for the specified
MediaType
.
-
getRepresentationByMediaType
private Representation getRepresentationByMediaType(java.util.List<Representation> representations, javax.ws.rs.core.MediaType mediaType)
-
generateParam
private Param generateParam(Resource resource, ResourceMethod method, Parameter param)
-
generateResource
private Resource generateResource(Resource resource, java.lang.String path, java.util.Set<Resource> visitedResources)
-
generateResponses
private java.util.List<Response> generateResponses(Resource r, ResourceMethod m)
-
-