D - the kind of definition entity this controller deals withA - a resource assembler that knows how to build Ts out of DsR - 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 domain object.
|
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 entity to create (required)definition - The entity definition, expressed in the XD DSL (required)protected abstract D createDefinition(java.lang.String name, java.lang.String definition)