[jboss-cvs] JBossAS SVN: r65038 - projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Tue Sep 4 07:42:17 EDT 2007
Author: alesj
Date: 2007-09-04 07:42:17 -0400 (Tue, 04 Sep 2007)
New Revision: 65038
Modified:
projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/AbstractAdaptersAnnotationPlugin.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/AbstractAnnotationPlugin.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/AbstractParameterAnnotationPlugin.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/AliasesAnnotationPlugin.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/Annotation2ValueMetaDataAdapter.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/AnnotationPlugin.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/ArrayConstructorValueAnnotationPlugin.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/ArrayValueAnnotationPlugin.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/BasicBeanAnnotationAdapter.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/BeanAnnotationAdapter.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/BeanAnnotationAdapterFactory.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/CallbackAnnotationPlugin.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/ClassAnnotationPlugin.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/ClassFactoryAnnotationPlugin.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/CollectionConstructorValueAnnotationPlugin.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/CollectionValueAnnotationPlugin.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/CollectionsAnnotationPlugin.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/ConstructorAnnotationPlugin.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/ConstructorParameterAnnotationPlugin.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/ConstructorValueAnnotationPlugin.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/CreateLifecycleAnnotationPlugin.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/DemandsAnnotationPlugin.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/DependsAnnotationPlugin.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/DestroyLifecycleAnnotationPlugin.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/ExternalInstallAnnotationPlugin.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/ExternalInstallationAnnotationPlugin.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/ExternalUninstallAnnotationPlugin.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/FactoryMethodAnnotationPlugin.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/FieldAnnotationPlugin.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/InjectAnnotationPlugin.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/InjectConstructorValueAnnotationPlugin.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/InstallCallbackAnnotationPlugin.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/InstallMethodParameterAnnotationPlugin.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/InstallationParameterAnnotationPlugin.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/JavaBeanValueAnnotationPlugin.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/LifecycleParameterAnnotationPlugin.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/ListConstructorValueAnnotationPlugin.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/ListValueAnnotationPlugin.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/MapConstructorValueAnnotationPlugin.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/MapValueAnnotationPlugin.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/MethodAnnotationPlugin.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/MethodInstallCallbackAnnotationPlugin.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/MethodUninstallCallbackAnnotationPlugin.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/NullValueAnnotationPlugin.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/PropertyAnnotationPlugin.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/PropertyInstallCallbackAnnotationPlugin.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/PropertyUninstallCallbackAnnotationPlugin.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/SetConstructorValueAnnotationPlugin.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/SetValueAnnotationPlugin.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/StartLifecycleAnnotationPlugin.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/StopLifecycleAnnotationPlugin.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/StringValueAnnotationPlugin.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/StringValueConstructorValueAnnotationPlugin.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/SupplysAnnotationPlugin.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/ThisValueAnnotationPlugin.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/UninstallCallbackAnnotationPlugin.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/UninstallMethodParameterAnnotationPlugin.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/ValueFactoryAnnotationPlugin.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/ValueFactoryConstructorValueAnnotationPlugin.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/ValueUtil.java
Log:
java docs, simple trace log.
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/AbstractAdaptersAnnotationPlugin.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/AbstractAdaptersAnnotationPlugin.java 2007-09-04 09:56:37 UTC (rev 65037)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/AbstractAdaptersAnnotationPlugin.java 2007-09-04 11:42:17 UTC (rev 65038)
@@ -29,6 +29,8 @@
import org.jboss.reflect.spi.AnnotatedInfo;
/**
+ * Adapters holder annotation plugin.
+ *
* @param <T> info type
* @param <C> annotation type
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/AbstractAnnotationPlugin.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/AbstractAnnotationPlugin.java 2007-09-04 09:56:37 UTC (rev 65037)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/AbstractAnnotationPlugin.java 2007-09-04 11:42:17 UTC (rev 65038)
@@ -40,7 +40,10 @@
import org.jboss.util.JBossStringBuilder;
/**
+ * Abstract annotation plugin.
+ *
* @param <T> info type
+ * @param <C> annotation type
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
public abstract class AbstractAnnotationPlugin<T extends AnnotatedInfo, C extends Annotation> extends JBossObject implements AnnotationPlugin<T, C>
@@ -70,11 +73,24 @@
}
}
+ /**
+ * Does attribute have value.
+ * Helper method.
+ *
+ * @param value the value
+ * @return true if atribute not null or non-empty
+ */
protected static boolean isAttributePresent(String value)
{
return ValueUtil.isAttributePresent(value);
}
+ /**
+ * Is type supported by plugin.
+ *
+ * @param type the annotation element type
+ * @return true if element supported
+ */
protected abstract boolean isElementTypeSupported(ElementType type);
public Set<ElementType> getSupportedTypes()
@@ -87,26 +103,70 @@
return annotation;
}
+ /**
+ * Is meta data already present.
+ *
+ * @param info the info
+ * @param annotation the annotation
+ * @param context the context
+ * @return true if meta data already present
+ */
protected boolean isMetaDataAlreadyPresent(T info, C annotation, KernelControllerContext context)
{
return isMetaDataAlreadyPresent(info, annotation, context.getBeanMetaData());
}
+ /**
+ * Is meta data already present.
+ *
+ * @param info the info
+ * @param annotation the annotation
+ * @param beanMetaData the bean meta data
+ * @return true if meta data already present
+ */
protected boolean isMetaDataAlreadyPresent(T info, C annotation, BeanMetaData beanMetaData)
{
return false;
}
+ /**
+ * Apply annotation since it's not present.
+ *
+ * @param info the info
+ * @param retrieval the metadata
+ * @param annotation the annotation
+ * @param context the context
+ * @return list of added meta data visitor nodes
+ * @throws Throwable for any error
+ */
protected List<? extends MetaDataVisitorNode> internalApplyAnnotation(T info, MetaData retrieval, C annotation, KernelControllerContext context) throws Throwable
{
return internalApplyAnnotation(info, annotation, context);
}
+ /**
+ * Apply annotation since it's not present.
+ *
+ * @param info the info
+ * @param annotation the annotation
+ * @param context the context
+ * @return list of added meta data visitor nodes
+ * @throws Throwable for any error
+ */
protected List<? extends MetaDataVisitorNode> internalApplyAnnotation(T info, C annotation, KernelControllerContext context) throws Throwable
{
return internalApplyAnnotation(info, annotation, context.getBeanMetaData());
}
+ /**
+ * Apply annotation since it's not present.
+ *
+ * @param info the info
+ * @param annotation the annotation
+ * @param beanMetaData the bean meta data
+ * @return list of added meta data visitor nodes
+ * @throws Throwable for any error
+ */
protected List<? extends MetaDataVisitorNode> internalApplyAnnotation(T info, C annotation, BeanMetaData beanMetaData) throws Throwable
{
log.warn("Probably missing annotation apply implementation: " + this);
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/AbstractParameterAnnotationPlugin.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/AbstractParameterAnnotationPlugin.java 2007-09-04 09:56:37 UTC (rev 65037)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/AbstractParameterAnnotationPlugin.java 2007-09-04 11:42:17 UTC (rev 65038)
@@ -43,6 +43,8 @@
import org.jboss.reflect.spi.TypeInfo;
/**
+ * Annotation plugin for handling annotations that take parameters.
+ *
* @param <T> info type
* @param <C> annotation type
* @param <P> mutable parametrized type
@@ -55,6 +57,13 @@
super(annotation, adapters);
}
+ /**
+ * Check additional element type -
+ * apart from Parameter element type.
+ *
+ * @param type the type
+ * @return true if additional type is supported
+ */
protected abstract boolean checkAnnotatedInfo(ElementType type);
protected boolean isElementTypeSupported(ElementType type)
@@ -62,48 +71,114 @@
return ElementType.PARAMETER == type || checkAnnotatedInfo(type);
}
+ /**
+ * Get the parameters infos from type.
+ *
+ * @param info the type
+ * @return array of parameter info
+ */
protected abstract ParameterInfo[] getParameters(T info);
+ /**
+ * Handle info which has zero parameters.
+ *
+ * @param info the info
+ * @param annotation the annotation
+ * @param context the context
+ * @return list of added meta data visitor nodes
+ */
protected List<? extends MetaDataVisitorNode> handleParameterlessInfo(T info, C annotation, KernelControllerContext context)
{
return handleParameterlessInfo(info, annotation, context.getBeanMetaData());
}
+ /**
+ * Handle info which has zero parameters.
+ *
+ * @param info the info
+ * @param annotation the annotation
+ * @param beanMetaData the bean metadata
+ * @return list of added meta data visitor nodes
+ */
protected abstract List<? extends MetaDataVisitorNode> handleParameterlessInfo(T info, C annotation, BeanMetaData beanMetaData);
+ /**
+ * Create new Parametrized metadata.
+ *
+ * @param info the info
+ * @param annotation the annotation
+ * @param context the context
+ * @return new ParameterizedMetaData instance
+ */
protected P createParametrizedMetaData(T info, C annotation, KernelControllerContext context)
{
return createParametrizedMetaData(info, annotation, context.getBeanMetaData());
}
+ /**
+ * Create new Parametrized metadata.
+ *
+ * @param info the info
+ * @param annotation the annotation
+ * @param beanMetaData the bean metadata
+ * @return new ParameterizedMetaData instance
+ */
protected P createParametrizedMetaData(T info, C annotation, BeanMetaData beanMetaData)
{
return createParametrizedMetaData(info, annotation);
}
+ /**
+ * Create new Parametrized metadata.
+ *
+ * @param info the info
+ * @param annotation the annotation
+ * @return new ParameterizedMetaData instance
+ */
protected P createParametrizedMetaData(T info, C annotation)
{
return createParametrizedMetaData(info);
}
+ /**
+ * Create new Parametrized metadata.
+ *
+ * @param info the info
+ * @return new ParameterizedMetaData instance
+ */
protected P createParametrizedMetaData(T info)
{
throw new IllegalArgumentException("Should implement one of createParameterizedMetaData methods!");
}
+ /**
+ * Set the ParameterizedMetaData instance.
+ *
+ * @param parameterizedMetaData the parameterized metadata
+ * @param context the context
+ */
protected void setParameterizedMetaData(P parameterizedMetaData, KernelControllerContext context)
{
setParameterizedMetaData(parameterizedMetaData, context.getBeanMetaData());
}
+ /**
+ * Set the ParameterizedMetaData instance.
+ * @param parameterizedMetaData the parameterized metadata
+ * @param beanMetaData the bean metadata
+ */
protected abstract void setParameterizedMetaData(P parameterizedMetaData, BeanMetaData beanMetaData);
@SuppressWarnings("unchecked")
protected List<? extends MetaDataVisitorNode> internalApplyAnnotation(T info, MetaData retrieval, C annotation, KernelControllerContext context) throws Throwable
{
+ boolean trace = log.isTraceEnabled();
+
ParameterInfo[] parameters = getParameters(info);
if (parameters == null || parameters.length == 0)
{
+ if (trace)
+ log.trace("Info " + info + " has zero parameters.");
return handleParameterlessInfo(info, annotation, context);
}
@@ -135,12 +210,14 @@
}
}
if (value == null)
- throw new IllegalArgumentException("No such Annotation2ValueMetaData adapter or no annotation on PropertyInfo: " + pi);
+ throw new IllegalArgumentException("No such Annotation2ValueMetaData adapter or no annotation on ParameterInfo: " + pi);
+ if (trace)
+ log.trace("Adding new ParameterMetaData for annotation: " + value);
pmds.add(new AbstractParameterMetaData(pi.getParameterType().getName(), value));
}
else
{
- throw new IllegalArgumentException("MetaDataRetrieval for parameter must exist: " + pi);
+ throw new IllegalArgumentException("MetaData for parameter must exist: " + pi);
}
}
P parameterizedMetaData = createParametrizedMetaData(info, annotation, context);
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/AliasesAnnotationPlugin.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/AliasesAnnotationPlugin.java 2007-09-04 09:56:37 UTC (rev 65037)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/AliasesAnnotationPlugin.java 2007-09-04 11:42:17 UTC (rev 65038)
@@ -34,6 +34,8 @@
import org.jboss.util.StringPropertyReplacer;
/**
+ * Aliases annotation plugin.
+ *
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
public class AliasesAnnotationPlugin extends ClassAnnotationPlugin<Aliases>
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/Annotation2ValueMetaDataAdapter.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/Annotation2ValueMetaDataAdapter.java 2007-09-04 09:56:37 UTC (rev 65037)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/Annotation2ValueMetaDataAdapter.java 2007-09-04 11:42:17 UTC (rev 65038)
@@ -26,12 +26,25 @@
import org.jboss.beans.metadata.spi.ValueMetaData;
/**
+ * Create ValueMetaData from Annotation.
+ *
* @param <C> annotation type
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
public interface Annotation2ValueMetaDataAdapter<C extends Annotation>
{
+ /**
+ * Get the annotation class we are handling.
+ *
+ * @return the annotation class
+ */
Class<C> getAnnotation();
+ /**
+ * Create ValueMetaData instance.
+ *
+ * @param annotation the annotation instance
+ * @return new ValueMetaData instance
+ */
ValueMetaData createValueMetaData(C annotation);
}
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/AnnotationPlugin.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/AnnotationPlugin.java 2007-09-04 09:56:37 UTC (rev 65037)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/AnnotationPlugin.java 2007-09-04 11:42:17 UTC (rev 65038)
@@ -30,15 +30,35 @@
import org.jboss.reflect.spi.AnnotatedInfo;
/**
+ * Annotation plugin contract.
+ *
* @param <T> info type
* @param <C> annotation type
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
public interface AnnotationPlugin<T extends AnnotatedInfo, C extends Annotation>
{
+ /**
+ * Get the annotation class we are handling.
+ *
+ * @return annotation class
+ */
Class<C> getAnnotation();
+ /**
+ * Get all supported types.
+ *
+ * @return set of supported types
+ */
Set<ElementType> getSupportedTypes();
+ /**
+ * Apply the check for annotation.
+ *
+ * @param info the info
+ * @param retrieval metadata instance
+ * @param visitor current context visitor
+ * @throws Throwable for any error
+ */
void applyAnnotation(T info, MetaData retrieval, MetaDataVisitor visitor) throws Throwable;
}
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/ArrayConstructorValueAnnotationPlugin.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/ArrayConstructorValueAnnotationPlugin.java 2007-09-04 09:56:37 UTC (rev 65037)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/ArrayConstructorValueAnnotationPlugin.java 2007-09-04 11:42:17 UTC (rev 65038)
@@ -25,6 +25,8 @@
import org.jboss.beans.metadata.spi.ValueMetaData;
/**
+ * Array constructor annotation plugin.
+ *
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
public class ArrayConstructorValueAnnotationPlugin extends ConstructorValueAnnotationPlugin<ArrayValue>
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/ArrayValueAnnotationPlugin.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/ArrayValueAnnotationPlugin.java 2007-09-04 09:56:37 UTC (rev 65037)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/ArrayValueAnnotationPlugin.java 2007-09-04 11:42:17 UTC (rev 65038)
@@ -27,6 +27,8 @@
import org.jboss.beans.metadata.spi.ValueMetaData;
/**
+ * Array value annotation plugin.
+ *
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
public class ArrayValueAnnotationPlugin extends CollectionsAnnotationPlugin<ArrayValue>
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/BasicBeanAnnotationAdapter.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/BasicBeanAnnotationAdapter.java 2007-09-04 09:56:37 UTC (rev 65037)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/BasicBeanAnnotationAdapter.java 2007-09-04 11:42:17 UTC (rev 65038)
@@ -47,6 +47,8 @@
import org.jboss.reflect.spi.MethodInfo;
/**
+ * Basic bean annotation handler.
+ *
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
@SuppressWarnings("unchecked")
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/BeanAnnotationAdapter.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/BeanAnnotationAdapter.java 2007-09-04 09:56:37 UTC (rev 65037)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/BeanAnnotationAdapter.java 2007-09-04 11:42:17 UTC (rev 65038)
@@ -24,6 +24,8 @@
import org.jboss.beans.metadata.spi.MetaDataVisitor;
/**
+ * Annotations adapter contract.
+ *
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
public interface BeanAnnotationAdapter
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/BeanAnnotationAdapterFactory.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/BeanAnnotationAdapterFactory.java 2007-09-04 09:56:37 UTC (rev 65037)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/BeanAnnotationAdapterFactory.java 2007-09-04 11:42:17 UTC (rev 65038)
@@ -22,12 +22,18 @@
package org.jboss.kernel.plugins.annotations;
/**
+ * BeanAnnotationAdapter factory.
+ *
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
public class BeanAnnotationAdapterFactory
{
private static final BeanAnnotationAdapter adapter = new BasicBeanAnnotationAdapter();
+ /**
+ * Get the BeanAnnotationAdapter instance.
+ * @return the BeanAnnotationAdapter instance
+ */
public static BeanAnnotationAdapter getBeanAnnotationAdapter()
{
return adapter;
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/CallbackAnnotationPlugin.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/CallbackAnnotationPlugin.java 2007-09-04 09:56:37 UTC (rev 65037)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/CallbackAnnotationPlugin.java 2007-09-04 11:42:17 UTC (rev 65038)
@@ -37,6 +37,8 @@
import org.jboss.reflect.spi.AnnotatedInfo;
/**
+ * Callback annotation plugin.
+ *
* @param <T> info type
* @param <C> annotation type
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
@@ -68,8 +70,21 @@
return false;
}
+ /**
+ * Does callback item corespond to info instance.
+ *
+ * @param info the info
+ * @param ci the callback item
+ * @return true if callback matches info
+ */
protected abstract boolean isEqual(T info, CallbackItem<?> ci);
+ /**
+ * Get the callbacks.
+ *
+ * @param dependency the dependency info
+ * @return set of callback items
+ */
protected abstract Set<CallbackItem<?>> getCallbacks(DependencyInfo dependency);
protected List<? extends MetaDataVisitorNode> internalApplyAnnotation(T info, C annotation, KernelControllerContext context)
@@ -81,9 +96,28 @@
return Collections.singletonList(callback);
}
+ /**
+ * Create new CallbackMetaData instance.
+ *
+ * @param info the info
+ * @param annotation the annotation
+ * @return new CallbackMetaData instance
+ */
protected abstract AbstractCallbackMetaData createCallback(T info, C annotation);
+ /**
+ * Apply additional information.
+ *
+ * @param callback the callback metadata
+ * @param info the info
+ */
protected abstract void applyInfo(AbstractCallbackMetaData callback, T info);
+ /**
+ * Get the callback metadatas.
+ *
+ * @param beanMetaData the bean metadata
+ * @return list of callback metadatas
+ */
protected abstract List<CallbackMetaData> getCallbacks(AbstractBeanMetaData beanMetaData);
}
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/ClassAnnotationPlugin.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/ClassAnnotationPlugin.java 2007-09-04 09:56:37 UTC (rev 65037)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/ClassAnnotationPlugin.java 2007-09-04 11:42:17 UTC (rev 65038)
@@ -27,6 +27,8 @@
import org.jboss.reflect.spi.ClassInfo;
/**
+ * Abstract class/type annotation plugin.
+ *
* @param <C> annotation type
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/ClassFactoryAnnotationPlugin.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/ClassFactoryAnnotationPlugin.java 2007-09-04 09:56:37 UTC (rev 65037)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/ClassFactoryAnnotationPlugin.java 2007-09-04 11:42:17 UTC (rev 65038)
@@ -38,6 +38,8 @@
import org.jboss.reflect.spi.ClassInfo;
/**
+ * Factory anootation plugin.
+ *
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
public class ClassFactoryAnnotationPlugin extends AbstractAdaptersAnnotationPlugin<ClassInfo, Factory>
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/CollectionConstructorValueAnnotationPlugin.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/CollectionConstructorValueAnnotationPlugin.java 2007-09-04 09:56:37 UTC (rev 65037)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/CollectionConstructorValueAnnotationPlugin.java 2007-09-04 11:42:17 UTC (rev 65038)
@@ -25,6 +25,8 @@
import org.jboss.beans.metadata.spi.ValueMetaData;
/**
+ * Collection constructor annotation plugin.
+ *
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
public class CollectionConstructorValueAnnotationPlugin extends ConstructorValueAnnotationPlugin<CollectionValue>
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/CollectionValueAnnotationPlugin.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/CollectionValueAnnotationPlugin.java 2007-09-04 09:56:37 UTC (rev 65037)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/CollectionValueAnnotationPlugin.java 2007-09-04 11:42:17 UTC (rev 65038)
@@ -27,6 +27,8 @@
import org.jboss.beans.metadata.spi.ValueMetaData;
/**
+ * Collection value annotation plugin.
+ *
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
public class CollectionValueAnnotationPlugin extends CollectionsAnnotationPlugin<CollectionValue>
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/CollectionsAnnotationPlugin.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/CollectionsAnnotationPlugin.java 2007-09-04 09:56:37 UTC (rev 65037)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/CollectionsAnnotationPlugin.java 2007-09-04 11:42:17 UTC (rev 65038)
@@ -27,6 +27,8 @@
import org.jboss.beans.metadata.spi.ValueMetaData;
/**
+ * Abstract collactions value annotaion plugin.
+ *
* @param <C> annotation type
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
@@ -37,6 +39,13 @@
super(annotation);
}
+ /**
+ * Create ValueMetaData instance.
+ * Helper method.
+ *
+ * @param value the value
+ * @return new ValueMetaData instance
+ */
protected ValueMetaData createValueMetaData(Value value)
{
return ValueUtil.createValueMetaData(value);
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/ConstructorAnnotationPlugin.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/ConstructorAnnotationPlugin.java 2007-09-04 09:56:37 UTC (rev 65037)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/ConstructorAnnotationPlugin.java 2007-09-04 11:42:17 UTC (rev 65038)
@@ -27,6 +27,8 @@
import org.jboss.reflect.spi.ConstructorInfo;
/**
+ * Abstract constructor annoattion plugin.
+ *
* @param <C> annotation type
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/ConstructorParameterAnnotationPlugin.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/ConstructorParameterAnnotationPlugin.java 2007-09-04 09:56:37 UTC (rev 65037)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/ConstructorParameterAnnotationPlugin.java 2007-09-04 11:42:17 UTC (rev 65038)
@@ -33,6 +33,8 @@
import org.jboss.reflect.spi.ParameterInfo;
/**
+ * Constructor annotation plugin.
+ *
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
public class ConstructorParameterAnnotationPlugin extends AbstractParameterAnnotationPlugin<ConstructorInfo, Constructor, AbstractConstructorMetaData>
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/ConstructorValueAnnotationPlugin.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/ConstructorValueAnnotationPlugin.java 2007-09-04 09:56:37 UTC (rev 65037)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/ConstructorValueAnnotationPlugin.java 2007-09-04 11:42:17 UTC (rev 65038)
@@ -33,6 +33,8 @@
import org.jboss.reflect.spi.ClassInfo;
/**
+ * Constructor value annotation plugin.
+ *
* @param <C> annotation type
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/CreateLifecycleAnnotationPlugin.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/CreateLifecycleAnnotationPlugin.java 2007-09-04 09:56:37 UTC (rev 65037)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/CreateLifecycleAnnotationPlugin.java 2007-09-04 11:42:17 UTC (rev 65038)
@@ -27,6 +27,8 @@
import org.jboss.beans.metadata.plugins.annotations.Create;
/**
+ * Create annotation plugin.
+ *
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
public class CreateLifecycleAnnotationPlugin extends LifecycleParameterAnnotationPlugin<Create>
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/DemandsAnnotationPlugin.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/DemandsAnnotationPlugin.java 2007-09-04 09:56:37 UTC (rev 65037)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/DemandsAnnotationPlugin.java 2007-09-04 11:42:17 UTC (rev 65038)
@@ -38,6 +38,8 @@
import org.jboss.reflect.spi.ClassInfo;
/**
+ * Demands annotation plugin.
+ *
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
public class DemandsAnnotationPlugin extends ClassAnnotationPlugin<Demands>
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/DependsAnnotationPlugin.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/DependsAnnotationPlugin.java 2007-09-04 09:56:37 UTC (rev 65037)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/DependsAnnotationPlugin.java 2007-09-04 11:42:17 UTC (rev 65038)
@@ -36,6 +36,8 @@
import org.jboss.reflect.spi.ClassInfo;
/**
+ * Depends annotation plugin.
+ *
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
public class DependsAnnotationPlugin extends ClassAnnotationPlugin<Depends>
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/DestroyLifecycleAnnotationPlugin.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/DestroyLifecycleAnnotationPlugin.java 2007-09-04 09:56:37 UTC (rev 65037)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/DestroyLifecycleAnnotationPlugin.java 2007-09-04 11:42:17 UTC (rev 65038)
@@ -27,6 +27,8 @@
import org.jboss.beans.metadata.spi.BeanMetaData;
/**
+ * Destroy annoattion plugin.
+ *
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
public class DestroyLifecycleAnnotationPlugin extends LifecycleParameterAnnotationPlugin<Destroy>
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/ExternalInstallAnnotationPlugin.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/ExternalInstallAnnotationPlugin.java 2007-09-04 09:56:37 UTC (rev 65037)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/ExternalInstallAnnotationPlugin.java 2007-09-04 11:42:17 UTC (rev 65038)
@@ -31,6 +31,8 @@
import org.jboss.beans.metadata.spi.InstallMetaData;
/**
+ * ExternalInstalls annotation plugin.
+ *
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
public class ExternalInstallAnnotationPlugin extends ExternalInstallationAnnotationPlugin<ExternalInstalls>
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/ExternalInstallationAnnotationPlugin.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/ExternalInstallationAnnotationPlugin.java 2007-09-04 09:56:37 UTC (rev 65037)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/ExternalInstallationAnnotationPlugin.java 2007-09-04 11:42:17 UTC (rev 65038)
@@ -39,6 +39,8 @@
import org.jboss.reflect.spi.ClassInfo;
/**
+ * Abstract external installation annotation plugin.
+ *
* @param <C> annotation type
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
@@ -49,10 +51,28 @@
super(annotation);
}
+ /**
+ * Get existing InstallMetaData list.
+ *
+ * @param beanMetaData the bean metadata
+ * @return list of existing InstallMetaData
+ */
protected abstract List<InstallMetaData> getExistingInstallMetaData(BeanMetaData beanMetaData);
+ /**
+ * Get ExternalInstall array from annotation.
+ *
+ * @param annotation the annotation
+ * @return array of ExternalInstall
+ */
protected abstract ExternalInstall[] getExternalInstalls(C annotation);
+ /**
+ * Create InstallMetaData from array of ExternalInstall.
+ *
+ * @param annotation the annotation
+ * @return list of InstallMetaData
+ */
protected List<InstallMetaData> getInstallMetaData(C annotation)
{
List<InstallMetaData> installs = new ArrayList<InstallMetaData>();
@@ -63,6 +83,12 @@
return installs;
}
+ /**
+ * Create InstallMetaData from ExternalInstall.
+ *
+ * @param install the existing install
+ * @return new InstallMetaData instance
+ */
protected InstallMetaData createInstallMetaData(ExternalInstall install)
{
AbstractInstallMetaData installMetaData = new AbstractInstallMetaData();
@@ -119,6 +145,13 @@
return null;
}
+ /**
+ * Compare twi InstallMetaData instances.
+ *
+ * @param first first InstallMetaData instance
+ * @param second second InstallMetaData instance
+ * @return true if instances differ
+ */
protected static boolean isDifferent(InstallMetaData first, InstallMetaData second)
{
if (notEqual(first.getBean(), second.getBean()))
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/ExternalUninstallAnnotationPlugin.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/ExternalUninstallAnnotationPlugin.java 2007-09-04 09:56:37 UTC (rev 65037)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/ExternalUninstallAnnotationPlugin.java 2007-09-04 11:42:17 UTC (rev 65038)
@@ -31,6 +31,8 @@
import org.jboss.beans.metadata.spi.InstallMetaData;
/**
+ * External uninstalls annotation plugin.
+ *
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
public class ExternalUninstallAnnotationPlugin extends ExternalInstallationAnnotationPlugin<ExternalUninstalls>
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/FactoryMethodAnnotationPlugin.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/FactoryMethodAnnotationPlugin.java 2007-09-04 09:56:37 UTC (rev 65037)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/FactoryMethodAnnotationPlugin.java 2007-09-04 11:42:17 UTC (rev 65038)
@@ -34,6 +34,8 @@
import org.jboss.reflect.spi.ParameterInfo;
/**
+ * Factory method annotation plugin.
+ *
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
public class FactoryMethodAnnotationPlugin extends AbstractParameterAnnotationPlugin<MethodInfo, FactoryMethod, AbstractConstructorMetaData>
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/FieldAnnotationPlugin.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/FieldAnnotationPlugin.java 2007-09-04 09:56:37 UTC (rev 65037)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/FieldAnnotationPlugin.java 2007-09-04 11:42:17 UTC (rev 65038)
@@ -27,6 +27,8 @@
import org.jboss.reflect.spi.FieldInfo;
/**
+ * Field annotation plugin.
+ *
* @param <C> annotation type
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/InjectAnnotationPlugin.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/InjectAnnotationPlugin.java 2007-09-04 09:56:37 UTC (rev 65037)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/InjectAnnotationPlugin.java 2007-09-04 11:42:17 UTC (rev 65038)
@@ -30,6 +30,8 @@
import org.jboss.dependency.spi.ControllerState;
/**
+ * Inject value annotation plugin.
+ *
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
public class InjectAnnotationPlugin extends PropertyAnnotationPlugin<Inject>
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/InjectConstructorValueAnnotationPlugin.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/InjectConstructorValueAnnotationPlugin.java 2007-09-04 09:56:37 UTC (rev 65037)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/InjectConstructorValueAnnotationPlugin.java 2007-09-04 11:42:17 UTC (rev 65038)
@@ -25,6 +25,8 @@
import org.jboss.beans.metadata.spi.ValueMetaData;
/**
+ * Inject constructor annotation plugin.
+ *
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
public class InjectConstructorValueAnnotationPlugin extends ConstructorValueAnnotationPlugin<Inject>
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/InstallCallbackAnnotationPlugin.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/InstallCallbackAnnotationPlugin.java 2007-09-04 09:56:37 UTC (rev 65037)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/InstallCallbackAnnotationPlugin.java 2007-09-04 11:42:17 UTC (rev 65038)
@@ -37,6 +37,8 @@
import org.jboss.reflect.spi.AnnotatedInfo;
/**
+ * Install callback annotation plugin.
+ *
* @param <T> info type
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/InstallMethodParameterAnnotationPlugin.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/InstallMethodParameterAnnotationPlugin.java 2007-09-04 09:56:37 UTC (rev 65037)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/InstallMethodParameterAnnotationPlugin.java 2007-09-04 11:42:17 UTC (rev 65038)
@@ -33,6 +33,8 @@
import org.jboss.dependency.spi.ControllerState;
/**
+ * Install method annotation plugin.
+ *
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
public class InstallMethodParameterAnnotationPlugin extends InstallationParameterAnnotationPlugin<InstallMethod>
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/InstallationParameterAnnotationPlugin.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/InstallationParameterAnnotationPlugin.java 2007-09-04 09:56:37 UTC (rev 65037)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/InstallationParameterAnnotationPlugin.java 2007-09-04 11:42:17 UTC (rev 65038)
@@ -37,6 +37,8 @@
import org.jboss.kernel.plugins.config.Configurator;
/**
+ * Abstract installation annotation plugin.
+ *
* @param <C> annotation type
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
@@ -88,6 +90,12 @@
return false;
}
+ /**
+ * Get the list of InstallMetaData from bean metadata.
+ *
+ * @param beanMetaData the bean metadata
+ * @return list of InstallMetaData
+ */
protected abstract List<InstallMetaData> getInstalls(BeanMetaData beanMetaData);
protected ParameterInfo[] getParameters(MethodInfo info)
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/JavaBeanValueAnnotationPlugin.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/JavaBeanValueAnnotationPlugin.java 2007-09-04 09:56:37 UTC (rev 65037)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/JavaBeanValueAnnotationPlugin.java 2007-09-04 11:42:17 UTC (rev 65038)
@@ -32,6 +32,8 @@
import org.jboss.config.spi.Configuration;
/**
+ * JavaBean value annotation plugin.
+ *
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
public class JavaBeanValueAnnotationPlugin extends PropertyAnnotationPlugin<JavaBeanValue>
@@ -43,6 +45,7 @@
static
{
+ // get Configuration instance
configuration = AccessController.doPrivileged(new PrivilegedAction<Configuration>()
{
public Configuration run()
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/LifecycleParameterAnnotationPlugin.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/LifecycleParameterAnnotationPlugin.java 2007-09-04 09:56:37 UTC (rev 65037)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/LifecycleParameterAnnotationPlugin.java 2007-09-04 11:42:17 UTC (rev 65038)
@@ -34,6 +34,8 @@
import org.jboss.reflect.spi.ParameterInfo;
/**
+ * Abstract lifecycle annotation plugin.
+ *
* @param <C> annotation type
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
@@ -49,6 +51,12 @@
return ElementType.METHOD == type;
}
+ /**
+ * Is lifecycle metadata present.
+ *
+ * @param beanMetaData the bean metadata
+ * @return true if lifecycle metadata exists
+ */
protected abstract boolean isLifecyclePresent(BeanMetaData beanMetaData);
protected AbstractLifecycleMetaData createLifecycleMetaData(String method, C annotation)
@@ -58,8 +66,20 @@
return lifecycle;
}
+ /**
+ * Apply lifecycle annotation.
+ *
+ * @param lifecycle lifecycle metadata
+ * @param annotation the annotation
+ */
protected abstract void applyLifecycleAnnotation(AbstractLifecycleMetaData lifecycle, C annotation);
+ /**
+ * Set lifecycle metadata.
+ *
+ * @param beanMetaData the bean metadata
+ * @param lifecycle the lifecycle metadata
+ */
protected abstract void setLifecycleMetaData(AbstractBeanMetaData beanMetaData, AbstractLifecycleMetaData lifecycle);
protected boolean isMetaDataAlreadyPresent(MethodInfo info, C annotation, BeanMetaData beanMetaData)
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/ListConstructorValueAnnotationPlugin.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/ListConstructorValueAnnotationPlugin.java 2007-09-04 09:56:37 UTC (rev 65037)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/ListConstructorValueAnnotationPlugin.java 2007-09-04 11:42:17 UTC (rev 65038)
@@ -25,6 +25,8 @@
import org.jboss.beans.metadata.spi.ValueMetaData;
/**
+ * List constructor annotation plugin.
+ *
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
public class ListConstructorValueAnnotationPlugin extends ConstructorValueAnnotationPlugin<ListValue>
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/ListValueAnnotationPlugin.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/ListValueAnnotationPlugin.java 2007-09-04 09:56:37 UTC (rev 65037)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/ListValueAnnotationPlugin.java 2007-09-04 11:42:17 UTC (rev 65038)
@@ -27,6 +27,8 @@
import org.jboss.beans.metadata.spi.ValueMetaData;
/**
+ * List value annotation plugin.
+ *
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
public class ListValueAnnotationPlugin extends CollectionsAnnotationPlugin<ListValue>
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/MapConstructorValueAnnotationPlugin.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/MapConstructorValueAnnotationPlugin.java 2007-09-04 09:56:37 UTC (rev 65037)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/MapConstructorValueAnnotationPlugin.java 2007-09-04 11:42:17 UTC (rev 65038)
@@ -25,6 +25,8 @@
import org.jboss.beans.metadata.spi.ValueMetaData;
/**
+ * Map constructor annotation plugin.
+ *
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
public class MapConstructorValueAnnotationPlugin extends ConstructorValueAnnotationPlugin<MapValue>
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/MapValueAnnotationPlugin.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/MapValueAnnotationPlugin.java 2007-09-04 09:56:37 UTC (rev 65037)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/MapValueAnnotationPlugin.java 2007-09-04 11:42:17 UTC (rev 65038)
@@ -27,6 +27,8 @@
import org.jboss.beans.metadata.spi.ValueMetaData;
/**
+ * Map value annotation plugin.
+ *
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
public class MapValueAnnotationPlugin extends CollectionsAnnotationPlugin<MapValue>
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/MethodAnnotationPlugin.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/MethodAnnotationPlugin.java 2007-09-04 09:56:37 UTC (rev 65037)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/MethodAnnotationPlugin.java 2007-09-04 11:42:17 UTC (rev 65038)
@@ -27,6 +27,8 @@
import org.jboss.reflect.spi.MethodInfo;
/**
+ * Plain method annotation plugin.
+ *
* @param <C> annotation type
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/MethodInstallCallbackAnnotationPlugin.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/MethodInstallCallbackAnnotationPlugin.java 2007-09-04 09:56:37 UTC (rev 65037)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/MethodInstallCallbackAnnotationPlugin.java 2007-09-04 11:42:17 UTC (rev 65038)
@@ -26,6 +26,8 @@
import org.jboss.dependency.spi.CallbackItem;
/**
+ * Method install annotation plugin.
+ *
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
public class MethodInstallCallbackAnnotationPlugin extends InstallCallbackAnnotationPlugin<MethodInfo>
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/MethodUninstallCallbackAnnotationPlugin.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/MethodUninstallCallbackAnnotationPlugin.java 2007-09-04 09:56:37 UTC (rev 65037)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/MethodUninstallCallbackAnnotationPlugin.java 2007-09-04 11:42:17 UTC (rev 65038)
@@ -26,6 +26,8 @@
import org.jboss.dependency.spi.CallbackItem;
/**
+ * Method uninstall annotation plugin.
+ *
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
public class MethodUninstallCallbackAnnotationPlugin extends UninstallCallbackAnnotationPlugin<MethodInfo>
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/NullValueAnnotationPlugin.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/NullValueAnnotationPlugin.java 2007-09-04 09:56:37 UTC (rev 65037)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/NullValueAnnotationPlugin.java 2007-09-04 11:42:17 UTC (rev 65038)
@@ -26,6 +26,8 @@
import org.jboss.beans.metadata.spi.ValueMetaData;
/**
+ * Null value annotation plugin.
+ *
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
public class NullValueAnnotationPlugin extends PropertyAnnotationPlugin<NullValue>
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/PropertyAnnotationPlugin.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/PropertyAnnotationPlugin.java 2007-09-04 09:56:37 UTC (rev 65037)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/PropertyAnnotationPlugin.java 2007-09-04 11:42:17 UTC (rev 65038)
@@ -38,6 +38,8 @@
import org.jboss.kernel.spi.dependency.KernelControllerContext;
/**
+ * Abstract property annotation plugin.
+ *
* @param <C> annotation type
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
@@ -76,22 +78,51 @@
return Collections.singletonList(property);
}
+ /**
+ * Get PropertyMetaData instance.
+ *
+ * @param info the info
+ * @param annotation the annotation
+ * @param context the context
+ * @return get new PropertyMetaData instance
+ */
protected PropertyMetaData getPropertyMetaData(PropertyInfo info, C annotation, KernelControllerContext context)
{
return getPropertyMetaData(info, annotation, context.getBeanMetaData());
}
+ /**
+ * Get PropertyMetaData instance.
+ *
+ * @param info the info
+ * @param annotation the annotation
+ * @param beanMetaData the bean metadata
+ * @return get new PropertyMetaData instance
+ */
protected PropertyMetaData getPropertyMetaData(PropertyInfo info, C annotation, BeanMetaData beanMetaData)
{
return getPropertyMetaData(info, annotation);
}
+ /**
+ * Get PropertyMetaData instance.
+ *
+ * @param info the info
+ * @param annotation the annotation
+ * @return get new PropertyMetaData instance
+ */
protected PropertyMetaData getPropertyMetaData(PropertyInfo info, C annotation)
{
ValueMetaData value = createValueMetaData(annotation);
return new AbstractPropertyMetaData(info.getName(), value);
}
+ /**
+ * Get the PropertyMetaData set.
+ *
+ * @param context the context
+ * @return set of existing PropertyMetaData
+ */
protected Set<PropertyMetaData> getProperties(KernelControllerContext context)
{
BeanMetaData beanMetaData = context.getBeanMetaData();
@@ -104,5 +135,4 @@
}
return properties;
}
-
}
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/PropertyInstallCallbackAnnotationPlugin.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/PropertyInstallCallbackAnnotationPlugin.java 2007-09-04 09:56:37 UTC (rev 65037)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/PropertyInstallCallbackAnnotationPlugin.java 2007-09-04 11:42:17 UTC (rev 65038)
@@ -26,6 +26,8 @@
import org.jboss.dependency.spi.CallbackItem;
/**
+ * Property install annotation plugin.
+ *
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
public class PropertyInstallCallbackAnnotationPlugin extends InstallCallbackAnnotationPlugin<PropertyInfo> implements PropertyAware
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/PropertyUninstallCallbackAnnotationPlugin.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/PropertyUninstallCallbackAnnotationPlugin.java 2007-09-04 09:56:37 UTC (rev 65037)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/PropertyUninstallCallbackAnnotationPlugin.java 2007-09-04 11:42:17 UTC (rev 65038)
@@ -26,6 +26,8 @@
import org.jboss.dependency.spi.CallbackItem;
/**
+ * Property uninstall annotation plugin.
+ *
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
public class PropertyUninstallCallbackAnnotationPlugin extends UninstallCallbackAnnotationPlugin<PropertyInfo> implements PropertyAware
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/SetConstructorValueAnnotationPlugin.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/SetConstructorValueAnnotationPlugin.java 2007-09-04 09:56:37 UTC (rev 65037)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/SetConstructorValueAnnotationPlugin.java 2007-09-04 11:42:17 UTC (rev 65038)
@@ -25,6 +25,8 @@
import org.jboss.beans.metadata.spi.ValueMetaData;
/**
+ * Set constructor annotation plugin.
+ *
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
public class SetConstructorValueAnnotationPlugin extends ConstructorValueAnnotationPlugin<SetValue>
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/SetValueAnnotationPlugin.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/SetValueAnnotationPlugin.java 2007-09-04 09:56:37 UTC (rev 65037)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/SetValueAnnotationPlugin.java 2007-09-04 11:42:17 UTC (rev 65038)
@@ -27,6 +27,8 @@
import org.jboss.beans.metadata.spi.ValueMetaData;
/**
+ * Set value annotation plugin.
+ *
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
public class SetValueAnnotationPlugin extends CollectionsAnnotationPlugin<SetValue>
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/StartLifecycleAnnotationPlugin.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/StartLifecycleAnnotationPlugin.java 2007-09-04 09:56:37 UTC (rev 65037)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/StartLifecycleAnnotationPlugin.java 2007-09-04 11:42:17 UTC (rev 65038)
@@ -27,6 +27,8 @@
import org.jboss.beans.metadata.spi.BeanMetaData;
/**
+ * Start annotation plugin.
+ *
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
public class StartLifecycleAnnotationPlugin extends LifecycleParameterAnnotationPlugin<Start>
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/StopLifecycleAnnotationPlugin.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/StopLifecycleAnnotationPlugin.java 2007-09-04 09:56:37 UTC (rev 65037)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/StopLifecycleAnnotationPlugin.java 2007-09-04 11:42:17 UTC (rev 65038)
@@ -27,6 +27,8 @@
import org.jboss.beans.metadata.spi.BeanMetaData;
/**
+ * Stop annotation plugin.
+ *
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
public class StopLifecycleAnnotationPlugin extends LifecycleParameterAnnotationPlugin<Stop>
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/StringValueAnnotationPlugin.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/StringValueAnnotationPlugin.java 2007-09-04 09:56:37 UTC (rev 65037)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/StringValueAnnotationPlugin.java 2007-09-04 11:42:17 UTC (rev 65038)
@@ -26,6 +26,8 @@
import org.jboss.beans.metadata.spi.ValueMetaData;
/**
+ * String value annotation plugin.
+ *
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
public class StringValueAnnotationPlugin extends PropertyAnnotationPlugin<StringValue>
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/StringValueConstructorValueAnnotationPlugin.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/StringValueConstructorValueAnnotationPlugin.java 2007-09-04 09:56:37 UTC (rev 65037)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/StringValueConstructorValueAnnotationPlugin.java 2007-09-04 11:42:17 UTC (rev 65038)
@@ -25,6 +25,8 @@
import org.jboss.beans.metadata.spi.ValueMetaData;
/**
+ * String constructor annotation plugin.
+ *
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
public class StringValueConstructorValueAnnotationPlugin extends ConstructorValueAnnotationPlugin<StringValue>
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/SupplysAnnotationPlugin.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/SupplysAnnotationPlugin.java 2007-09-04 09:56:37 UTC (rev 65037)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/SupplysAnnotationPlugin.java 2007-09-04 11:42:17 UTC (rev 65038)
@@ -35,6 +35,8 @@
import org.jboss.reflect.spi.ClassInfo;
/**
+ * Supplys annotation plugin.
+ *
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
public class SupplysAnnotationPlugin extends ClassAnnotationPlugin<Supplys>
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/ThisValueAnnotationPlugin.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/ThisValueAnnotationPlugin.java 2007-09-04 09:56:37 UTC (rev 65037)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/ThisValueAnnotationPlugin.java 2007-09-04 11:42:17 UTC (rev 65038)
@@ -26,6 +26,8 @@
import org.jboss.beans.metadata.spi.ValueMetaData;
/**
+ * This value annotation plugin.
+ *
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
public class ThisValueAnnotationPlugin extends PropertyAnnotationPlugin<ThisValue>
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/UninstallCallbackAnnotationPlugin.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/UninstallCallbackAnnotationPlugin.java 2007-09-04 09:56:37 UTC (rev 65037)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/UninstallCallbackAnnotationPlugin.java 2007-09-04 11:42:17 UTC (rev 65038)
@@ -37,6 +37,8 @@
import org.jboss.reflect.spi.AnnotatedInfo;
/**
+ * Uninstall annotation plugin.
+ *
* @param <T> info type
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/UninstallMethodParameterAnnotationPlugin.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/UninstallMethodParameterAnnotationPlugin.java 2007-09-04 09:56:37 UTC (rev 65037)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/UninstallMethodParameterAnnotationPlugin.java 2007-09-04 11:42:17 UTC (rev 65038)
@@ -33,6 +33,8 @@
import org.jboss.reflect.spi.MethodInfo;
/**
+ * Uninstall method annotation plugin.
+ *
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
public class UninstallMethodParameterAnnotationPlugin extends InstallationParameterAnnotationPlugin<UninstallMethod>
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/ValueFactoryAnnotationPlugin.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/ValueFactoryAnnotationPlugin.java 2007-09-04 09:56:37 UTC (rev 65037)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/ValueFactoryAnnotationPlugin.java 2007-09-04 11:42:17 UTC (rev 65038)
@@ -33,6 +33,8 @@
import org.jboss.dependency.spi.ControllerState;
/**
+ * Value factory annotation plugin.
+ *
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
public class ValueFactoryAnnotationPlugin extends PropertyAnnotationPlugin<ValueFactory>
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/ValueFactoryConstructorValueAnnotationPlugin.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/ValueFactoryConstructorValueAnnotationPlugin.java 2007-09-04 09:56:37 UTC (rev 65037)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/ValueFactoryConstructorValueAnnotationPlugin.java 2007-09-04 11:42:17 UTC (rev 65038)
@@ -25,6 +25,8 @@
import org.jboss.beans.metadata.spi.ValueMetaData;
/**
+ * Value factory constructor annotation plugin.
+ *
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
public class ValueFactoryConstructorValueAnnotationPlugin extends ConstructorValueAnnotationPlugin<ValueFactory>
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/ValueUtil.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/ValueUtil.java 2007-09-04 09:56:37 UTC (rev 65037)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/ValueUtil.java 2007-09-04 11:42:17 UTC (rev 65038)
@@ -32,21 +32,40 @@
import org.jboss.beans.metadata.spi.ValueMetaData;
/**
+ * Simple util class.
+ *
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
final class ValueUtil
{
+ /**
+ * Does value already exist.
+ *
+ * @param value the value to check
+ */
private static void checkValueMetaData(ValueMetaData value)
{
if (value != null)
throw new IllegalArgumentException("@Value/@Parameter annotation has too many values set!");
}
+ /**
+ * Is attribute present.
+ *
+ * @param value the attribute value
+ * @return true if not null and not-empty
+ */
static boolean isAttributePresent(String value)
{
return value != null && value.length() > 0;
}
+ /**
+ * Create value meta data from @Value annotation.
+ *
+ * @param value the @Value annotation
+ * @return new ValueMetaData instance
+ */
static ValueMetaData createValueMetaData(Value value)
{
ValueMetaData vmd = null;
@@ -98,6 +117,12 @@
return vmd;
}
+ /**
+ * Create value meta data from @Parameter annotation.
+ *
+ * @param parameter the @Parameter annotation
+ * @return new ValueMetaData instance
+ */
static ValueMetaData createValueMetaData(Parameter parameter)
{
ValueMetaData vmd = null;
More information about the jboss-cvs-commits
mailing list