org.jboss.weld.introspector
Class ForwardingWeldMethod<T,X>

java.lang.Object
  extended by org.jboss.weld.introspector.ForwardingAnnotated<T,S>
      extended by org.jboss.weld.introspector.ForwardingWeldAnnotated<T,S>
          extended by org.jboss.weld.introspector.ForwardingWeldMember<T,X,java.lang.reflect.Method>
              extended by org.jboss.weld.introspector.ForwardingWeldMethod<T,X>
All Implemented Interfaces:
javax.enterprise.inject.spi.Annotated, javax.enterprise.inject.spi.AnnotatedCallable<X>, javax.enterprise.inject.spi.AnnotatedMember<X>, javax.enterprise.inject.spi.AnnotatedMethod<X>, WeldAnnotated<T,java.lang.reflect.Method>, WeldCallable<T,X,java.lang.reflect.Method>, WeldMember<T,X,java.lang.reflect.Method>, WeldMethod<T,X>
Direct Known Subclasses:
MethodInjectionPoint

public abstract class ForwardingWeldMethod<T,X>
extends ForwardingWeldMember<T,X,java.lang.reflect.Method>
implements WeldMethod<T,X>


Field Summary
 
Fields inherited from interface org.jboss.weld.introspector.WeldMethod
MAPPED_PARAMETER_ANNOTATIONS
 
Fields inherited from interface org.jboss.weld.introspector.WeldAnnotated
MAPPED_METAANNOTATIONS
 
Constructor Summary
ForwardingWeldMethod()
           
 
Method Summary
protected abstract  WeldMethod<T,X> delegate()
           
 java.lang.reflect.Method getAnnotatedMethod()
           
 java.util.List<WeldParameter<?,X>> getAnnotatedParameters(java.lang.Class<? extends java.lang.annotation.Annotation> metaAnnotationType)
           
 java.util.List<WeldParameter<?,X>> getAnnotatedWBParameters(java.lang.Class<? extends java.lang.annotation.Annotation> metaAnnotationType)
          Gets the list of annotated parameters for a given annotation
 java.util.List<javax.enterprise.inject.spi.AnnotatedParameter<X>> getParameters()
           
 java.lang.Class<?>[] getParameterTypesAsArray()
          Get the parameter types as an array
 java.lang.String getPropertyName()
          Gets the property name
 MethodSignature getSignature()
           
 java.util.List<? extends WeldParameter<?,X>> getWBParameters()
          Gets the abstracted parameters of the method
 T invoke(java.lang.Object instance, java.lang.Object... parameters)
          Invokes the method
 T invokeOnInstance(java.lang.Object instance, java.lang.Object... parameters)
          Invokes the method on the class of the passed instance, not the declaring class.
 boolean isEquivalent(java.lang.reflect.Method method)
          Checks if a this is equivalent to a JLR method
 
Methods inherited from class org.jboss.weld.introspector.ForwardingWeldMember
getDeclaringType, getJavaMember
 
Methods inherited from class org.jboss.weld.introspector.ForwardingWeldAnnotated
getActualTypeArguments, getBindingsAsArray, getDeclaredMetaAnnotations, getInterfaceOnlyFlattenedTypeHierarchy, getJavaClass, getMetaAnnotations, getMetaAnnotationsAsArray, getName, getPackage, getQualifiers, isDeclaredAnnotationPresent, isFinal, isPackagePrivate, isParameterizedType, isPrivate, isProxyable, isPublic, isStatic
 
Methods inherited from class org.jboss.weld.introspector.ForwardingAnnotated
equals, getAnnotation, getAnnotations, getBaseType, getTypeClosure, hashCode, isAnnotationPresent, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.jboss.weld.introspector.WeldMember
getDeclaringType, getJavaMember
 
Methods inherited from interface org.jboss.weld.introspector.WeldAnnotated
getActualTypeArguments, getBindingsAsArray, getDeclaredMetaAnnotations, getInterfaceOnlyFlattenedTypeHierarchy, getJavaClass, getMetaAnnotations, getMetaAnnotationsAsArray, getName, getPackage, getQualifiers, isDeclaredAnnotationPresent, isFinal, isPackagePrivate, isParameterizedType, isPrivate, isProxyable, isPublic, isStatic
 
Methods inherited from interface javax.enterprise.inject.spi.AnnotatedMethod
getJavaMember
 
Methods inherited from interface javax.enterprise.inject.spi.AnnotatedMember
isStatic
 
Methods inherited from interface javax.enterprise.inject.spi.Annotated
getAnnotation, getAnnotations, getBaseType, getTypeClosure, isAnnotationPresent
 

Constructor Detail

ForwardingWeldMethod

public ForwardingWeldMethod()
Method Detail

delegate

protected abstract WeldMethod<T,X> delegate()
Specified by:
delegate in class ForwardingWeldMember<T,X,java.lang.reflect.Method>

getAnnotatedMethod

public java.lang.reflect.Method getAnnotatedMethod()
Specified by:
getAnnotatedMethod in interface WeldMethod<T,X>

getAnnotatedParameters

public java.util.List<WeldParameter<?,X>> getAnnotatedParameters(java.lang.Class<? extends java.lang.annotation.Annotation> metaAnnotationType)

getParameterTypesAsArray

public java.lang.Class<?>[] getParameterTypesAsArray()
Description copied from interface: WeldMethod
Get the parameter types as an array

Specified by:
getParameterTypesAsArray in interface WeldMethod<T,X>

getWBParameters

public java.util.List<? extends WeldParameter<?,X>> getWBParameters()
Description copied from interface: WeldCallable
Gets the abstracted parameters of the method

Specified by:
getWBParameters in interface WeldCallable<T,X,java.lang.reflect.Method>
Returns:
A list of parameters. Returns an empty list if no parameters are present.

getPropertyName

public java.lang.String getPropertyName()
Description copied from interface: WeldMethod
Gets the property name

Specified by:
getPropertyName in interface WeldMethod<T,X>
Returns:
The name

invoke

public T invoke(java.lang.Object instance,
                java.lang.Object... parameters)
         throws java.lang.IllegalArgumentException,
                java.lang.IllegalAccessException,
                java.lang.reflect.InvocationTargetException
Description copied from interface: WeldMethod
Invokes the method

Specified by:
invoke in interface WeldMethod<T,X>
Parameters:
instance - The instance to invoke
parameters - The method parameters
Returns:
A reference to the instance
Throws:
java.lang.IllegalArgumentException
java.lang.IllegalAccessException
java.lang.reflect.InvocationTargetException

invokeOnInstance

public T invokeOnInstance(java.lang.Object instance,
                          java.lang.Object... parameters)
                   throws java.lang.IllegalArgumentException,
                          java.lang.SecurityException,
                          java.lang.IllegalAccessException,
                          java.lang.reflect.InvocationTargetException,
                          java.lang.NoSuchMethodException
Description copied from interface: WeldMethod
Invokes the method on the class of the passed instance, not the declaring class. Useful with proxies

Specified by:
invokeOnInstance in interface WeldMethod<T,X>
Parameters:
instance - The instance to invoke
Returns:
A reference to the instance
Throws:
java.lang.IllegalArgumentException
java.lang.SecurityException
java.lang.IllegalAccessException
java.lang.reflect.InvocationTargetException
java.lang.NoSuchMethodException

isEquivalent

public boolean isEquivalent(java.lang.reflect.Method method)
Description copied from interface: WeldMethod
Checks if a this is equivalent to a JLR method

Specified by:
isEquivalent in interface WeldMethod<T,X>
Parameters:
method - The JLR method
Returns:
true if equivalent

getSignature

public MethodSignature getSignature()
Specified by:
getSignature in interface WeldMethod<T,X>

getAnnotatedWBParameters

public java.util.List<WeldParameter<?,X>> getAnnotatedWBParameters(java.lang.Class<? extends java.lang.annotation.Annotation> metaAnnotationType)
Description copied from interface: WeldCallable
Gets the list of annotated parameters for a given annotation

Specified by:
getAnnotatedWBParameters in interface WeldCallable<T,X,java.lang.reflect.Method>
Parameters:
metaAnnotationType - The annotation to match
Returns:
A set of matching parameter abstractions. Returns an empty list if there are no matches.

getParameters

public java.util.List<javax.enterprise.inject.spi.AnnotatedParameter<X>> getParameters()
Specified by:
getParameters in interface javax.enterprise.inject.spi.AnnotatedCallable<X>


Copyright © 2008-2009 Seam Framework. All Rights Reserved.