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.BaseMetaDataAnnotationPlugin<T,C>
          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,P>
                      extended by org.jboss.kernel.plugins.annotations.AbstractMethodParameterAnnotationPlugin<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>, MetaDataAnnotationPlugin<org.jboss.reflect.spi.MethodInfo,C>, org.jboss.util.JBossInterface
Direct Known Subclasses:
InstallMethodParameterAnnotationPlugin, UninstallMethodParameterAnnotationPlugin

public abstract class InstallationParameterAnnotationPlugin<C extends Annotation>
extends AbstractMethodParameterAnnotationPlugin<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, Set<Annotation2ValueMetaDataAdapter<? extends Annotation>> 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.AbstractMethodParameterAnnotationPlugin
createParametersSignature
 
Methods inherited from class org.jboss.kernel.plugins.annotations.AbstractParameterAnnotationPlugin
createParametrizedMetaData, createParametrizedMetaData, createParametrizedMetaData, internalApplyAnnotation, isElementTypeSupported, setParameterizedMetaData
 
Methods inherited from class org.jboss.kernel.plugins.annotations.AbstractAnnotationPlugin
applyAnnotation, checkIfNotAbstractBeanMetaDataSpecific, cleanAnnotation, internalApplyAnnotation, internalApplyAnnotation, internalCleanAnnotation, isMetaDataAlreadyPresent
 
Methods inherited from class org.jboss.kernel.plugins.annotations.BaseMetaDataAnnotationPlugin
applyAnnotation, getAnnotation, getSupportedTypes, isAttributePresent, isAttributePresent, isCleanup, isCleanupOnly, 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
 
Methods inherited from interface org.jboss.kernel.plugins.annotations.MetaDataAnnotationPlugin
applyAnnotation, getAnnotation, getSupportedTypes
 

Constructor Detail

InstallationParameterAnnotationPlugin

protected InstallationParameterAnnotationPlugin(Class<C> annotation,
                                                Set<Annotation2ValueMetaDataAdapter<? extends Annotation>> 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: BaseMetaDataAnnotationPlugin
Is meta data already present.

Overrides:
isMetaDataAlreadyPresent in class BaseMetaDataAnnotationPlugin<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 © 2010 JBoss, a division of Red Hat, Inc.. All Rights Reserved.