org.camunda.bpm.engine.rest.hal
Class HalResource<T extends HalResource<?>>

java.lang.Object
  extended by org.camunda.bpm.engine.rest.hal.HalResource<T>
Direct Known Subclasses:
EmptyHalResource, HalCaseDefinition, HalCollectionResource, HalGroup, HalIdentityLink, HalProcessDefinition, HalTask, HalTenant, HalUser, HalUserList, HalVariableValue

public abstract class HalResource<T extends HalResource<?>>
extends Object

Base class for implementing a HAL resource as defined in json-hal-06#section-4

Author:
Daniel Meyer

Field Summary
protected  Map<String,Object> _embedded
          Embedded resources
protected  Map<String,HalLink> _links
          This resource links
protected  HalLinker linker
           
 
Constructor Summary
HalResource()
           
 
Method Summary
 void addEmbedded(String name, HalResource<?> embedded)
           
 void addEmbedded(String name, List<HalResource<?>> embeddedCollection)
           
 void addLink(String rel, String href)
           
 void addLink(String rel, URI hrefUri)
           
 T embed(HalRelation relation, ProcessEngine processEngine)
          Can be used to embed a relation.
 Map<String,Object> get_embedded()
           
 Map<String,HalLink> get_links()
           
 Object getEmbedded(String name)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_links

protected Map<String,HalLink> _links
This resource links


_embedded

protected Map<String,Object> _embedded
Embedded resources


linker

protected transient HalLinker linker
Constructor Detail

HalResource

public HalResource()
Method Detail

get_links

public Map<String,HalLink> get_links()

get_embedded

public Map<String,Object> get_embedded()

addLink

public void addLink(String rel,
                    String href)

addLink

public void addLink(String rel,
                    URI hrefUri)

addEmbedded

public void addEmbedded(String name,
                        HalResource<?> embedded)

addEmbedded

public void addEmbedded(String name,
                        List<HalResource<?>> embeddedCollection)

getEmbedded

public Object getEmbedded(String name)

embed

public T embed(HalRelation relation,
               ProcessEngine processEngine)
Can be used to embed a relation. Embedded all linked resources in the given relation.

Parameters:
relation - the relation to embedded
processEngine - used to resolve the resources
Returns:
the resource itself.


Copyright © 2016 camunda services GmbH. All rights reserved.