Coverage Report - net.mtu.eggplant.annotation.FindBugsAnnotationProcessorFactory
 
Classes in this File Line Coverage Branch Coverage Complexity
FindBugsAnnotationProcessorFactory
0%
0/7
0%
0/2
1.333
 
 1  
 /*
 2  
  * Copyright (c) 2008
 3  
  *      Jon Schewe.  All rights reserved
 4  
  *
 5  
  * Redistribution and use in source and binary forms, with or without
 6  
  * modification, are permitted provided that the following conditions
 7  
  * are met:
 8  
  * 1. Redistributions of source code must retain the above copyright
 9  
  *    notice, this list of conditions and the following disclaimer.
 10  
  * 2. Redistributions in binary form must reproduce the above copyright
 11  
  *    notice, this list of conditions and the following disclaimer in the
 12  
  *    documentation and/or other materials provided with the distribution.
 13  
  *
 14  
  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
 15  
  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 16  
  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 17  
  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
 18  
  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 19  
  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
 20  
  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 21  
  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 22  
  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 23  
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 24  
  * SUCH DAMAGE.
 25  
  *
 26  
  * I'd appreciate comments/suggestions on the code jpschewe@mtu.net
 27  
  */
 28  
 package net.mtu.eggplant.annotation;
 29  
 
 30  
 import java.util.Collection;
 31  
 import java.util.Collections;
 32  
 import java.util.Set;
 33  
 
 34  
 import com.sun.mirror.apt.AnnotationProcessor;
 35  
 import com.sun.mirror.apt.AnnotationProcessorEnvironment;
 36  
 import com.sun.mirror.apt.AnnotationProcessorFactory;
 37  
 import com.sun.mirror.apt.AnnotationProcessors;
 38  
 import com.sun.mirror.declaration.AnnotationTypeDeclaration;
 39  
 
 40  
 /**
 41  
  * Factory for {@link FindBugsAnnotationProcessor}
 42  
  */
 43  0
 public class FindBugsAnnotationProcessorFactory implements AnnotationProcessorFactory {
 44  
 
 45  
   /**
 46  
    * @see com.sun.mirror.apt.AnnotationProcessorFactory#getProcessorFor(java.util.Set,
 47  
    *      com.sun.mirror.apt.AnnotationProcessorEnvironment)
 48  
    */
 49  
   public AnnotationProcessor getProcessorFor(final Set<AnnotationTypeDeclaration> declarations, final AnnotationProcessorEnvironment env) {
 50  
     AnnotationProcessor result;
 51  0
     if (declarations.isEmpty()) {
 52  0
       result = AnnotationProcessors.NO_OP;
 53  
     } else {
 54  
       // Next Step - implement this class:
 55  0
       result = new FindBugsAnnotationProcessor(env);
 56  
     }
 57  0
     return result;
 58  
   }
 59  
 
 60  
   /**
 61  
    * @see com.sun.mirror.apt.AnnotationProcessorFactory#supportedAnnotationTypes()
 62  
    */
 63  
   public Collection<String> supportedAnnotationTypes() {
 64  0
     return Collections.singletonList("edu.umd.cs.findbugs.annotations.SuppressWarnings");
 65  
   }
 66  
 
 67  
   /**
 68  
    * @see com.sun.mirror.apt.AnnotationProcessorFactory#supportedOptions()
 69  
    */
 70  
   public Collection<String> supportedOptions() {
 71  0
     return Collections.emptyList();
 72  
   }
 73  
 
 74  
 }