Spring Hateoas

org.springframework.hateoas.core
Class DelegatingEntityLinks

java.lang.Object
  extended by org.springframework.hateoas.core.AbstractEntityLinks
      extended by org.springframework.hateoas.core.DelegatingEntityLinks
All Implemented Interfaces:
EntityLinks, org.springframework.plugin.core.Plugin<Class<?>>

public class DelegatingEntityLinks
extends AbstractEntityLinks

EntityLinks implementation that delegates to the EntityLinks instances registered in the PluginRegistry given on instance creation.

Author:
Oliver Gierke

Constructor Summary
DelegatingEntityLinks(org.springframework.plugin.core.PluginRegistry<EntityLinks,Class<?>> plugins)
          Creates a new DelegatingEntityLinks using the given PluginRegistry.
 
Method Summary
 LinkBuilder linkFor(Class<?> type)
          Returns a LinkBuilder able to create links to the controller managing the given entity type.
 LinkBuilder linkFor(Class<?> type, Object... parameters)
          Returns a LinkBuilder able to create links to the controller managing the given entity type, unfolding the given parameters into the URI template the backing controller is mapped to.
 Link linkToCollectionResource(Class<?> type)
          Creates a Link pointing to the collection resource of the given type.
 Link linkToSingleResource(Class<?> type, Object id)
          Creates a Link pointing to single resource backing the given entity type and id.
 boolean supports(Class<?> delimiter)
           
 
Methods inherited from class org.springframework.hateoas.core.AbstractEntityLinks
linkForSingleResource, linkForSingleResource, linkToSingleResource
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DelegatingEntityLinks

public DelegatingEntityLinks(org.springframework.plugin.core.PluginRegistry<EntityLinks,Class<?>> plugins)
Creates a new DelegatingEntityLinks using the given PluginRegistry.

Parameters:
plugins - must not be null.
Method Detail

linkFor

public LinkBuilder linkFor(Class<?> type)
Description copied from interface: EntityLinks
Returns a LinkBuilder able to create links to the controller managing the given entity type. Expects a controller being mapped to a fully expanded URI template (i.e. not path variables being used).

Parameters:
type - the entity type to point to, must not be null.
Returns:
the LinkBuilder pointing to the collection resource. Will never be null.

linkFor

public LinkBuilder linkFor(Class<?> type,
                           Object... parameters)
Description copied from interface: EntityLinks
Returns a LinkBuilder able to create links to the controller managing the given entity type, unfolding the given parameters into the URI template the backing controller is mapped to.

Parameters:
type - the entity type to point to, must not be null.
Returns:
the LinkBuilder pointing to the collection resource.

linkToCollectionResource

public Link linkToCollectionResource(Class<?> type)
Description copied from interface: EntityLinks
Creates a Link pointing to the collection resource of the given type. The relation type of the link will be determined by the implementation class and should be defaulted to Link.REL_SELF.

Parameters:
type - the entity type to point to, must not be null.
Returns:
the Link pointing to the collection resource exposed for the given entity. Will never be null.

linkToSingleResource

public Link linkToSingleResource(Class<?> type,
                                 Object id)
Description copied from interface: EntityLinks
Creates a Link pointing to single resource backing the given entity type and id. The relation type of the link will be determined by the implementation class and should be defaulted to Link.REL_SELF.

Parameters:
type - the entity type to point to, must not be null.
id - the identifier of the entity of the given type
Returns:
the Link pointing to the resource exposed for the entity with the given type and id. Will never be null.

supports

public boolean supports(Class<?> delimiter)

Spring Hateoas

Copyright © 2012-2014-2014 Pivotal, Inc.. All Rights Reserved.