org.guiceyfruit.support
Class AnnotationMemberProviderSupport<A extends java.lang.annotation.Annotation>

java.lang.Object
  extended by org.guiceyfruit.support.AnnotationMemberProviderSupport<A>
All Implemented Interfaces:
AnnotationMemberProvider<A>
Direct Known Subclasses:
AutowiredMemberProvider, PersistenceMemberProvider, ResourceMemberProvider

public abstract class AnnotationMemberProviderSupport<A extends java.lang.annotation.Annotation>
extends java.lang.Object
implements AnnotationMemberProvider<A>

A useful base class for implementors meaning they only have to implement a single method whether a Field or Method parameter is being injected

Version:
$Revision: 1.1 $

Constructor Summary
AnnotationMemberProviderSupport()
           
 
Method Summary
protected abstract  java.lang.Object provide(A annotation, java.lang.reflect.Member member, com.google.inject.TypeLiteral<?> requiredType, java.lang.Class<?> memberType, java.lang.annotation.Annotation[] annotations)
          The default method to create a value for the named member of the requested type
 java.lang.Object provide(A annotation, com.google.inject.TypeLiteral<?> type, java.lang.reflect.Field field)
          Returns the value to be injected for the given annotated field
 java.lang.Object provide(A annotation, com.google.inject.TypeLiteral<?> type, java.lang.reflect.Method method, java.lang.Class<?> parameterType, int parameterIndex)
          Returns the value to be injected for the given annotated method parameter value
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.guiceyfruit.support.AnnotationMemberProvider
isNullParameterAllowed
 

Constructor Detail

AnnotationMemberProviderSupport

public AnnotationMemberProviderSupport()
Method Detail

provide

public java.lang.Object provide(A annotation,
                                com.google.inject.TypeLiteral<?> type,
                                java.lang.reflect.Field field)
Description copied from interface: AnnotationMemberProvider
Returns the value to be injected for the given annotated field

Specified by:
provide in interface AnnotationMemberProvider<A extends java.lang.annotation.Annotation>

provide

public java.lang.Object provide(A annotation,
                                com.google.inject.TypeLiteral<?> type,
                                java.lang.reflect.Method method,
                                java.lang.Class<?> parameterType,
                                int parameterIndex)
Description copied from interface: AnnotationMemberProvider
Returns the value to be injected for the given annotated method parameter value

Specified by:
provide in interface AnnotationMemberProvider<A extends java.lang.annotation.Annotation>

provide

protected abstract java.lang.Object provide(A annotation,
                                            java.lang.reflect.Member member,
                                            com.google.inject.TypeLiteral<?> requiredType,
                                            java.lang.Class<?> memberType,
                                            java.lang.annotation.Annotation[] annotations)
The default method to create a value for the named member of the requested type



Copyright © 2011. All Rights Reserved.