com.atlassian.plugins.rest.common.expand.resolver
Class AbstractAnnotationEntityExpanderResolver

java.lang.Object
  extended by com.atlassian.plugins.rest.common.expand.resolver.AbstractAnnotationEntityExpanderResolver
All Implemented Interfaces:
EntityExpanderResolver

public abstract class AbstractAnnotationEntityExpanderResolver
extends java.lang.Object
implements EntityExpanderResolver

An EntityExpander resolver that uses the Expander annotation for resolution.

Implementation must implement getEntityExpander(Expander)


Constructor Summary
AbstractAnnotationEntityExpanderResolver()
           
 
Method Summary
protected abstract  EntityExpander<?> getEntityExpander(Expander expander)
          Retrieves the EntityExpander associated to the Expander annotation.
<T> EntityExpander<T>
getExpander(java.lang.Class<? extends T> type)
          Gets an EntityExpander for the given type.
<T> EntityExpander<T>
getExpander(T instance)
          Gets an EntityExpander for the given instance.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AbstractAnnotationEntityExpanderResolver

public AbstractAnnotationEntityExpanderResolver()
Method Detail

getExpander

public final <T> EntityExpander<T> getExpander(T instance)
Gets an EntityExpander for the given instance.

Specified by:
getExpander in interface EntityExpanderResolver
Type Parameters:
T - the type of object to retrieve the expander for.
Parameters:
instance - the object to look up the expander for.
Returns:
the EntityExpander

getExpander

public final <T> EntityExpander<T> getExpander(java.lang.Class<? extends T> type)
Gets an EntityExpander for the given type.

Specified by:
getExpander in interface EntityExpanderResolver
Type Parameters:
T - the type of object to retrieve the expander for.
Parameters:
type - the type of object to look up the expander for.
Returns:
the EntityExpander

getEntityExpander

protected abstract EntityExpander<?> getEntityExpander(Expander expander)
Retrieves the EntityExpander associated to the Expander annotation. The entity expander is created if necessary.

Parameters:
expander - the annotation
Returns:
an instance of EntityExpander


Copyright © 2009 Atlassian Pty Ltd. All Rights Reserved.