@Override public void visitEnum(final String name, final String desc, final String value) { try { String enumName = Type.getType(desc).getClassName(); Class<?> enumClass = ClassLoaderHolder.getClassLoader().loadClass(enumName); Method valueOf = enumClass.getDeclaredMethod("valueOf", String.class); Object object = valueOf.invoke(null, value); metadata.putParameter(name, object); } catch (Exception e) { // ignored } }
@Override public void visitEnum(final String name, final String desc, final String value) { try { String enumName = Type.getType(desc).getClassName(); Class<?> enumClass = ClassLoaderHolder.getClassLoader().loadClass(enumName); Method valueOf = enumClass.getDeclaredMethod("valueOf", String.class); Object object = valueOf.invoke(null, value); metadata.putParameter(name, object); } catch (Exception e) { // ignored } }
@Override public void visitEnd() { try { Class<?> annotationClass = ClassLoaderHolder.getClassLoader().loadClass(className); // Check declared default values of attributes in the annotation type. Method[] annotationAttributes = annotationClass.getMethods(); for (Method annotationAttribute : annotationAttributes) { String attributeName = annotationAttribute.getName(); Object defaultValue = annotationAttribute.getDefaultValue(); if (defaultValue != null && !metadata.hasKey(attributeName)) metadata.putParameter(attributeName, defaultValue); } annotations.put(className, metadata); } catch (ClassNotFoundException ex) { // Class not found - can't determine meta-annotations. } } }
@Override public void visitEnd() { try { Class<?> annotationClass = ClassLoaderHolder.getClassLoader().loadClass(className); // Check declared default values of attributes in the annotation type. Method[] annotationAttributes = annotationClass.getMethods(); for (Method annotationAttribute : annotationAttributes) { String attributeName = annotationAttribute.getName(); Object defaultValue = annotationAttribute.getDefaultValue(); if (defaultValue != null && !metadata.hasKey(attributeName)) metadata.putParameter(attributeName, defaultValue); } annotations.put(className, metadata); } catch (ClassNotFoundException ex) { // Class not found - can't determine meta-annotations. } } }
@Override public void visit(final String name, final Object value) { metadata.putParameter(name, value); }
@Override public void visit(final String name, final Object value) { metadata.putParameter(name, value); }