ZipFileHandle getZipFileHandle ( ) throws IOException { synchronized ( zipFileHandleLock ) { if ( zipFileHandleFailed ) { return null ; } else if ( zipFileHandle != null ) { return zipFileHandle ; } File useArchiveFile = getArchiveFile ( ) ; if ( useArchiveFile == null ) { zipFileHandleFailed = true ; throw new FileNotFoundException ( entryInEnclosingContainer . getPath ( ) ) ; } try { String useCanonicalPath = getCanonicalPath ( useArchiveFile ) ; // throws IOException zipFileHandle = getZipFileHandle ( useCanonicalPath ) ; // throws IOException } catch ( IOException e ) { zipFileHandleFailed = true ; throw e ; } return zipFileHandle ; } }
Answer the handle to the archive file of this container .