blob: e749ccf87faa27d21b9f624518958fa3df690009 [file] [log] [blame]
<?xml version="1.0"?>
<!DOCTYPE coverage SYSTEM "http://cobertura.sourceforge.net/xml/coverage-04.dtd">
<coverage line-rate="0.9096209912536443" branch-rate="0.8783783783783784" lines-covered="312" lines-valid="343" branches-covered="65" branches-valid="74" complexity="1.5098039215686274" version="1.9.4.1" timestamp="1467730622471">
<sources>
<source>--source</source>
<source>/Users/briandemers/dev/source/shiro-1.2.x/support/guice/src/main/java</source>
</sources>
<packages>
<package name="org.apache.shiro.guice" line-rate="0.920863309352518" branch-rate="0.9166666666666666" complexity="1.675">
<classes>
<class name="org.apache.shiro.guice.BeanTypeListener" filename="org/apache/shiro/guice/BeanTypeListener.java" line-rate="1.0" branch-rate="0.8636363636363636" complexity="2.9">
<methods>
<method name="&lt;clinit&gt;" signature="()V" line-rate="1.0" branch-rate="1.0">
<lines>
<line number="53" hits="2" branch="false"/>
<line number="54" hits="2" branch="false"/>
<line number="56" hits="2" branch="false"/>
<line number="57" hits="2" branch="false"/>
<line number="59" hits="2" branch="false"/>
<line number="61" hits="2" branch="false"/>
<line number="64" hits="2" branch="false"/>
<line number="66" hits="2" branch="false"/>
</lines>
</method>
<method name="&lt;init&gt;" signature="()V" line-rate="1.0" branch-rate="1.0">
<lines>
</lines>
</method>
<method name="access$000" signature="(Lcom/google/inject/Injector;Lcom/google/inject/Key;)Lcom/google/inject/Key;" line-rate="1.0" branch-rate="1.0">
<lines>
<line number="52" hits="340" branch="false"/>
</lines>
</method>
<method name="beanTypeMapBinding" signature="(Lcom/google/inject/Binder;)Lcom/google/inject/multibindings/MapBinder;" line-rate="1.0" branch-rate="1.0">
<lines>
<line number="150" hits="32" branch="false"/>
</lines>
</method>
<method name="bindBeanType" signature="(Lcom/google/inject/Binder;Lcom/google/inject/TypeLiteral;Lcom/google/inject/Key;)V" line-rate="1.0" branch-rate="1.0">
<lines>
<line number="146" hits="10" branch="false"/>
<line number="147" hits="10" branch="false"/>
</lines>
</method>
<method name="createDependencyKey" signature="(Ljava/beans/PropertyDescriptor;Ljava/lang/reflect/Type;)Lcom/google/inject/Key;" line-rate="1.0" branch-rate="1.0">
<lines>
<line number="125" hits="236" branch="true" condition-coverage="100% (2/2)">
<conditions>
<condition number="0" type="jump" coverage="100%"/>
</conditions>
</line>
<line number="126" hits="56" branch="false"/>
<line number="128" hits="180" branch="false"/>
</lines>
</method>
<method name="ensureBeanTypeMapExists" signature="(Lcom/google/inject/Binder;)V" line-rate="1.0" branch-rate="1.0">
<lines>
<line number="142" hits="22" branch="false"/>
<line number="143" hits="22" branch="false"/>
</lines>
</method>
<method name="getBeanTypeMap" signature="(Lcom/google/inject/Injector;)Ljava/util/Map;" line-rate="1.0" branch-rate="1.0">
<lines>
<line number="121" hits="316" branch="false"/>
</lines>
</method>
<method name="getMappedKey" signature="(Lcom/google/inject/Injector;Lcom/google/inject/Key;)Lcom/google/inject/Key;" line-rate="1.0" branch-rate="1.0">
<lines>
<line number="111" hits="316" branch="false"/>
<line number="112" hits="316" branch="true" condition-coverage="100% (4/4)">
<conditions>
<condition number="0" type="jump" coverage="100%"/>
<condition number="1" type="jump" coverage="100%"/>
</conditions>
</line>
<line number="113" hits="8" branch="false"/>
<line number="115" hits="308" branch="false"/>
</lines>
</method>
<method name="hear" signature="(Lcom/google/inject/TypeLiteral;Lcom/google/inject/spi/TypeEncounter;)V" line-rate="1.0" branch-rate="0.8333333333333334">
<lines>
<line number="78" hits="28" branch="false"/>
<line number="79" hits="28" branch="false"/>
<line number="80" hits="28" branch="false"/>
<line number="81" hits="300" branch="true" condition-coverage="100% (2/2)">
<conditions>
<condition number="0" type="jump" coverage="100%"/>
</conditions>
</line>
<line number="82" hits="272" branch="true" condition-coverage="75% (3/4)">
<conditions>
<condition number="0" type="jump" coverage="100%"/>
<condition number="1" type="jump" coverage="50%"/>
</conditions>
</line>
<line number="83" hits="236" branch="false"/>
<line number="84" hits="236" branch="false"/>
<line number="87" hits="28" branch="false"/>
<line number="108" hits="28" branch="false"/>
</lines>
</method>
<method name="requiresName" signature="(Ljava/lang/reflect/Type;)Z" line-rate="1.0" branch-rate="0.8">
<lines>
<line number="133" hits="236" branch="true" condition-coverage="100% (2/2)">
<conditions>
<condition number="0" type="jump" coverage="100%"/>
</conditions>
</line>
<line number="134" hits="218" branch="false"/>
<line number="135" hits="218" branch="true" condition-coverage="75% (6/8)">
<conditions>
<condition number="0" type="jump" coverage="100%"/>
<condition number="1" type="jump" coverage="50%"/>
<condition number="2" type="jump" coverage="50%"/>
<condition number="3" type="jump" coverage="100%"/>
</conditions>
</line>
<line number="137" hits="18" branch="false"/>
</lines>
</method>
</methods>
<lines>
<line number="52" hits="340" branch="false"/>
<line number="53" hits="2" branch="false"/>
<line number="54" hits="2" branch="false"/>
<line number="56" hits="2" branch="false"/>
<line number="57" hits="2" branch="false"/>
<line number="59" hits="2" branch="false"/>
<line number="61" hits="2" branch="false"/>
<line number="64" hits="2" branch="false"/>
<line number="66" hits="2" branch="false"/>
<line number="78" hits="28" branch="false"/>
<line number="79" hits="28" branch="false"/>
<line number="80" hits="28" branch="false"/>
<line number="81" hits="300" branch="true" condition-coverage="100% (2/2)">
<conditions>
<condition number="0" type="jump" coverage="100%"/>
</conditions>
</line>
<line number="82" hits="272" branch="true" condition-coverage="75% (3/4)">
<conditions>
<condition number="0" type="jump" coverage="100%"/>
<condition number="1" type="jump" coverage="50%"/>
</conditions>
</line>
<line number="83" hits="236" branch="false"/>
<line number="84" hits="236" branch="false"/>
<line number="87" hits="28" branch="false"/>
<line number="108" hits="28" branch="false"/>
<line number="111" hits="316" branch="false"/>
<line number="112" hits="316" branch="true" condition-coverage="100% (4/4)">
<conditions>
<condition number="0" type="jump" coverage="100%"/>
<condition number="1" type="jump" coverage="100%"/>
</conditions>
</line>
<line number="113" hits="8" branch="false"/>
<line number="115" hits="308" branch="false"/>
<line number="121" hits="316" branch="false"/>
<line number="125" hits="236" branch="true" condition-coverage="100% (2/2)">
<conditions>
<condition number="0" type="jump" coverage="100%"/>
</conditions>
</line>
<line number="126" hits="56" branch="false"/>
<line number="128" hits="180" branch="false"/>
<line number="133" hits="236" branch="true" condition-coverage="100% (2/2)">
<conditions>
<condition number="0" type="jump" coverage="100%"/>
</conditions>
</line>
<line number="134" hits="218" branch="false"/>
<line number="135" hits="218" branch="true" condition-coverage="75% (6/8)">
<conditions>
<condition number="0" type="jump" coverage="100%"/>
<condition number="1" type="jump" coverage="50%"/>
<condition number="2" type="jump" coverage="50%"/>
<condition number="3" type="jump" coverage="100%"/>
</conditions>
</line>
<line number="137" hits="18" branch="false"/>
<line number="142" hits="22" branch="false"/>
<line number="143" hits="22" branch="false"/>
<line number="146" hits="10" branch="false"/>
<line number="147" hits="10" branch="false"/>
<line number="150" hits="32" branch="false"/>
</lines>
</class>
<class name="org.apache.shiro.guice.BeanTypeListener$1" filename="org/apache/shiro/guice/BeanTypeListener.java" line-rate="0.6923076923076923" branch-rate="1.0" complexity="2.9">
<methods>
<method name="&lt;init&gt;" signature="(Lorg/apache/shiro/guice/BeanTypeListener;Ljava/util/Map;Lcom/google/inject/Provider;)V" line-rate="1.0" branch-rate="1.0">
<lines>
<line number="87" hits="28" branch="false"/>
</lines>
</method>
<method name="injectMembers" signature="(Ljava/lang/Object;)V" line-rate="0.6666666666666666" branch-rate="1.0">
<lines>
<line number="89" hits="36" branch="true" condition-coverage="100% (2/2)">
<conditions>
<condition number="0" type="jump" coverage="100%"/>
</conditions>
</line>
<line number="91" hits="316" branch="false"/>
<line number="93" hits="316" branch="false"/>
<line number="94" hits="64" branch="false"/>
<line number="96" hits="252" branch="false"/>
<line number="99" hits="0" branch="false"/>
<line number="100" hits="0" branch="false"/>
<line number="101" hits="0" branch="false"/>
<line number="102" hits="0" branch="false"/>
<line number="103" hits="316" branch="false"/>
<line number="104" hits="316" branch="false"/>
<line number="106" hits="36" branch="false"/>
</lines>
</method>
</methods>
<lines>
<line number="87" hits="28" branch="false"/>
<line number="89" hits="36" branch="true" condition-coverage="100% (2/2)">
<conditions>
<condition number="0" type="jump" coverage="100%"/>
</conditions>
</line>
<line number="91" hits="316" branch="false"/>
<line number="93" hits="316" branch="false"/>
<line number="94" hits="64" branch="false"/>
<line number="96" hits="252" branch="false"/>
<line number="99" hits="0" branch="false"/>
<line number="100" hits="0" branch="false"/>
<line number="101" hits="0" branch="false"/>
<line number="102" hits="0" branch="false"/>
<line number="103" hits="316" branch="false"/>
<line number="104" hits="316" branch="false"/>
<line number="106" hits="36" branch="false"/>
</lines>
</class>
<class name="org.apache.shiro.guice.BeanTypeListener$BeanTypeKey" filename="org/apache/shiro/guice/BeanTypeListener.java" line-rate="1.0" branch-rate="1.0" complexity="2.9">
<methods>
<method name="&lt;init&gt;" signature="(Lcom/google/inject/Key;)V" line-rate="1.0" branch-rate="1.0">
<lines>
<line number="156" hits="32" branch="false"/>
<line number="157" hits="32" branch="false"/>
<line number="158" hits="32" branch="false"/>
</lines>
</method>
<method name="&lt;init&gt;" signature="(Lcom/google/inject/Key;Lorg/apache/shiro/guice/BeanTypeListener$1;)V" line-rate="1.0" branch-rate="1.0">
<lines>
<line number="153" hits="32" branch="false"/>
</lines>
</method>
</methods>
<lines>
<line number="153" hits="32" branch="false"/>
<line number="156" hits="32" branch="false"/>
<line number="157" hits="32" branch="false"/>
<line number="158" hits="32" branch="false"/>
</lines>
</class>
<class name="org.apache.shiro.guice.DestroyableInjectionListener" filename="org/apache/shiro/guice/DestroyableInjectionListener.java" line-rate="1.0" branch-rate="1.0" complexity="1.0">
<methods>
<method name="&lt;clinit&gt;" signature="()V" line-rate="1.0" branch-rate="1.0">
<lines>
<line number="33" hits="2" branch="false"/>
</lines>
</method>
<method name="&lt;init&gt;" signature="(Lorg/apache/shiro/guice/DestroyableInjectionListener$DestroyableRegistry;)V" line-rate="1.0" branch-rate="1.0">
<lines>
<line number="37" hits="28" branch="false"/>
<line number="38" hits="28" branch="false"/>
<line number="39" hits="28" branch="false"/>
</lines>
</method>
<method name="afterInjection" signature="(Ljava/lang/Object;)V" line-rate="1.0" branch-rate="1.0">
<lines>
<line number="32" hits="40" branch="false"/>
</lines>
</method>
<method name="afterInjection" signature="(Lorg/apache/shiro/util/Destroyable;)V" line-rate="1.0" branch-rate="1.0">
<lines>
<line number="42" hits="42" branch="false"/>
<line number="43" hits="42" branch="false"/>
</lines>
</method>
</methods>
<lines>
<line number="32" hits="40" branch="false"/>
<line number="33" hits="2" branch="false"/>
<line number="37" hits="28" branch="false"/>
<line number="38" hits="28" branch="false"/>
<line number="39" hits="28" branch="false"/>
<line number="42" hits="42" branch="false"/>
<line number="43" hits="42" branch="false"/>
</lines>
</class>
<class name="org.apache.shiro.guice.DestroyableInjectionListener$DestroyableRegistry" filename="org/apache/shiro/guice/DestroyableInjectionListener.java" line-rate="1.0" branch-rate="1.0" complexity="1.0">
<methods>
</methods>
<lines>
</lines>
</class>
<class name="org.apache.shiro.guice.GuiceEnvironment" filename="org/apache/shiro/guice/GuiceEnvironment.java" line-rate="1.0" branch-rate="1.0" complexity="1.0">
<methods>
<method name="&lt;init&gt;" signature="(Lorg/apache/shiro/mgt/SecurityManager;)V" line-rate="1.0" branch-rate="1.0">
<lines>
<line number="29" hits="14" branch="false"/>
<line number="30" hits="14" branch="false"/>
<line number="31" hits="14" branch="false"/>
</lines>
</method>
<method name="getSecurityManager" signature="()Lorg/apache/shiro/mgt/SecurityManager;" line-rate="1.0" branch-rate="1.0">
<lines>
<line number="34" hits="2" branch="false"/>
</lines>
</method>
</methods>
<lines>
<line number="29" hits="14" branch="false"/>
<line number="30" hits="14" branch="false"/>
<line number="31" hits="14" branch="false"/>
<line number="34" hits="2" branch="false"/>
</lines>
</class>
<class name="org.apache.shiro.guice.InitializableInjectionListener" filename="org/apache/shiro/guice/InitializableInjectionListener.java" line-rate="1.0" branch-rate="1.0" complexity="1.0">
<methods>
<method name="&lt;clinit&gt;" signature="()V" line-rate="1.0" branch-rate="1.0">
<lines>
<line number="33" hits="2" branch="false"/>
</lines>
</method>
<method name="&lt;init&gt;" signature="()V" line-rate="1.0" branch-rate="1.0">
<lines>
</lines>
</method>
<method name="afterInjection" signature="(Ljava/lang/Object;)V" line-rate="1.0" branch-rate="1.0">
<lines>
<line number="32" hits="4" branch="false"/>
</lines>
</method>
<method name="afterInjection" signature="(Lorg/apache/shiro/util/Initializable;)V" line-rate="1.0" branch-rate="1.0">
<lines>
<line number="36" hits="2" branch="false"/>
<line number="37" hits="2" branch="false"/>
</lines>
</method>
</methods>
<lines>
<line number="32" hits="4" branch="false"/>
<line number="33" hits="2" branch="false"/>
<line number="36" hits="2" branch="false"/>
<line number="37" hits="2" branch="false"/>
</lines>
</class>
<class name="org.apache.shiro.guice.LifecycleTypeListener" filename="org/apache/shiro/guice/LifecycleTypeListener.java" line-rate="1.0" branch-rate="1.0" complexity="1.6666666666666667">
<methods>
<method name="&lt;clinit&gt;" signature="()V" line-rate="1.0" branch-rate="1.0">
<lines>
<line number="31" hits="2" branch="false"/>
</lines>
</method>
<method name="&lt;init&gt;" signature="(Lorg/apache/shiro/guice/DestroyableInjectionListener$DestroyableRegistry;)V" line-rate="1.0" branch-rate="1.0">
<lines>
<line number="34" hits="26" branch="false"/>
<line number="35" hits="26" branch="false"/>
<line number="36" hits="26" branch="false"/>
</lines>
</method>
<method name="castListener" signature="(Lcom/google/inject/spi/InjectionListener;)Lcom/google/inject/spi/InjectionListener;" line-rate="1.0" branch-rate="1.0">
<lines>
<line number="49" hits="28" branch="false"/>
</lines>
</method>
<method name="hear" signature="(Lcom/google/inject/TypeLiteral;Lcom/google/inject/spi/TypeEncounter;)V" line-rate="1.0" branch-rate="1.0">
<lines>
<line number="39" hits="28" branch="true" condition-coverage="100% (2/2)">
<conditions>
<condition number="0" type="jump" coverage="100%"/>
</conditions>
</line>
<line number="40" hits="2" branch="false"/>
<line number="42" hits="28" branch="true" condition-coverage="100% (2/2)">
<conditions>
<condition number="0" type="jump" coverage="100%"/>
</conditions>
</line>
<line number="43" hits="26" branch="false"/>
<line number="45" hits="28" branch="false"/>
</lines>
</method>
</methods>
<lines>
<line number="31" hits="2" branch="false"/>
<line number="34" hits="26" branch="false"/>
<line number="35" hits="26" branch="false"/>
<line number="36" hits="26" branch="false"/>
<line number="39" hits="28" branch="true" condition-coverage="100% (2/2)">
<conditions>
<condition number="0" type="jump" coverage="100%"/>
</conditions>
</line>
<line number="40" hits="2" branch="false"/>
<line number="42" hits="28" branch="true" condition-coverage="100% (2/2)">
<conditions>
<condition number="0" type="jump" coverage="100%"/>
</conditions>
</line>
<line number="43" hits="26" branch="false"/>
<line number="45" hits="28" branch="false"/>
<line number="49" hits="28" branch="false"/>
</lines>
</class>
<class name="org.apache.shiro.guice.ShiroMatchers" filename="org/apache/shiro/guice/ShiroMatchers.java" line-rate="0.6666666666666666" branch-rate="1.0" complexity="1.0">
<methods>
<method name="&lt;clinit&gt;" signature="()V" line-rate="1.0" branch-rate="1.0">
<lines>
<line number="26" hits="2" branch="false"/>
</lines>
</method>
<method name="&lt;init&gt;" signature="()V" line-rate="0.0" branch-rate="1.0">
<lines>
<line number="25" hits="0" branch="false"/>
</lines>
</method>
<method name="typeLiteral" signature="(Lcom/google/inject/matcher/Matcher;)Lcom/google/inject/matcher/Matcher;" line-rate="1.0" branch-rate="1.0">
<lines>
<line number="34" hits="8" branch="false"/>
</lines>
</method>
</methods>
<lines>
<line number="25" hits="0" branch="false"/>
<line number="26" hits="2" branch="false"/>
<line number="34" hits="8" branch="false"/>
</lines>
</class>
<class name="org.apache.shiro.guice.ShiroMatchers$1" filename="org/apache/shiro/guice/ShiroMatchers.java" line-rate="1.0" branch-rate="1.0" complexity="1.0">
<methods>
<method name="&lt;init&gt;" signature="()V" line-rate="1.0" branch-rate="1.0">
<lines>
</lines>
</method>
<method name="matches" signature="(Ljava/lang/Class;)Z" line-rate="1.0" branch-rate="1.0">
<lines>
<line number="29" hits="242" branch="true" condition-coverage="100% (2/2)">
<conditions>
<condition number="0" type="jump" coverage="100%"/>
</conditions>
</line>
</lines>
</method>
<method name="matches" signature="(Ljava/lang/Object;)Z" line-rate="1.0" branch-rate="1.0">
<lines>
<line number="26" hits="244" branch="false"/>
</lines>
</method>
</methods>
<lines>
<line number="26" hits="244" branch="false"/>
<line number="29" hits="242" branch="true" condition-coverage="100% (2/2)">
<conditions>
<condition number="0" type="jump" coverage="100%"/>
</conditions>
</line>
</lines>
</class>
<class name="org.apache.shiro.guice.ShiroMatchers$2" filename="org/apache/shiro/guice/ShiroMatchers.java" line-rate="1.0" branch-rate="1.0" complexity="1.0">
<methods>
<method name="&lt;init&gt;" signature="(Lcom/google/inject/matcher/Matcher;)V" line-rate="1.0" branch-rate="1.0">
<lines>
</lines>
</method>
<method name="matches" signature="(Lcom/google/inject/TypeLiteral;)Z" line-rate="1.0" branch-rate="1.0">
<lines>
<line number="37" hits="762" branch="false"/>
</lines>
</method>
<method name="matches" signature="(Ljava/lang/Object;)Z" line-rate="1.0" branch-rate="1.0">
<lines>
<line number="34" hits="770" branch="false"/>
</lines>
</method>
</methods>
<lines>
<line number="34" hits="770" branch="false"/>
<line number="37" hits="762" branch="false"/>
</lines>
</class>
<class name="org.apache.shiro.guice.ShiroModule" filename="org/apache/shiro/guice/ShiroModule.java" line-rate="0.9444444444444444" branch-rate="1.0" complexity="1.2307692307692308">
<methods>
<method name="&lt;init&gt;" signature="()V" line-rate="1.0" branch-rate="1.0">
<lines>
<line number="51" hits="22" branch="false"/>
<line number="53" hits="22" branch="false"/>
</lines>
</method>
<method name="add" signature="(Lorg/apache/shiro/util/Destroyable;)V" line-rate="1.0" branch-rate="1.0">
<lines>
<line number="168" hits="40" branch="false"/>
<line number="169" hits="40" branch="false"/>
</lines>
</method>
<method name="bindBeanType" signature="(Lcom/google/inject/TypeLiteral;Lcom/google/inject/Key;)V" line-rate="1.0" branch-rate="1.0">
<lines>
<line number="152" hits="10" branch="false"/>
<line number="153" hits="10" branch="false"/>
</lines>
</method>
<method name="bindEnvironment" signature="(Lcom/google/inject/binder/AnnotatedBindingBuilder;)V" line-rate="1.0" branch-rate="1.0">
<lines>
<line number="142" hits="10" branch="false"/>
<line number="143" hits="10" branch="false"/>
</lines>
</method>
<method name="bindRealm" signature="()Lcom/google/inject/binder/LinkedBindingBuilder;" line-rate="1.0" branch-rate="1.0">
<lines>
<line number="104" hits="22" branch="false"/>
<line number="105" hits="22" branch="false"/>
</lines>
</method>
<method name="bindSecurityManager" signature="(Lcom/google/inject/binder/AnnotatedBindingBuilder;)V" line-rate="0.6" branch-rate="1.0">
<lines>
<line number="117" hits="10" branch="false"/>
<line number="118" hits="0" branch="false"/>
<line number="119" hits="0" branch="false"/>
<line number="120" hits="10" branch="false"/>
<line number="121" hits="10" branch="false"/>
</lines>
</method>
<method name="bindSessionManager" signature="(Lcom/google/inject/binder/AnnotatedBindingBuilder;)V" line-rate="1.0" branch-rate="1.0">
<lines>
<line number="131" hits="10" branch="false"/>
<line number="132" hits="10" branch="false"/>
</lines>
</method>
<method name="configure" signature="()V" line-rate="1.0" branch-rate="1.0">
<lines>
<line number="56" hits="22" branch="false"/>
<line number="57" hits="22" branch="false"/>
<line number="58" hits="22" branch="false"/>
<line number="59" hits="22" branch="false"/>
<line number="60" hits="22" branch="false"/>
<line number="70" hits="22" branch="false"/>
<line number="72" hits="22" branch="false"/>
<line number="74" hits="22" branch="false"/>
<line number="75" hits="22" branch="false"/>
<line number="76" hits="22" branch="false"/>
<line number="78" hits="22" branch="false"/>
<line number="79" hits="22" branch="false"/>
<line number="80" hits="22" branch="false"/>
</lines>
</method>
<method name="destroy" signature="()V" line-rate="1.0" branch-rate="1.0">
<lines>
<line number="162" hits="2" branch="true" condition-coverage="100% (2/2)">
<conditions>
<condition number="0" type="jump" coverage="100%"/>
</conditions>
</line>
<line number="163" hits="4" branch="false"/>
<line number="164" hits="4" branch="false"/>
<line number="165" hits="2" branch="false"/>
</lines>
</method>
<method name="realmCollectionKey" signature="()Lcom/google/inject/Key;" line-rate="1.0" branch-rate="1.0">
<lines>
<line number="89" hits="22" branch="false"/>
</lines>
</method>
<method name="realmSetKey" signature="()Lcom/google/inject/Key;" line-rate="1.0" branch-rate="1.0">
<lines>
<line number="84" hits="22" branch="false"/>
</lines>
</method>
</methods>
<lines>
<line number="51" hits="22" branch="false"/>
<line number="53" hits="22" branch="false"/>
<line number="56" hits="22" branch="false"/>
<line number="57" hits="22" branch="false"/>
<line number="58" hits="22" branch="false"/>
<line number="59" hits="22" branch="false"/>
<line number="60" hits="22" branch="false"/>
<line number="70" hits="22" branch="false"/>
<line number="72" hits="22" branch="false"/>
<line number="74" hits="22" branch="false"/>
<line number="75" hits="22" branch="false"/>
<line number="76" hits="22" branch="false"/>
<line number="78" hits="22" branch="false"/>
<line number="79" hits="22" branch="false"/>
<line number="80" hits="22" branch="false"/>
<line number="84" hits="22" branch="false"/>
<line number="89" hits="22" branch="false"/>
<line number="104" hits="22" branch="false"/>
<line number="105" hits="22" branch="false"/>
<line number="117" hits="10" branch="false"/>
<line number="118" hits="0" branch="false"/>
<line number="119" hits="0" branch="false"/>
<line number="120" hits="10" branch="false"/>
<line number="121" hits="10" branch="false"/>
<line number="131" hits="10" branch="false"/>
<line number="132" hits="10" branch="false"/>
<line number="142" hits="10" branch="false"/>
<line number="143" hits="10" branch="false"/>
<line number="152" hits="10" branch="false"/>
<line number="153" hits="10" branch="false"/>
<line number="162" hits="2" branch="true" condition-coverage="100% (2/2)">
<conditions>
<condition number="0" type="jump" coverage="100%"/>
</conditions>
</line>
<line number="163" hits="4" branch="false"/>
<line number="164" hits="4" branch="false"/>
<line number="165" hits="2" branch="false"/>
<line number="168" hits="40" branch="false"/>
<line number="169" hits="40" branch="false"/>
</lines>
</class>
<class name="org.apache.shiro.guice.ShiroModule$1" filename="org/apache/shiro/guice/ShiroModule.java" line-rate="0.6" branch-rate="1.0" complexity="1.2307692307692308">
<methods>
<method name="&lt;init&gt;" signature="(Lorg/apache/shiro/guice/ShiroModule;)V" line-rate="1.0" branch-rate="1.0">
<lines>
<line number="60" hits="22" branch="false"/>
</lines>
</method>
<method name="add" signature="(Lorg/apache/shiro/util/Destroyable;)V" line-rate="1.0" branch-rate="1.0">
<lines>
<line number="62" hits="40" branch="false"/>
<line number="63" hits="40" branch="false"/>
</lines>
</method>
<method name="destroy" signature="()V" line-rate="0.0" branch-rate="1.0">
<lines>
<line number="67" hits="0" branch="false"/>
<line number="68" hits="0" branch="false"/>
</lines>
</method>
</methods>
<lines>
<line number="60" hits="22" branch="false"/>
<line number="62" hits="40" branch="false"/>
<line number="63" hits="40" branch="false"/>
<line number="67" hits="0" branch="false"/>
<line number="68" hits="0" branch="false"/>
</lines>
</class>
<class name="org.apache.shiro.guice.ShiroSessionScope" filename="org/apache/shiro/guice/ShiroSessionScope.java" line-rate="0.6666666666666666" branch-rate="1.0" complexity="1.6">
<methods>
<method name="&lt;init&gt;" signature="()V" line-rate="1.0" branch-rate="1.0">
<lines>
<line number="32" hits="4" branch="false"/>
</lines>
</method>
<method name="scope" signature="(Lcom/google/inject/Key;Lcom/google/inject/Provider;)Lcom/google/inject/Provider;" line-rate="1.0" branch-rate="1.0">
<lines>
<line number="34" hits="6" branch="false"/>
</lines>
</method>
<method name="toString" signature="()Ljava/lang/String;" line-rate="0.0" branch-rate="1.0">
<lines>
<line number="62" hits="0" branch="false"/>
</lines>
</method>
</methods>
<lines>
<line number="32" hits="4" branch="false"/>
<line number="34" hits="6" branch="false"/>
<line number="62" hits="0" branch="false"/>
</lines>
</class>
<class name="org.apache.shiro.guice.ShiroSessionScope$1" filename="org/apache/shiro/guice/ShiroSessionScope.java" line-rate="0.9090909090909091" branch-rate="1.0" complexity="1.6">
<methods>
<method name="&lt;init&gt;" signature="(Lorg/apache/shiro/guice/ShiroSessionScope;Lcom/google/inject/Provider;Lcom/google/inject/Key;)V" line-rate="1.0" branch-rate="1.0">
<lines>
<line number="34" hits="6" branch="false"/>
</lines>
</method>
<method name="castSessionAttribute" signature="(Lorg/apache/shiro/session/Session;)Ljava/lang/Object;" line-rate="1.0" branch-rate="1.0">
<lines>
<line number="50" hits="4" branch="false"/>
</lines>
</method>
<method name="get" signature="()Ljava/lang/Object;" line-rate="1.0" branch-rate="1.0">
<lines>
<line number="36" hits="6" branch="false"/>
<line number="37" hits="6" branch="true" condition-coverage="100% (2/2)">
<conditions>
<condition number="0" type="jump" coverage="100%"/>
</conditions>
</line>
<line number="38" hits="2" branch="false"/>
<line number="40" hits="4" branch="false"/>
<line number="41" hits="4" branch="false"/>
<line number="42" hits="4" branch="true" condition-coverage="100% (2/2)">
<conditions>
<condition number="0" type="jump" coverage="100%"/>
</conditions>
</line>
<line number="43" hits="2" branch="false"/>
<line number="45" hits="4" branch="false"/>
</lines>
</method>
<method name="toString" signature="()Ljava/lang/String;" line-rate="0.0" branch-rate="1.0">
<lines>
<line number="55" hits="0" branch="false"/>
</lines>
</method>
</methods>
<lines>
<line number="34" hits="6" branch="false"/>
<line number="36" hits="6" branch="false"/>
<line number="37" hits="6" branch="true" condition-coverage="100% (2/2)">
<conditions>
<condition number="0" type="jump" coverage="100%"/>
</conditions>
</line>
<line number="38" hits="2" branch="false"/>
<line number="40" hits="4" branch="false"/>
<line number="41" hits="4" branch="false"/>
<line number="42" hits="4" branch="true" condition-coverage="100% (2/2)">
<conditions>
<condition number="0" type="jump" coverage="100%"/>
</conditions>
</line>
<line number="43" hits="2" branch="false"/>
<line number="45" hits="4" branch="false"/>
<line number="50" hits="4" branch="false"/>
<line number="55" hits="0" branch="false"/>
</lines>
</class>
</classes>
</package>
<package name="org.apache.shiro.guice.aop" line-rate="0.90625" branch-rate="0.75" complexity="1.0666666666666667">
<classes>
<class name="org.apache.shiro.guice.aop.AopAllianceMethodInterceptorAdapter" filename="org/apache/shiro/guice/aop/AopAllianceMethodInterceptorAdapter.java" line-rate="0.8" branch-rate="1.0" complexity="1.0">
<methods>
<method name="&lt;init&gt;" signature="(Lorg/apache/shiro/aop/MethodInterceptor;)V" line-rate="1.0" branch-rate="1.0">
<lines>
<line number="31" hits="14" branch="false"/>
<line number="32" hits="14" branch="false"/>
<line number="33" hits="14" branch="false"/>
</lines>
</method>
<method name="invoke" signature="(Lorg/aopalliance/intercept/MethodInvocation;)Ljava/lang/Object;" line-rate="1.0" branch-rate="1.0">
<lines>
<line number="36" hits="2" branch="false"/>
</lines>
</method>
<method name="toString" signature="()Ljava/lang/String;" line-rate="0.0" branch-rate="1.0">
<lines>
<line number="41" hits="0" branch="false"/>
</lines>
</method>
</methods>
<lines>
<line number="31" hits="14" branch="false"/>
<line number="32" hits="14" branch="false"/>
<line number="33" hits="14" branch="false"/>
<line number="36" hits="2" branch="false"/>
<line number="41" hits="0" branch="false"/>
</lines>
</class>
<class name="org.apache.shiro.guice.aop.AopAllianceMethodInvocationAdapter" filename="org/apache/shiro/guice/aop/AopAllianceMethodInvocationAdapter.java" line-rate="0.875" branch-rate="1.0" complexity="1.0">
<methods>
<method name="&lt;init&gt;" signature="(Lorg/aopalliance/intercept/MethodInvocation;)V" line-rate="1.0" branch-rate="1.0">
<lines>
<line number="32" hits="10" branch="false"/>
<line number="33" hits="10" branch="false"/>
<line number="34" hits="10" branch="false"/>
</lines>
</method>
<method name="getArguments" signature="()[Ljava/lang/Object;" line-rate="1.0" branch-rate="1.0">
<lines>
<line number="41" hits="2" branch="false"/>
</lines>
</method>
<method name="getMethod" signature="()Ljava/lang/reflect/Method;" line-rate="1.0" branch-rate="1.0">
<lines>
<line number="37" hits="2" branch="false"/>
</lines>
</method>
<method name="getThis" signature="()Ljava/lang/Object;" line-rate="1.0" branch-rate="1.0">
<lines>
<line number="53" hits="2" branch="false"/>
</lines>
</method>
<method name="proceed" signature="()Ljava/lang/Object;" line-rate="1.0" branch-rate="1.0">
<lines>
<line number="49" hits="4" branch="false"/>
</lines>
</method>
<method name="toString" signature="()Ljava/lang/String;" line-rate="0.0" branch-rate="1.0">
<lines>
<line number="45" hits="0" branch="false"/>
</lines>
</method>
</methods>
<lines>
<line number="32" hits="10" branch="false"/>
<line number="33" hits="10" branch="false"/>
<line number="34" hits="10" branch="false"/>
<line number="37" hits="2" branch="false"/>
<line number="41" hits="2" branch="false"/>
<line number="45" hits="0" branch="false"/>
<line number="49" hits="4" branch="false"/>
<line number="53" hits="2" branch="false"/>
</lines>
</class>
<class name="org.apache.shiro.guice.aop.ShiroAopModule" filename="org/apache/shiro/guice/aop/ShiroAopModule.java" line-rate="0.9333333333333333" branch-rate="1.0" complexity="1.1666666666666667">
<methods>
<method name="&lt;init&gt;" signature="()V" line-rate="1.0" branch-rate="1.0">
<lines>
<line number="36" hits="4" branch="false"/>
</lines>
</method>
<method name="bindShiroInterceptor" signature="(Lorg/apache/shiro/aop/AnnotationMethodInterceptor;)V" line-rate="1.0" branch-rate="1.0">
<lines>
<line number="45" hits="12" branch="false"/>
<line number="52" hits="12" branch="false"/>
</lines>
</method>
<method name="configure" signature="()V" line-rate="1.0" branch-rate="1.0">
<lines>
<line number="39" hits="4" branch="false"/>
<line number="40" hits="4" branch="false"/>
<line number="41" hits="4" branch="false"/>
<line number="42" hits="4" branch="false"/>
</lines>
</method>
<method name="configureDefaultInterceptors" signature="(Lorg/apache/shiro/aop/AnnotationResolver;)V" line-rate="1.0" branch-rate="1.0">
<lines>
<line number="59" hits="2" branch="false"/>
<line number="60" hits="2" branch="false"/>
<line number="61" hits="2" branch="false"/>
<line number="62" hits="2" branch="false"/>
<line number="63" hits="2" branch="false"/>
<line number="64" hits="2" branch="false"/>
</lines>
</method>
<method name="configureInterceptors" signature="(Lorg/apache/shiro/aop/AnnotationResolver;)V" line-rate="0.0" branch-rate="1.0">
<lines>
<line number="68" hits="0" branch="false"/>
</lines>
</method>
<method name="createAnnotationResolver" signature="()Lorg/apache/shiro/aop/AnnotationResolver;" line-rate="1.0" branch-rate="1.0">
<lines>
<line number="55" hits="2" branch="false"/>
</lines>
</method>
</methods>
<lines>
<line number="36" hits="4" branch="false"/>
<line number="39" hits="4" branch="false"/>
<line number="40" hits="4" branch="false"/>
<line number="41" hits="4" branch="false"/>
<line number="42" hits="4" branch="false"/>
<line number="45" hits="12" branch="false"/>
<line number="52" hits="12" branch="false"/>
<line number="55" hits="2" branch="false"/>
<line number="59" hits="2" branch="false"/>
<line number="60" hits="2" branch="false"/>
<line number="61" hits="2" branch="false"/>
<line number="62" hits="2" branch="false"/>
<line number="63" hits="2" branch="false"/>
<line number="64" hits="2" branch="false"/>
<line number="68" hits="0" branch="false"/>
</lines>
</class>
<class name="org.apache.shiro.guice.aop.ShiroAopModule$1" filename="org/apache/shiro/guice/aop/ShiroAopModule.java" line-rate="1.0" branch-rate="0.75" complexity="1.1666666666666667">
<methods>
<method name="&lt;init&gt;" signature="(Lorg/apache/shiro/guice/aop/ShiroAopModule;Lorg/apache/shiro/aop/AnnotationMethodInterceptor;)V" line-rate="1.0" branch-rate="1.0">
<lines>
</lines>
</method>
<method name="matches" signature="(Ljava/lang/Object;)Z" line-rate="1.0" branch-rate="1.0">
<lines>
<line number="45" hits="36" branch="false"/>
</lines>
</method>
<method name="matches" signature="(Ljava/lang/reflect/Method;)Z" line-rate="1.0" branch-rate="0.75">
<lines>
<line number="47" hits="24" branch="false"/>
<line number="48" hits="48" branch="true" condition-coverage="100% (2/2)">
<conditions>
<condition number="0" type="jump" coverage="100%"/>
</conditions>
</line>
<line number="49" hits="12" branch="true" condition-coverage="50% (1/2)">
<conditions>
<condition number="0" type="jump" coverage="50%"/>
</conditions>
</line>
</lines>
</method>
</methods>
<lines>
<line number="45" hits="36" branch="false"/>
<line number="47" hits="24" branch="false"/>
<line number="48" hits="48" branch="true" condition-coverage="100% (2/2)">
<conditions>
<condition number="0" type="jump" coverage="100%"/>
</conditions>
</line>
<line number="49" hits="12" branch="true" condition-coverage="50% (1/2)">
<conditions>
<condition number="0" type="jump" coverage="50%"/>
</conditions>
</line>
</lines>
</class>
</classes>
</package>
<package name="org.apache.shiro.guice.web" line-rate="0.9011627906976745" branch-rate="0.8529411764705882" complexity="1.5106382978723405">
<classes>
<class name="org.apache.shiro.guice.web.AbstractInjectionProvider" filename="org/apache/shiro/guice/web/AbstractInjectionProvider.java" line-rate="0.9166666666666666" branch-rate="1.0" complexity="1.8">
<methods>
<method name="&lt;init&gt;" signature="(Lcom/google/inject/Key;)V" line-rate="1.0" branch-rate="1.0">
<lines>
<line number="43" hits="14" branch="false"/>
<line number="44" hits="14" branch="false"/>
<line number="45" hits="14" branch="false"/>
<line number="47" hits="14" branch="false"/>
<line number="48" hits="14" branch="false"/>
<line number="49" hits="14" branch="true" condition-coverage="100% (2/2)">
<conditions>
<condition number="0" type="jump" coverage="100%"/>
</conditions>
</line>
<line number="50" hits="12" branch="false"/>
<line number="51" hits="12" branch="false"/>
<line number="52" hits="14" branch="false"/>
<line number="53" hits="14" branch="false"/>
</lines>
</method>
<method name="get" signature="()Ljava/lang/Object;" line-rate="0.8181818181818182" branch-rate="1.0">
<lines>
<line number="56" hits="10" branch="false"/>
<line number="57" hits="10" branch="false"/>
<line number="58" hits="10" branch="true" condition-coverage="100% (2/2)">
<conditions>
<condition number="0" type="jump" coverage="100%"/>
</conditions>
</line>
<line number="59" hits="4" branch="false"/>
<line number="60" hits="4" branch="false"/>
<line number="63" hits="10" branch="false"/>
<line number="64" hits="0" branch="false"/>
<line number="65" hits="0" branch="false"/>
<line number="66" hits="10" branch="false"/>
<line number="67" hits="10" branch="false"/>
<line number="68" hits="10" branch="false"/>
</lines>
</method>
<method name="getConstructor" signature="()Ljava/lang/reflect/Constructor;" line-rate="1.0" branch-rate="1.0">
<lines>
<line number="73" hits="10" branch="false"/>
</lines>
</method>
<method name="getDependencies" signature="()Ljava/util/Set;" line-rate="1.0" branch-rate="1.0">
<lines>
<line number="82" hits="2" branch="false"/>
</lines>
</method>
<method name="postProcess" signature="(Ljava/lang/Object;)Ljava/lang/Object;" line-rate="1.0" branch-rate="1.0">
<lines>
<line number="78" hits="2" branch="false"/>
</lines>
</method>
</methods>
<lines>
<line number="43" hits="14" branch="false"/>
<line number="44" hits="14" branch="false"/>
<line number="45" hits="14" branch="false"/>
<line number="47" hits="14" branch="false"/>
<line number="48" hits="14" branch="false"/>
<line number="49" hits="14" branch="true" condition-coverage="100% (2/2)">
<conditions>
<condition number="0" type="jump" coverage="100%"/>
</conditions>
</line>
<line number="50" hits="12" branch="false"/>
<line number="51" hits="12" branch="false"/>
<line number="52" hits="14" branch="false"/>
<line number="53" hits="14" branch="false"/>
<line number="56" hits="10" branch="false"/>
<line number="57" hits="10" branch="false"/>
<line number="58" hits="10" branch="true" condition-coverage="100% (2/2)">
<conditions>
<condition number="0" type="jump" coverage="100%"/>
</conditions>
</line>
<line number="59" hits="4" branch="false"/>
<line number="60" hits="4" branch="false"/>
<line number="63" hits="10" branch="false"/>
<line number="64" hits="0" branch="false"/>
<line number="65" hits="0" branch="false"/>
<line number="66" hits="10" branch="false"/>
<line number="67" hits="10" branch="false"/>
<line number="68" hits="10" branch="false"/>
<line number="73" hits="10" branch="false"/>
<line number="78" hits="2" branch="false"/>
<line number="82" hits="2" branch="false"/>
</lines>
</class>
<class name="org.apache.shiro.guice.web.FilterChainResolverProvider" filename="org/apache/shiro/guice/web/FilterChainResolverProvider.java" line-rate="1.0" branch-rate="1.0" complexity="1.5">
<methods>
<method name="&lt;init&gt;" signature="(Ljava/util/Map;)V" line-rate="1.0" branch-rate="1.0">
<lines>
<line number="48" hits="14" branch="false"/>
<line number="50" hits="14" branch="false"/>
<line number="51" hits="14" branch="false"/>
<line number="52" hits="14" branch="false"/>
<line number="53" hits="14" branch="true" condition-coverage="100% (2/2)">
<conditions>
<condition number="0" type="jump" coverage="100%"/>
</conditions>
</line>
<line number="54" hits="40" branch="true" condition-coverage="100% (2/2)">
<conditions>
<condition number="0" type="jump" coverage="100%"/>
</conditions>
</line>
<line number="55" hits="24" branch="false"/>
<line number="57" hits="16" branch="false"/>
<line number="58" hits="14" branch="false"/>
<line number="59" hits="14" branch="false"/>
</lines>
</method>
<method name="get" signature="()Ljava/lang/Object;" line-rate="1.0" branch-rate="1.0">
<lines>
<line number="39" hits="22" branch="false"/>
</lines>
</method>
<method name="get" signature="()Lorg/apache/shiro/web/filter/mgt/FilterChainResolver;" line-rate="1.0" branch-rate="1.0">
<lines>
<line number="71" hits="24" branch="false"/>
</lines>
</method>
<method name="getDependencies" signature="()Ljava/util/Set;" line-rate="1.0" branch-rate="1.0">
<lines>
<line number="67" hits="2" branch="false"/>
</lines>
</method>
<method name="setPatternMatcher" signature="(Lorg/apache/shiro/util/PatternMatcher;)V" line-rate="1.0" branch-rate="1.0">
<lines>
<line number="63" hits="2" branch="false"/>
<line number="64" hits="2" branch="false"/>
</lines>
</method>
</methods>
<lines>
<line number="39" hits="22" branch="false"/>
<line number="48" hits="14" branch="false"/>
<line number="50" hits="14" branch="false"/>
<line number="51" hits="14" branch="false"/>
<line number="52" hits="14" branch="false"/>
<line number="53" hits="14" branch="true" condition-coverage="100% (2/2)">
<conditions>
<condition number="0" type="jump" coverage="100%"/>
</conditions>
</line>
<line number="54" hits="40" branch="true" condition-coverage="100% (2/2)">
<conditions>
<condition number="0" type="jump" coverage="100%"/>
</conditions>
</line>
<line number="55" hits="24" branch="false"/>
<line number="57" hits="16" branch="false"/>
<line number="58" hits="14" branch="false"/>
<line number="59" hits="14" branch="false"/>
<line number="63" hits="2" branch="false"/>
<line number="64" hits="2" branch="false"/>
<line number="67" hits="2" branch="false"/>
<line number="71" hits="24" branch="false"/>
</lines>
</class>
<class name="org.apache.shiro.guice.web.GuiceShiroFilter" filename="org/apache/shiro/guice/web/GuiceShiroFilter.java" line-rate="1.0" branch-rate="1.0" complexity="1.0">
<methods>
<method name="&lt;init&gt;" signature="(Lorg/apache/shiro/web/mgt/WebSecurityManager;Lorg/apache/shiro/web/filter/mgt/FilterChainResolver;)V" line-rate="1.0" branch-rate="1.0">
<lines>
<line number="34" hits="12" branch="false"/>
<line number="35" hits="12" branch="false"/>
<line number="36" hits="12" branch="false"/>
<line number="37" hits="12" branch="false"/>
</lines>
</method>
</methods>
<lines>
<line number="34" hits="12" branch="false"/>
<line number="35" hits="12" branch="false"/>
<line number="36" hits="12" branch="false"/>
<line number="37" hits="12" branch="false"/>
</lines>
</class>
<class name="org.apache.shiro.guice.web.PathMatchingFilterProvider" filename="org/apache/shiro/guice/web/PathMatchingFilterProvider.java" line-rate="1.0" branch-rate="1.0" complexity="1.5">
<methods>
<method name="&lt;init&gt;" signature="(Lcom/google/inject/Key;Ljava/util/Map;)V" line-rate="1.0" branch-rate="1.0">
<lines>
<line number="30" hits="10" branch="false"/>
<line number="31" hits="10" branch="false"/>
<line number="32" hits="10" branch="false"/>
</lines>
</method>
<method name="postProcess" signature="(Ljava/lang/Object;)Ljava/lang/Object;" line-rate="1.0" branch-rate="1.0">
<lines>
<line number="26" hits="8" branch="false"/>
</lines>
</method>
<method name="postProcess" signature="(Lorg/apache/shiro/web/filter/PathMatchingFilter;)Lorg/apache/shiro/web/filter/PathMatchingFilter;" line-rate="1.0" branch-rate="1.0">
<lines>
<line number="36" hits="10" branch="true" condition-coverage="100% (2/2)">
<conditions>
<condition number="0" type="jump" coverage="100%"/>
</conditions>
</line>
<line number="37" hits="12" branch="false"/>
<line number="38" hits="12" branch="false"/>
<line number="39" hits="10" branch="false"/>
</lines>
</method>
</methods>
<lines>
<line number="26" hits="8" branch="false"/>
<line number="30" hits="10" branch="false"/>
<line number="31" hits="10" branch="false"/>
<line number="32" hits="10" branch="false"/>
<line number="36" hits="10" branch="true" condition-coverage="100% (2/2)">
<conditions>
<condition number="0" type="jump" coverage="100%"/>
</conditions>
</line>
<line number="37" hits="12" branch="false"/>
<line number="38" hits="12" branch="false"/>
<line number="39" hits="10" branch="false"/>
</lines>
</class>
<class name="org.apache.shiro.guice.web.ShiroWebModule" filename="org/apache/shiro/guice/web/ShiroWebModule.java" line-rate="0.8472222222222222" branch-rate="0.75" complexity="1.4782608695652173">
<methods>
<method name="&lt;clinit&gt;" signature="()V" line-rate="1.0" branch-rate="1.0">
<lines>
<line number="68" hits="2" branch="false"/>
<line number="70" hits="2" branch="false"/>
<line number="72" hits="2" branch="false"/>
<line number="74" hits="2" branch="false"/>
<line number="76" hits="2" branch="false"/>
<line number="78" hits="2" branch="false"/>
<line number="80" hits="2" branch="false"/>
<line number="82" hits="2" branch="false"/>
<line number="84" hits="2" branch="false"/>
<line number="86" hits="2" branch="false"/>
<line number="88" hits="2" branch="false"/>
</lines>
</method>
<method name="&lt;init&gt;" signature="(Ljavax/servlet/ServletContext;)V" line-rate="1.0" branch-rate="1.0">
<lines>
<line number="97" hits="10" branch="false"/>
<line number="100" hits="10" branch="false"/>
<line number="101" hits="10" branch="false"/>
<line number="102" hits="10" branch="false"/>
</lines>
</method>
<method name="addFilterChain" signature="(Ljava/lang/String;[Lcom/google/inject/Key;)V" line-rate="1.0" branch-rate="1.0">
<lines>
<line number="232" hits="8" branch="false"/>
<line number="233" hits="8" branch="false"/>
</lines>
</method>
<method name="bindEnvironment" signature="(Lcom/google/inject/binder/AnnotatedBindingBuilder;)V" line-rate="1.0" branch-rate="1.0">
<lines>
<line number="214" hits="10" branch="false"/>
<line number="215" hits="10" branch="false"/>
</lines>
</method>
<method name="bindGuiceFilter" signature="(Lcom/google/inject/Binder;)V" line-rate="0.0" branch-rate="1.0">
<lines>
<line number="105" hits="0" branch="false"/>
<line number="106" hits="0" branch="false"/>
</lines>
</method>
<method name="bindGuiceFilter" signature="(Ljava/lang/String;Lcom/google/inject/Binder;)V" line-rate="0.0" branch-rate="1.0">
<lines>
<line number="110" hits="0" branch="false"/>
<line number="111" hits="0" branch="false"/>
</lines>
</method>
<method name="bindPathMatchingFilter" signature="(Lcom/google/inject/Key;Ljava/util/Map;)V" line-rate="1.0" branch-rate="1.0">
<lines>
<line number="169" hits="8" branch="false"/>
<line number="170" hits="8" branch="false"/>
</lines>
</method>
<method name="bindSecurityManager" signature="(Lcom/google/inject/binder/AnnotatedBindingBuilder;)V" line-rate="1.0" branch-rate="1.0">
<lines>
<line number="182" hits="10" branch="false"/>
<line number="183" hits="10" branch="false"/>
</lines>
</method>
<method name="bindSessionManager" signature="(Lcom/google/inject/binder/AnnotatedBindingBuilder;)V" line-rate="1.0" branch-rate="1.0">
<lines>
<line number="209" hits="10" branch="false"/>
<line number="210" hits="10" branch="false"/>
</lines>
</method>
<method name="bindWebEnvironment" signature="(Lcom/google/inject/binder/AnnotatedBindingBuilder;)V" line-rate="1.0" branch-rate="1.0">
<lines>
<line number="218" hits="16" branch="false"/>
<line number="219" hits="16" branch="false"/>
</lines>
</method>
<method name="bindWebSecurityManager" signature="(Lcom/google/inject/binder/AnnotatedBindingBuilder;)V" line-rate="0.6" branch-rate="1.0">
<lines>
<line number="194" hits="16" branch="false"/>
<line number="195" hits="0" branch="false"/>
<line number="196" hits="0" branch="false"/>
<line number="197" hits="16" branch="false"/>
<line number="198" hits="16" branch="false"/>
</lines>
</method>
<method name="castToPathMatching" signature="(Lcom/google/inject/Key;)Lcom/google/inject/Key;" line-rate="1.0" branch-rate="1.0">
<lines>
<line number="174" hits="24" branch="false"/>
</lines>
</method>
<method name="config" signature="(Lcom/google/inject/Key;Ljava/lang/String;)Lcom/google/inject/Key;" line-rate="1.0" branch-rate="1.0">
<lines>
<line number="236" hits="4" branch="false"/>
</lines>
</method>
<method name="config" signature="(Lcom/google/inject/TypeLiteral;Ljava/lang/String;)Lcom/google/inject/Key;" line-rate="0.0" branch-rate="1.0">
<lines>
<line number="241" hits="0" branch="false"/>
</lines>
</method>
<method name="config" signature="(Ljava/lang/Class;Ljava/lang/String;)Lcom/google/inject/Key;" line-rate="0.0" branch-rate="1.0">
<lines>
<line number="246" hits="0" branch="false"/>
</lines>
</method>
<method name="configureShiro" signature="()V" line-rate="1.0" branch-rate="1.0">
<lines>
<line number="128" hits="10" branch="false"/>
<line number="129" hits="10" branch="false"/>
<line number="130" hits="10" branch="false"/>
<line number="131" hits="10" branch="false"/>
<line number="132" hits="10" branch="false"/>
<line number="133" hits="10" branch="false"/>
<line number="135" hits="10" branch="false"/>
<line number="137" hits="10" branch="false"/>
<line number="139" hits="10" branch="false"/>
<line number="140" hits="10" branch="false"/>
</lines>
</method>
<method name="guiceFilterModule" signature="()Lcom/google/inject/servlet/ServletModule;" line-rate="0.0" branch-rate="1.0">
<lines>
<line number="114" hits="0" branch="false"/>
</lines>
</method>
<method name="guiceFilterModule" signature="(Ljava/lang/String;)Lcom/google/inject/servlet/ServletModule;" line-rate="0.0" branch-rate="1.0">
<lines>
<line number="118" hits="0" branch="false"/>
</lines>
</method>
<method name="setupFilterChainConfigs" signature="()V" line-rate="0.95" branch-rate="0.75">
<lines>
<line number="143" hits="10" branch="false"/>
<line number="145" hits="10" branch="true" condition-coverage="100% (2/2)">
<conditions>
<condition number="0" type="jump" coverage="100%"/>
</conditions>
</line>
<line number="146" hits="16" branch="true" condition-coverage="100% (2/2)">
<conditions>
<condition number="0" type="jump" coverage="100%"/>
</conditions>
</line>
<line number="147" hits="8" branch="false"/>
<line number="148" hits="8" branch="true" condition-coverage="100% (2/2)">
<conditions>
<condition number="0" type="jump" coverage="100%"/>
</conditions>
</line>
<line number="149" hits="4" branch="false"/>
<line number="150" hits="4" branch="false"/>
<line number="151" hits="4" branch="false"/>
<line number="152" hits="4" branch="true" condition-coverage="50% (1/2)">
<conditions>
<condition number="0" type="jump" coverage="50%"/>
</conditions>
</line>
<line number="153" hits="0" branch="false"/>
<line number="155" hits="4" branch="true" condition-coverage="50% (1/2)">
<conditions>
<condition number="0" type="jump" coverage="50%"/>
</conditions>
</line>
<line number="156" hits="4" branch="false"/>
<line number="157" hits="4" branch="true" condition-coverage="50% (1/2)">
<conditions>
<condition number="0" type="jump" coverage="50%"/>
</conditions>
</line>
<line number="158" hits="4" branch="true" condition-coverage="50% (1/2)">
<conditions>
<condition number="0" type="jump" coverage="50%"/>
</conditions>
</line>
<line number="159" hits="4" branch="false"/>
<line number="162" hits="8" branch="false"/>
<line number="163" hits="10" branch="true" condition-coverage="100% (2/2)">
<conditions>
<condition number="0" type="jump" coverage="100%"/>
</conditions>
</line>
<line number="164" hits="8" branch="false"/>
<line number="165" hits="8" branch="false"/>
<line number="166" hits="10" branch="false"/>
</lines>
</method>
</methods>
<lines>
<line number="68" hits="2" branch="false"/>
<line number="70" hits="2" branch="false"/>
<line number="72" hits="2" branch="false"/>
<line number="74" hits="2" branch="false"/>
<line number="76" hits="2" branch="false"/>
<line number="78" hits="2" branch="false"/>
<line number="80" hits="2" branch="false"/>
<line number="82" hits="2" branch="false"/>
<line number="84" hits="2" branch="false"/>
<line number="86" hits="2" branch="false"/>
<line number="88" hits="2" branch="false"/>
<line number="97" hits="10" branch="false"/>
<line number="100" hits="10" branch="false"/>
<line number="101" hits="10" branch="false"/>
<line number="102" hits="10" branch="false"/>
<line number="105" hits="0" branch="false"/>
<line number="106" hits="0" branch="false"/>
<line number="110" hits="0" branch="false"/>
<line number="111" hits="0" branch="false"/>
<line number="114" hits="0" branch="false"/>
<line number="118" hits="0" branch="false"/>
<line number="128" hits="10" branch="false"/>
<line number="129" hits="10" branch="false"/>
<line number="130" hits="10" branch="false"/>
<line number="131" hits="10" branch="false"/>
<line number="132" hits="10" branch="false"/>
<line number="133" hits="10" branch="false"/>
<line number="135" hits="10" branch="false"/>
<line number="137" hits="10" branch="false"/>
<line number="139" hits="10" branch="false"/>
<line number="140" hits="10" branch="false"/>
<line number="143" hits="10" branch="false"/>
<line number="145" hits="10" branch="true" condition-coverage="100% (2/2)">
<conditions>
<condition number="0" type="jump" coverage="100%"/>
</conditions>
</line>
<line number="146" hits="16" branch="true" condition-coverage="100% (2/2)">
<conditions>
<condition number="0" type="jump" coverage="100%"/>
</conditions>
</line>
<line number="147" hits="8" branch="false"/>
<line number="148" hits="8" branch="true" condition-coverage="100% (2/2)">
<conditions>
<condition number="0" type="jump" coverage="100%"/>
</conditions>
</line>
<line number="149" hits="4" branch="false"/>
<line number="150" hits="4" branch="false"/>
<line number="151" hits="4" branch="false"/>
<line number="152" hits="4" branch="true" condition-coverage="50% (1/2)">
<conditions>
<condition number="0" type="jump" coverage="50%"/>
</conditions>
</line>
<line number="153" hits="0" branch="false"/>
<line number="155" hits="4" branch="true" condition-coverage="50% (1/2)">
<conditions>
<condition number="0" type="jump" coverage="50%"/>
</conditions>
</line>
<line number="156" hits="4" branch="false"/>
<line number="157" hits="4" branch="true" condition-coverage="50% (1/2)">
<conditions>
<condition number="0" type="jump" coverage="50%"/>
</conditions>
</line>
<line number="158" hits="4" branch="true" condition-coverage="50% (1/2)">
<conditions>
<condition number="0" type="jump" coverage="50%"/>
</conditions>
</line>
<line number="159" hits="4" branch="false"/>
<line number="162" hits="8" branch="false"/>
<line number="163" hits="10" branch="true" condition-coverage="100% (2/2)">
<conditions>
<condition number="0" type="jump" coverage="100%"/>
</conditions>
</line>
<line number="164" hits="8" branch="false"/>
<line number="165" hits="8" branch="false"/>
<line number="166" hits="10" branch="false"/>
<line number="169" hits="8" branch="false"/>
<line number="170" hits="8" branch="false"/>
<line number="174" hits="24" branch="false"/>
<line number="182" hits="10" branch="false"/>
<line number="183" hits="10" branch="false"/>
<line number="194" hits="16" branch="false"/>
<line number="195" hits="0" branch="false"/>
<line number="196" hits="0" branch="false"/>
<line number="197" hits="16" branch="false"/>
<line number="198" hits="16" branch="false"/>
<line number="209" hits="10" branch="false"/>
<line number="210" hits="10" branch="false"/>
<line number="214" hits="10" branch="false"/>
<line number="215" hits="10" branch="false"/>
<line number="218" hits="16" branch="false"/>
<line number="219" hits="16" branch="false"/>
<line number="232" hits="8" branch="false"/>
<line number="233" hits="8" branch="false"/>
<line number="236" hits="4" branch="false"/>
<line number="241" hits="0" branch="false"/>
<line number="246" hits="0" branch="false"/>
</lines>
</class>
<class name="org.apache.shiro.guice.web.ShiroWebModule$1" filename="org/apache/shiro/guice/web/ShiroWebModule.java" line-rate="0.0" branch-rate="1.0" complexity="1.4782608695652173">
<methods>
<method name="&lt;init&gt;" signature="(Ljava/lang/String;)V" line-rate="0.0" branch-rate="1.0">
<lines>
<line number="118" hits="0" branch="false"/>
</lines>
</method>
<method name="configureServlets" signature="()V" line-rate="0.0" branch-rate="1.0">
<lines>
<line number="121" hits="0" branch="false"/>
<line number="122" hits="0" branch="false"/>
</lines>
</method>
</methods>
<lines>
<line number="118" hits="0" branch="false"/>
<line number="121" hits="0" branch="false"/>
<line number="122" hits="0" branch="false"/>
</lines>
</class>
<class name="org.apache.shiro.guice.web.ShiroWebModule$FilterConfigKey" filename="org/apache/shiro/guice/web/ShiroWebModule.java" line-rate="1.0" branch-rate="1.0" complexity="1.4782608695652173">
<methods>
<method name="&lt;init&gt;" signature="(Lcom/google/inject/Key;Ljava/lang/String;)V" line-rate="1.0" branch-rate="1.0">
<lines>
<line number="254" hits="4" branch="false"/>
<line number="255" hits="4" branch="false"/>
<line number="256" hits="4" branch="false"/>
<line number="257" hits="4" branch="false"/>
</lines>
</method>
<method name="&lt;init&gt;" signature="(Lcom/google/inject/Key;Ljava/lang/String;Lorg/apache/shiro/guice/web/ShiroWebModule$1;)V" line-rate="1.0" branch-rate="1.0">
<lines>
<line number="249" hits="4" branch="false"/>
</lines>
</method>
<method name="getConfigValue" signature="()Ljava/lang/String;" line-rate="1.0" branch-rate="1.0">
<lines>
<line number="264" hits="4" branch="false"/>
</lines>
</method>
<method name="getKey" signature="()Lcom/google/inject/Key;" line-rate="1.0" branch-rate="1.0">
<lines>
<line number="260" hits="4" branch="false"/>
</lines>
</method>
</methods>
<lines>
<line number="249" hits="4" branch="false"/>
<line number="254" hits="4" branch="false"/>
<line number="255" hits="4" branch="false"/>
<line number="256" hits="4" branch="false"/>
<line number="257" hits="4" branch="false"/>
<line number="260" hits="4" branch="false"/>
<line number="264" hits="4" branch="false"/>
</lines>
</class>
<class name="org.apache.shiro.guice.web.SimpleFilterChain" filename="org/apache/shiro/guice/web/SimpleFilterChain.java" line-rate="1.0" branch-rate="0.75" complexity="2.0">
<methods>
<method name="&lt;init&gt;" signature="(Ljavax/servlet/FilterChain;Ljava/util/Iterator;)V" line-rate="1.0" branch-rate="1.0">
<lines>
<line number="31" hits="8" branch="false"/>
<line number="33" hits="8" branch="false"/>
<line number="34" hits="8" branch="false"/>
<line number="35" hits="8" branch="false"/>
<line number="36" hits="8" branch="false"/>
</lines>
</method>
<method name="doFilter" signature="(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V" line-rate="1.0" branch-rate="0.75">
<lines>
<line number="39" hits="12" branch="true" condition-coverage="100% (2/2)">
<conditions>
<condition number="0" type="jump" coverage="100%"/>
</conditions>
</line>
<line number="40" hits="8" branch="false"/>
<line number="41" hits="8" branch="false"/>
<line number="42" hits="8" branch="true" condition-coverage="50% (1/2)">
<conditions>
<condition number="0" type="jump" coverage="50%"/>
</conditions>
</line>
<line number="43" hits="4" branch="false"/>
<line number="44" hits="4" branch="false"/>
<line number="46" hits="12" branch="false"/>
</lines>
</method>
</methods>
<lines>
<line number="31" hits="8" branch="false"/>
<line number="33" hits="8" branch="false"/>
<line number="34" hits="8" branch="false"/>
<line number="35" hits="8" branch="false"/>
<line number="36" hits="8" branch="false"/>
<line number="39" hits="12" branch="true" condition-coverage="100% (2/2)">
<conditions>
<condition number="0" type="jump" coverage="100%"/>
</conditions>
</line>
<line number="40" hits="8" branch="false"/>
<line number="41" hits="8" branch="false"/>
<line number="42" hits="8" branch="true" condition-coverage="50% (1/2)">
<conditions>
<condition number="0" type="jump" coverage="50%"/>
</conditions>
</line>
<line number="43" hits="4" branch="false"/>
<line number="44" hits="4" branch="false"/>
<line number="46" hits="12" branch="false"/>
</lines>
</class>
<class name="org.apache.shiro.guice.web.SimpleFilterChainResolver" filename="org/apache/shiro/guice/web/SimpleFilterChainResolver.java" line-rate="1.0" branch-rate="1.0" complexity="1.8">
<methods>
<method name="&lt;init&gt;" signature="(Ljava/util/Map;Lcom/google/inject/Injector;Lorg/apache/shiro/util/PatternMatcher;)V" line-rate="1.0" branch-rate="1.0">
<lines>
<line number="42" hits="26" branch="false"/>
<line number="43" hits="26" branch="false"/>
<line number="44" hits="26" branch="false"/>
<line number="45" hits="26" branch="false"/>
<line number="46" hits="26" branch="false"/>
</lines>
</method>
<method name="access$000" signature="(Lorg/apache/shiro/guice/web/SimpleFilterChainResolver;)Lcom/google/inject/Injector;" line-rate="1.0" branch-rate="1.0">
<lines>
<line number="37" hits="4" branch="false"/>
</lines>
</method>
<method name="getChain" signature="(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;Ljavax/servlet/FilterChain;)Ljavax/servlet/FilterChain;" line-rate="1.0" branch-rate="1.0">
<lines>
<line number="49" hits="8" branch="false"/>
<line number="50" hits="8" branch="true" condition-coverage="100% (2/2)">
<conditions>
<condition number="0" type="jump" coverage="100%"/>
</conditions>
</line>
<line number="51" hits="16" branch="true" condition-coverage="100% (2/2)">
<conditions>
<condition number="0" type="jump" coverage="100%"/>
</conditions>
</line>
<line number="52" hits="6" branch="false"/>
<line number="53" hits="6" branch="false"/>
<line number="67" hits="10" branch="false"/>
<line number="68" hits="2" branch="false"/>
</lines>
</method>
</methods>
<lines>
<line number="37" hits="4" branch="false"/>
<line number="42" hits="26" branch="false"/>
<line number="43" hits="26" branch="false"/>
<line number="44" hits="26" branch="false"/>
<line number="45" hits="26" branch="false"/>
<line number="46" hits="26" branch="false"/>
<line number="49" hits="8" branch="false"/>
<line number="50" hits="8" branch="true" condition-coverage="100% (2/2)">
<conditions>
<condition number="0" type="jump" coverage="100%"/>
</conditions>
</line>
<line number="51" hits="16" branch="true" condition-coverage="100% (2/2)">
<conditions>
<condition number="0" type="jump" coverage="100%"/>
</conditions>
</line>
<line number="52" hits="6" branch="false"/>
<line number="53" hits="6" branch="false"/>
<line number="67" hits="10" branch="false"/>
<line number="68" hits="2" branch="false"/>
</lines>
</class>
<class name="org.apache.shiro.guice.web.SimpleFilterChainResolver$1" filename="org/apache/shiro/guice/web/SimpleFilterChainResolver.java" line-rate="0.75" branch-rate="1.0" complexity="1.8">
<methods>
<method name="&lt;init&gt;" signature="(Lorg/apache/shiro/guice/web/SimpleFilterChainResolver;Ljava/util/Iterator;)V" line-rate="1.0" branch-rate="1.0">
<lines>
</lines>
</method>
<method name="hasNext" signature="()Z" line-rate="1.0" branch-rate="1.0">
<lines>
<line number="55" hits="6" branch="false"/>
</lines>
</method>
<method name="next" signature="()Ljava/lang/Object;" line-rate="1.0" branch-rate="1.0">
<lines>
<line number="53" hits="10" branch="false"/>
</lines>
</method>
<method name="next" signature="()Ljavax/servlet/Filter;" line-rate="1.0" branch-rate="1.0">
<lines>
<line number="59" hits="4" branch="false"/>
</lines>
</method>
<method name="remove" signature="()V" line-rate="0.0" branch-rate="1.0">
<lines>
<line number="63" hits="0" branch="false"/>
</lines>
</method>
</methods>
<lines>
<line number="53" hits="10" branch="false"/>
<line number="55" hits="6" branch="false"/>
<line number="59" hits="4" branch="false"/>
<line number="63" hits="0" branch="false"/>
</lines>
</class>
<class name="org.apache.shiro.guice.web.WebGuiceEnvironment" filename="org/apache/shiro/guice/web/WebGuiceEnvironment.java" line-rate="1.0" branch-rate="1.0" complexity="1.0">
<methods>
<method name="&lt;init&gt;" signature="(Lorg/apache/shiro/web/filter/mgt/FilterChainResolver;Ljavax/servlet/ServletContext;Lorg/apache/shiro/web/mgt/WebSecurityManager;)V" line-rate="1.0" branch-rate="1.0">
<lines>
<line number="39" hits="14" branch="false"/>
<line number="40" hits="14" branch="false"/>
<line number="41" hits="14" branch="false"/>
<line number="42" hits="14" branch="false"/>
<line number="44" hits="14" branch="false"/>
<line number="45" hits="14" branch="false"/>
</lines>
</method>
<method name="getFilterChainResolver" signature="()Lorg/apache/shiro/web/filter/mgt/FilterChainResolver;" line-rate="1.0" branch-rate="1.0">
<lines>
<line number="48" hits="2" branch="false"/>
</lines>
</method>
<method name="getSecurityManager" signature="()Lorg/apache/shiro/mgt/SecurityManager;" line-rate="1.0" branch-rate="1.0">
<lines>
<line number="60" hits="2" branch="false"/>
</lines>
</method>
<method name="getServletContext" signature="()Ljavax/servlet/ServletContext;" line-rate="1.0" branch-rate="1.0">
<lines>
<line number="52" hits="2" branch="false"/>
</lines>
</method>
<method name="getWebSecurityManager" signature="()Lorg/apache/shiro/web/mgt/WebSecurityManager;" line-rate="1.0" branch-rate="1.0">
<lines>
<line number="56" hits="2" branch="false"/>
</lines>
</method>
</methods>
<lines>
<line number="39" hits="14" branch="false"/>
<line number="40" hits="14" branch="false"/>
<line number="41" hits="14" branch="false"/>
<line number="42" hits="14" branch="false"/>
<line number="44" hits="14" branch="false"/>
<line number="45" hits="14" branch="false"/>
<line number="48" hits="2" branch="false"/>
<line number="52" hits="2" branch="false"/>
<line number="56" hits="2" branch="false"/>
<line number="60" hits="2" branch="false"/>
</lines>
</class>
</classes>
</package>
</packages>
</coverage>