org.jboss.wsf.common.injection.resolvers
Class AbstractReferenceResolver<A extends java.lang.annotation.Annotation>

java.lang.Object
  extended by org.jboss.wsf.common.injection.resolvers.AbstractReferenceResolver<A>
All Implemented Interfaces:
org.jboss.wsf.spi.metadata.injection.ReferenceResolver
Direct Known Subclasses:
ResourceReferenceResolver

public abstract class AbstractReferenceResolver<A extends java.lang.annotation.Annotation>
extends java.lang.Object
implements org.jboss.wsf.spi.metadata.injection.ReferenceResolver

This class adds support for notion of annotated fields and methods. It also ensures passed methods and fields are non null references plus it implements some common logic that would otherwise be implemented in all subclasses. It is highly recommended that all reference resolvers extend this base class for high code reuse.

Author:
Richard Opalka

Constructor Summary
AbstractReferenceResolver(java.lang.Class<A> annotationClass)
          Constructor.
 
Method Summary
 boolean canResolve(java.lang.reflect.AccessibleObject accessibleObject)
           
 java.lang.String resolve(java.lang.reflect.AccessibleObject accessibleObject)
           
protected abstract  java.lang.String resolveField(java.lang.reflect.Field field)
          All subclasses have to implement this template method.
protected abstract  java.lang.String resolveMethod(java.lang.reflect.Method method)
          All subclasses have to implement this template method.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AbstractReferenceResolver

public AbstractReferenceResolver(java.lang.Class<A> annotationClass)
Constructor.

Method Detail

resolve

public final java.lang.String resolve(java.lang.reflect.AccessibleObject accessibleObject)
Specified by:
resolve in interface org.jboss.wsf.spi.metadata.injection.ReferenceResolver

canResolve

public final boolean canResolve(java.lang.reflect.AccessibleObject accessibleObject)
Specified by:
canResolve in interface org.jboss.wsf.spi.metadata.injection.ReferenceResolver

resolveMethod

protected abstract java.lang.String resolveMethod(java.lang.reflect.Method method)
All subclasses have to implement this template method.

Parameters:
Method - method
Returns:
JNDI name

resolveField

protected abstract java.lang.String resolveField(java.lang.reflect.Field field)
All subclasses have to implement this template method.

Parameters:
Field - field
Returns:
JNDI name


Copyright © 2009 JBoss, a division of Red Hat. All Rights Reserved.