Coverage Report - com.lexicalscope.fluentreflection.ReflectedSuperclassesAndInterfacesImpl
 
Classes in this File Line Coverage Branch Coverage Complexity
ReflectedSuperclassesAndInterfacesImpl
100%
9/9
50%
1/2
1.5
 
 1  
 package com.lexicalscope.fluentreflection;
 2  
 
 3  
 import static java.util.Collections.unmodifiableList;
 4  
 
 5  
 import java.util.List;
 6  
 
 7  
 import com.google.inject.TypeLiteral;
 8  
 
 9  
 final class ReflectedSuperclassesAndInterfacesImpl<T> implements ReflectedSuperclassesAndInterfaces<T> {
 10  
     private final ReflectedTypeFactory reflectedTypeFactory;
 11  
     private List<FluentClass<?>> interfacesAndSuperClass;
 12  
     private final TypeLiteral<T> typeLiteral;
 13  
 
 14  14584
     ReflectedSuperclassesAndInterfacesImpl(
 15  
             final ReflectedTypeFactory reflectedTypeFactory,
 16  
             final TypeLiteral<T> typeLiteral) {
 17  14584
         this.reflectedTypeFactory = reflectedTypeFactory;
 18  14584
         this.typeLiteral = typeLiteral;
 19  14584
     }
 20  
 
 21  
     @Override public List<FluentClass<?>> superclassesAndInterfaces() {
 22  1588
         if (interfacesAndSuperClass == null) {
 23  2968
             interfacesAndSuperClass =
 24  2968
                     unmodifiableList(new TypeHierarchyCalculation(reflectedTypeFactory)
 25  1588
                             .interfacesAndSuperClass(typeLiteral));
 26  
         }
 27  1380
         return interfacesAndSuperClass;
 28  
     }
 29  
 }