private void handleClassEntry ( String entryName , ClassVisitor visitor ) { // build class name from relative name String className = getClassName ( entryName . substring ( CLASSES_FOLDER . length ( ) ) ) ; // check filter if ( mustProcessClass ( className ) && ! processedClasses . contains ( className ) ) { // mark this class as processed processedClasses . add ( className ) ; // the class file stream InputStream classFileStream = null ; // close the stream in finally block try { /* * Try to open the .class file. if this isn't possible, we will scan it anyway. */ classFileStream = servletContext . getResourceAsStream ( entryName ) ; if ( classFileStream == null ) { if ( log . isDebugEnabled ( ) ) { log . debug ( "Could not obtain InputStream for class file: " + entryName ) ; } } // analyze the class (with or without classFileStream) processClass ( className , classFileStream , visitor ) ; } finally { try { if ( classFileStream != null ) { classFileStream . close ( ) ; } } catch ( IOException e ) { if ( log . isDebugEnabled ( ) ) { log . debug ( "Failed to close input stream: " + e . getMessage ( ) ) ; } } } } }
Handles class entry in a WEB - INF .