D
- the kind of definition entity this controller deals withV
- a resource assembler that knows how to build Ts out of DsT
- the resource class for Dpublic abstract class XDController<D extends BaseDefinition,A extends org.springframework.hateoas.mvc.ResourceAssemblerSupport<D,R>,R extends NamedResource>
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
static class |
XDController.QueryOptions
Data holder class for controlling how the list methods should behave.
|
Modifier | Constructor and Description |
---|---|
protected |
XDController(AbstractDeployer<D> deployer,
A resourceAssemblerSupport) |
Modifier and Type | Method and Description |
---|---|
protected abstract D |
createDefinition(java.lang.String name,
java.lang.String definition) |
void |
delete(java.lang.String name)
Request removal of an existing module.
|
void |
deleteAll()
Request removal of all modules.
|
void |
deploy(java.lang.String name)
Request deployment of an existing named module.
|
void |
deployAll()
Request deployment of all modules.
|
org.springframework.hateoas.ResourceSupport |
display(java.lang.String name)
Retrieve information about a single
ResourceSupport . |
protected ResourceDeployer<D> |
getDeployer() |
protected org.springframework.hateoas.PagedResources<R> |
listValues(org.springframework.data.domain.Pageable pageable,
XDController.QueryOptions options,
org.springframework.data.web.PagedResourcesAssembler<D> assembler)
List module definitions.
|
R |
save(java.lang.String name,
java.lang.String definition,
boolean deploy)
Create a new Module.
|
void |
undeploy(java.lang.String name)
Request un-deployment of an existing named module.
|
void |
undeployAll()
Request un-deployment of all modules.
|
protected XDController(AbstractDeployer<D> deployer, A resourceAssemblerSupport)
protected ResourceDeployer<D> getDeployer()
@RequestMapping(value="/{name}", method=DELETE) @ResponseStatus(value=OK) public void delete(@PathVariable(value="name") java.lang.String name)
name
- the name of an existing module (required)@RequestMapping(value="", method=DELETE) @ResponseStatus(value=OK) public void deleteAll()
@RequestMapping(value="/{name}", method=PUT, params="deploy=false") @ResponseStatus(value=OK) public void undeploy(@PathVariable(value="name") java.lang.String name)
name
- the name of an existing module (required)@RequestMapping(value="_deployments", method=PUT, params="deploy=false") @ResponseStatus(value=OK) public void undeployAll()
@RequestMapping(value="/{name}", method=PUT, params="deploy=true") @ResponseStatus(value=OK) @ResponseBody public void deploy(@PathVariable(value="name") java.lang.String name)
name
- the name of an existing module (required)@RequestMapping(value="_deployments", method=PUT, params="deploy=true") @ResponseStatus(value=OK) public void deployAll()
@RequestMapping(value="/{name}", method=GET) @ResponseStatus(value=OK) @ResponseBody public org.springframework.hateoas.ResourceSupport display(@PathVariable(value="name") java.lang.String name)
ResourceSupport
.name
- the name of an existing resource (required)protected org.springframework.hateoas.PagedResources<R> listValues(org.springframework.data.domain.Pageable pageable, XDController.QueryOptions options, org.springframework.data.web.PagedResourcesAssembler<D> assembler)
@RequestMapping(value="", method=POST) @ResponseStatus(value=CREATED) @ResponseBody public R save(@RequestParam(value="name") java.lang.String name, @RequestParam(value="definition") java.lang.String definition, @RequestParam(value="deploy",defaultValue="true") boolean deploy)
name
- The name of the module to create (required)definition
- The module definition, expressed in the XD DSL (required)protected abstract D createDefinition(java.lang.String name, java.lang.String definition)