Coverage report

| %line | %branch
--- | --- | ---
org.apache.commons.net.ftp.parser.CompositeFileEntryParser |
94% |
100% |

1 |  |
     /*
2 |  |
      * Copyright 2004 The Apache Software Foundation
3 |  |
      *
4 |  |
      * Licensed under the Apache License, Version 2.0 (the "License");
5 |  |
      * you may not use this file except in compliance with the License.
6 |  |
      * You may obtain a copy of the License at
7 |  |
      *
8 |  |
      *     http://www.apache.org/licenses/LICENSE-2.0
9 |  |
      *
10 |  |
      * Unless required by applicable law or agreed to in writing, software
11 |  |
      * distributed under the License is distributed on an "AS IS" BASIS,
12 |  |
      * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 |  |
      * See the License for the specific language governing permissions and
14 |  |
      * limitations under the License.
15 |  |
      */
16 |  |
     package org.apache.commons.net.ftp.parser;
17 |  |
18 |  |
     import org.apache.commons.net.ftp.FTPFile;
19 |  |
     import org.apache.commons.net.ftp.FTPFileEntryParser;
20 |  |
     import org.apache.commons.net.ftp.FTPFileEntryParserImpl;
21 |  |
22 |  |
     /**
23 |  |
      * This implementation allows to pack some FileEntryParsers together
24 |  |
      * and handle the case where to returned dirstyle isnt clearly defined.
25 |  |
      * The matching parser will be cached.
26 |  |
      * If the cached parser wont match due to the server changed the dirstyle,
27 |  |
      * a new matching parser will be searched.
28 |  |
      *
29 |  |
      * @author Mario Ivankovits <mario@ops.co.at>
30 |  |
      */
31 |  |
     public class CompositeFileEntryParser extends FTPFileEntryParserImpl
32 |  |
     {
33 |  |
         private final FTPFileEntryParser[] ftpFileEntryParsers;
34 |  |
         private FTPFileEntryParser cachedFtpFileEntryParser;
35 |  |
36 |  |
         public CompositeFileEntryParser(FTPFileEntryParser[] ftpFileEntryParsers)
37 |  |
         {
38 | 76 |
             super();
39 |  |
40 | 76 |
             this.cachedFtpFileEntryParser = null;
41 | 76 |
             this.ftpFileEntryParsers = ftpFileEntryParsers;
42 | 76 |
         }
43 |  |
44 |  |
         public FTPFile parseFTPEntry(String listEntry)
45 |  |
         {
46 | 182 |
             if (cachedFtpFileEntryParser != null)
47 |  |
             {
48 | 96 |
                 FTPFile matched = cachedFtpFileEntryParser.parseFTPEntry(listEntry);
49 | 96 |
                 if (matched != null)
50 |  |
                 {
51 | 92 |
                     return matched;
52 |  |
                 }
53 |  |
             }
54 |  |
             else
55 |  |
             {
56 | 186 |
                 for (int iterParser=0; iterParser < ftpFileEntryParsers.length; iterParser++)
57 |  |
                 {
58 | 136 |
                     FTPFileEntryParser ftpFileEntryParser = ftpFileEntryParsers[iterParser];
59 |  |
60 | 136 |
                     FTPFile matched = ftpFileEntryParser.parseFTPEntry(listEntry);
61 | 136 |
                     if (matched != null)
62 |  |
                     {
63 | 36 |
                         cachedFtpFileEntryParser = ftpFileEntryParser;
64 | 36 |
                         return matched;
65 |  |
                     }
66 |  |
                 }
67 |  |
             }
68 | 54 |
             return null;
69 |  |
         }
70 |  |
     }

This report is generated by jcoverage, Maven and Maven JCoverage Plugin.