org.jboss.kernel.plugins.annotations
Class InstallationParameterAnnotationPlugin<C extends Annotation>

java.lang.Object
  extended by org.jboss.util.JBossObject
      extended by org.jboss.kernel.plugins.annotations.AbstractAnnotationPlugin<T,C>
          extended by org.jboss.kernel.plugins.annotations.AbstractAdaptersAnnotationPlugin<T,C>
              extended by org.jboss.kernel.plugins.annotations.AbstractParameterAnnotationPlugin<org.jboss.reflect.spi.MethodInfo,C,AbstractInstallMetaData>
                  extended by org.jboss.kernel.plugins.annotations.InstallationParameterAnnotationPlugin<C>
Type Parameters:
C - annotation type
All Implemented Interfaces:
Cloneable, AnnotationPlugin<org.jboss.reflect.spi.MethodInfo,C>, org.jboss.util.JBossInterface
Direct Known Subclasses:
InstallMethodParameterAnnotationPlugin, UninstallMethodParameterAnnotationPlugin

public abstract class InstallationParameterAnnotationPlugin<C extends Annotation>
extends AbstractParameterAnnotationPlugin<org.jboss.reflect.spi.MethodInfo,C,AbstractInstallMetaData>

Abstract installation annotation plugin.

Author:
Ales Justin

Field Summary
 
Fields inherited from class org.jboss.kernel.plugins.annotations.AbstractAdaptersAnnotationPlugin
adapters
 
Fields inherited from class org.jboss.util.JBossObject
hashCode, log, toString
 
Constructor Summary
protected InstallationParameterAnnotationPlugin(Class<C> annotation, Annotation2ValueMetaDataAdapter... adapters)
           
 
Method Summary
protected  boolean checkAnnotatedInfo(ElementType type)
          Check additional element type - apart from Parameter element type.
protected abstract  List<InstallMetaData> getInstalls(BeanMetaData beanMetaData)
          Get the list of InstallMetaData from bean metadata.
protected  org.jboss.reflect.spi.ParameterInfo[] getParameters(org.jboss.reflect.spi.MethodInfo info)
          Get the parameters infos from type.
protected  List<? extends MetaDataVisitorNode> handleParameterlessInfo(org.jboss.reflect.spi.MethodInfo info, C annotation, BeanMetaData beanMetaData)
          Handle info which has zero parameters.
protected  boolean isMetaDataAlreadyPresent(org.jboss.reflect.spi.MethodInfo info, C annotation, BeanMetaData beanMetaData)
          Is meta data already present.
 
Methods inherited from class org.jboss.kernel.plugins.annotations.AbstractParameterAnnotationPlugin
createParametrizedMetaData, createParametrizedMetaData, createParametrizedMetaData, createParametrizedMetaData, handleParameterlessInfo, internalApplyAnnotation, isElementTypeSupported, setParameterizedMetaData, setParameterizedMetaData
 
Methods inherited from class org.jboss.kernel.plugins.annotations.AbstractAnnotationPlugin
applyAnnotation, cleanAnnotation, getAnnotation, getSupportedTypes, internalApplyAnnotation, internalApplyAnnotation, internalCleanAnnotation, isAttributePresent, isMetaDataAlreadyPresent, toShortString, toString
 
Methods inherited from class org.jboss.util.JBossObject
cacheGetHashCode, cacheToString, clone, equals, flushJBossObjectCache, getClassShortName, getHashCode, hashCode, list, notEqual, toShortString, toString, toStringImplementation
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

InstallationParameterAnnotationPlugin

protected InstallationParameterAnnotationPlugin(Class<C> annotation,
                                                Annotation2ValueMetaDataAdapter... adapters)
Method Detail

checkAnnotatedInfo

protected boolean checkAnnotatedInfo(ElementType type)
Description copied from class: AbstractParameterAnnotationPlugin
Check additional element type - apart from Parameter element type.

Specified by:
checkAnnotatedInfo in class AbstractParameterAnnotationPlugin<org.jboss.reflect.spi.MethodInfo,C extends Annotation,AbstractInstallMetaData>
Parameters:
type - the type
Returns:
true if additional type is supported

isMetaDataAlreadyPresent

protected boolean isMetaDataAlreadyPresent(org.jboss.reflect.spi.MethodInfo info,
                                           C annotation,
                                           BeanMetaData beanMetaData)
Description copied from class: AbstractAnnotationPlugin
Is meta data already present.

Overrides:
isMetaDataAlreadyPresent in class AbstractAnnotationPlugin<org.jboss.reflect.spi.MethodInfo,C extends Annotation>
Parameters:
info - the info
annotation - the annotation
beanMetaData - the bean meta data
Returns:
true if meta data already present

getInstalls

protected abstract List<InstallMetaData> getInstalls(BeanMetaData beanMetaData)
Get the list of InstallMetaData from bean metadata.

Parameters:
beanMetaData - the bean metadata
Returns:
list of InstallMetaData

getParameters

protected org.jboss.reflect.spi.ParameterInfo[] getParameters(org.jboss.reflect.spi.MethodInfo info)
Description copied from class: AbstractParameterAnnotationPlugin
Get the parameters infos from type.

Specified by:
getParameters in class AbstractParameterAnnotationPlugin<org.jboss.reflect.spi.MethodInfo,C extends Annotation,AbstractInstallMetaData>
Parameters:
info - the type
Returns:
array of parameter info

handleParameterlessInfo

protected List<? extends MetaDataVisitorNode> handleParameterlessInfo(org.jboss.reflect.spi.MethodInfo info,
                                                                      C annotation,
                                                                      BeanMetaData beanMetaData)
Description copied from class: AbstractParameterAnnotationPlugin
Handle info which has zero parameters.

Specified by:
handleParameterlessInfo in class AbstractParameterAnnotationPlugin<org.jboss.reflect.spi.MethodInfo,C extends Annotation,AbstractInstallMetaData>
Parameters:
info - the info
annotation - the annotation
beanMetaData - the bean metadata
Returns:
list of added meta data visitor nodes


Copyright ? 2007 JBoss Inc.. All Rights Reserved.