You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by cz...@apache.org on 2011/02/22 17:04:28 UTC
svn commit: r1073374 -
/felix/trunk/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/tags/annotation/Util.java
Author: cziegeler
Date: Tue Feb 22 16:04:27 2011
New Revision: 1073374
URL: http://svn.apache.org/viewvc?rev=1073374&view=rev
Log:
Use current generator project.
Modified:
felix/trunk/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/tags/annotation/Util.java
Modified: felix/trunk/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/tags/annotation/Util.java
URL: http://svn.apache.org/viewvc/felix/trunk/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/tags/annotation/Util.java?rev=1073374&r1=1073373&r2=1073374&view=diff
==============================================================================
--- felix/trunk/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/tags/annotation/Util.java (original)
+++ felix/trunk/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/tags/annotation/Util.java Tue Feb 22 16:04:27 2011
@@ -308,6 +308,38 @@ public abstract class Util {
}
}
+ public static Class<?>[] getClassArrayValue(Annotation annotation, String name, final Class<?> clazz) {
+ final Object obj = annotation.getNamedParameter(name);
+ if ( obj != null ) {
+ if ( obj instanceof Class<?> ) {
+ return new Class<?>[] {(Class<?>)obj};
+ }
+ if ( obj.getClass().isArray() ) {
+ final Object[] objArray = (Object[])obj;
+ final Class<?>[] result = new Class<?>[objArray.length];
+ for(int i=0; i<objArray.length;i++) {
+ if ( objArray[i] instanceof Class<?>) {
+ result[i] = (Class<?>)objArray[i];
+ } else {
+ result[i] = ClassUtil.getClass(objArray[i].toString());
+ }
+ }
+ return result;
+ }
+ return new Class<?>[] {ClassUtil.getClass(obj.toString())};
+ }
+ try {
+ final Object val = clazz.getMethod(name).getDefaultValue();
+ if ( val instanceof Class<?> ) {
+ return new Class<?>[] {(Class<?>)val};
+ }
+ return (Class<?>[])val;
+ } catch( NoSuchMethodException mnfe) {
+ // we ignore this
+ return null;
+ }
+ }
+
public static <T extends Enum<T>> T getEnumValue(Annotation annotation,
String name,
final Class<T> enumClass,