Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * JBoss, Home of Professional Open Source.
   * Copyright 2008, Red Hat Middleware LLC, and individual contributors
   * as indicated by the @author tags. See the copyright.txt file in the
   * distribution for a full listing of individual contributors.
   *
   * This is free software; you can redistribute it and/or modify it
   * under the terms of the GNU Lesser General Public License as
   * published by the Free Software Foundation; either version 2.1 of
  * the License, or (at your option) any later version.
  *
  * This software is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  * Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with this software; if not, write to the Free
  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
  */
 package org.jboss.as.connector.annotations.repository.jandex;
 
 
 import java.util.List;
 
 
 import static org.jboss.as.connector.ConnectorMessages.MESSAGES;

A AnnotationRepositoryImpl.

Author(s):
Stefano Maestri
 
 
     private final Index backingRepository;
 
     private final ClassLoader cl;

    
Create a new AnnotationRepositoryImpl using papaki backend

Parameters:
backingRepository the caking papaki repository
cl classLoader
Throws:
java.lang.IllegalArgumentException in case pas sed repository is null
 
     public JandexAnnotationRepositoryImpl(Index backingRepositoryClassLoader clthrows IllegalArgumentException {
         if (backingRepository == null)
             throw new IllegalArgumentException(.nullVar("backingRepository"));
         this. = backingRepository;
         this. = cl;
     }
 
     @Override
     public Collection<AnnotationgetAnnotation(Class<?> annotationClass) {
         List<AnnotationInstanceinstances = .getAnnotations(DotName.createSimple(annotationClass
                 .getName()));
         ArrayList<Annotationannotations = new ArrayList<Annotation>(instances.size());
         for (AnnotationInstance instance : instances) {
             AnnotationTarget target = instance.target();
             Annotation annotation = null;
             if (target instanceof MethodInfo) {
                 MethodInfo m = (MethodInfotarget;
                 List<StringparameterTypes = new ArrayList<String>(m.args().length);
                 for (Type type : m.args()) {
                     parameterTypes.add(type.toString());
                 }
                 String declaringClass = m.declaringClass().name().toString();
                 annotation = new AnnotationImpl(declaringClassparameterTypesm.name(), truefalseannotationClass);
             }
             if (target instanceof FieldInfo) {
                 FieldInfo f = (FieldInfotarget;
                 String declaringClass = f.declaringClass().name().toString();
                 annotation = new AnnotationImpl(declaringClassnullf.name(), falsetrueannotationClass);
             }
             if (target instanceof ClassInfo) {
                 ClassInfo c = (ClassInfotarget;
                 annotation = new AnnotationImpl(c.name().toString(), nullnullfalsefalseannotationClass);
             }
             if (annotation != null) {
                 annotations.add(annotation);
             }
        }
        annotations.trimToSize();
        if (annotations.size() == 0) {
            return null;
        } else {
            return Collections.unmodifiableList(annotations);
        }
    }
New to GrepCode? Check out our FAQ X