private static boolean isAnnotated(ClassFile cfile, Class<? extends Annotation>[] annotated) { List attributes = U.safe(cfile.getAttributes()); for (Object attribute : attributes) { if (attribute instanceof AnnotationsAttribute) { AnnotationsAttribute annotations = (AnnotationsAttribute) attribute; for (Class<? extends Annotation> ann : annotated) { if (annotations.getAnnotation(ann.getName()) != null) { return true; } } } } return false; }
List<?> attributes = classFile.getAttributes(); Iterator<?> itr = attributes.iterator(); while (itr.hasNext()) {
pool.importPackage("javax.persistence"); pool.importPackage("java.lang"); List<?> attributes = classFile.getAttributes(); Iterator<?> itr = attributes.iterator(); while (itr.hasNext()) {
protected void buildClassLevelAnnotations(ClassFile classFile, ClassFile templateClassFile, ConstPool constantPool) throws NotFoundException { List<?> templateAttributes = templateClassFile.getAttributes(); Iterator<?> templateItr = templateAttributes.iterator(); Annotation templateEntityListeners = null; List<?> attributes = classFile.getAttributes(); Iterator<?> itr = attributes.iterator(); Annotation existingEntityListeners = null;
List<?> classFileAttributes = classFile.getAttributes(); Iterator<?> classItr = classFileAttributes.iterator(); AnnotationsAttribute attr = null;
printAttributes(cf.getAttributes(), out, 'c');
List<?> attributes = clazz.getClassFile().getAttributes(); Iterator<?> itr = attributes.iterator(); List<String> templates = new ArrayList<>();
boolean containsTypeLevelAnnotation = false; List<?> attributes = classFile.getAttributes(); Iterator<?> itr = attributes.iterator(); while (itr.hasNext()) {
ConstPool constantPool = classFile.getConstPool(); AnnotationsAttribute annotationsAttribute = new AnnotationsAttribute(constantPool, AnnotationsAttribute.visibleTag); List<?> attributes = classFile.getAttributes(); Iterator<?> itr = attributes.iterator(); while(itr.hasNext()) {
printAttributes(cf.getAttributes(), out, 'c');
ConstPool constantPool = classFile.getConstPool(); List<?> attributes = classFile.getAttributes(); AnnotationsAttribute annotationsAttribute = stripAnnotation(constantPool, attributes); classFile.addAttribute(annotationsAttribute);
public static boolean hasAnnotation(ClassFile classFile, String annotationClassName) { List attributes = classFile.getAttributes(); return hasAnnotation(attributes, annotationClassName); }
public static boolean hasAnnotation(ClassFile classFile, String annotationClassName) { List attributes = classFile.getAttributes(); return hasAnnotation(attributes, annotationClassName); }
private List<AnnotationMetadata> annotationsFor( ClassFile clazz ) { List<AnnotationMetadata> annotations = new LinkedList<AnnotationMetadata>(); for (Object ob : clazz.getAttributes()) { AttributeInfo att = (AttributeInfo)ob; if (att instanceof AnnotationsAttribute) { for (Annotation ann : ((AnnotationsAttribute)att).getAnnotations()) { annotations.add(new AnnotationMetadata(ann)); } } } return Collections.unmodifiableList(annotations); }
private List<AnnotationMetadata> annotationsFor( ClassFile clazz ) { List<AnnotationMetadata> annotations = new LinkedList<AnnotationMetadata>(); for (Object ob : clazz.getAttributes()) { AttributeInfo att = (AttributeInfo)ob; if (att instanceof AnnotationsAttribute) { for (Annotation ann : ((AnnotationsAttribute)att).getAnnotations()) { annotations.add(new AnnotationMetadata(ann)); } } } return Collections.unmodifiableList(annotations); }
private List<AnnotationMetadata> annotationsFor( ClassFile clazz ) { List<AnnotationMetadata> annotations = new LinkedList<AnnotationMetadata>(); for (Object ob : clazz.getAttributes()) { AttributeInfo att = (AttributeInfo)ob; if (att instanceof AnnotationsAttribute) { for (Annotation ann : ((AnnotationsAttribute)att).getAnnotations()) { annotations.add(new AnnotationMetadata(ann)); } } } return Collections.unmodifiableList(annotations); }
@Override public boolean matches(CtClass ctClass) { List attributes = ctClass.getClassFile().getAttributes(); boolean hasAnnotation = hasAnnotation(attributes); if (!hasAnnotation) { try { CtClass declaringClass = ctClass.getDeclaringClass(); if (declaringClass != null) { attributes = declaringClass.getClassFile().getAttributes(); hasAnnotation = hasAnnotation(attributes); } } catch (NotFoundException e) { LOGGER.log(Level.FINE, "Failed to load class '" + ctClass.getName() + "': " + e.getLocalizedMessage(), e); } } return hasAnnotation; }
@Override public boolean matches(CtClass ctClass) { List attributes = ctClass.getClassFile().getAttributes(); boolean hasAnnotation = hasAnnotation(attributes); if (!hasAnnotation) { try { CtClass declaringClass = ctClass.getDeclaringClass(); if (declaringClass != null) { attributes = declaringClass.getClassFile().getAttributes(); hasAnnotation = hasAnnotation(attributes); } } catch (NotFoundException e) { LOGGER.log(Level.FINE, "Failed to load class '" + ctClass.getName() + "': " + e.getLocalizedMessage(), e); } } return hasAnnotation; }
@Override public boolean matches(CtField ctField) { List attributes = ctField.getFieldInfo().getAttributes(); boolean hasAnnotation = hasAnnotation(attributes); if (!hasAnnotation) { CtClass declaringClass = ctField.getDeclaringClass(); hasAnnotation = hasAnnotation(declaringClass.getClassFile().getAttributes()); if (!hasAnnotation) { try { declaringClass = declaringClass.getDeclaringClass(); if (declaringClass != null) { hasAnnotation = hasAnnotation(declaringClass.getClassFile().getAttributes()); } } catch (NotFoundException e) { LOGGER.log(Level.FINE, "Failed to load class '" + declaringClass.getName() + "': " + e.getLocalizedMessage(), e); } } } return hasAnnotation; }
/* package private */ void markAsProcessed(final CtClass ctClass) { final ClassFile classFile = ctClass.getClassFile(); for (final Object attributeObject : classFile.getAttributes()) { if (attributeObject instanceof AnnotationsAttribute) { final AnnotationsAttribute annotationAttribute = (AnnotationsAttribute) attributeObject; final javassist.bytecode.annotation.Annotation annotation = annotationAttribute.getAnnotation(PROCESSED_ANNOTATION_CLASS); if (annotation != null) { return; } } } final javassist.bytecode.annotation.Annotation annotation = new javassist.bytecode.annotation.Annotation(PROCESSED_ANNOTATION_CLASS, classFile.getConstPool()); final AnnotationsAttribute annotationAttribute = new AnnotationsAttribute(classFile.getConstPool(), AnnotationsAttribute.visibleTag); annotationAttribute.addAnnotation(annotation); classFile.addAttribute(annotationAttribute); }