##### Coverage Report - org.apache.maven.shared.io.scan.mapping.SuffixMapping

Classes in this File | Line Coverage | Branch Coverage | Complexity
SuffixMapping |
100% | 15/15
100% | 2/2
| 1.6666666666666667;1.667

1 |  |
     package org.apache.maven.shared.io.scan.mapping;
2 |  |
3 |  |
     /*
4 |  |
      * Copyright 2001-2005 The Apache Software Foundation.
5 |  |
      *
6 |  |
      * Licensed under the Apache License, Version 2.0 (the "License");
7 |  |
      * you may not use this file except in compliance with the License.
8 |  |
      * You may obtain a copy of the License at
9 |  |
      *
10 |  |
      *      http://www.apache.org/licenses/LICENSE-2.0
11 |  |
      *
12 |  |
      * Unless required by applicable law or agreed to in writing, software
13 |  |
      * distributed under the License is distributed on an "AS IS" BASIS,
14 |  |
      * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 |  |
      * See the License for the specific language governing permissions and
16 |  |
      * limitations under the License.
17 |  |
      */
18 |  |
19 |  |
     import java.io.File;
20 |  |
     import java.util.Collections;
21 |  |
     import java.util.HashSet;
22 |  |
     import java.util.Iterator;
23 |  |
     import java.util.Set;
24 |  |
25 |  |
     /**
26 |  |
      * @author jdcasey
27 |  |
      * @version $Id: org.apache.maven.shared.io.scan.mapping.SuffixMapping.html 2271 2006-08-22 15:19:41Z joakime $
28 |  |
      */
29 |  |
     public final class SuffixMapping
30 |  |
         implements SourceMapping
31 |  |
     {
32 |  |
         private final String sourceSuffix;
33 |  |
34 |  |
         private final Set targetSuffixes;
35 |  |
36 | 2 |
         public SuffixMapping( String sourceSuffix, String targetSuffix )
37 |  |
         {
38 | 2 |
             this.sourceSuffix = sourceSuffix;
39 |  |
40 | 2 |
             this.targetSuffixes = Collections.singleton( targetSuffix );
41 | 2 |
         }
42 |  |
43 | 2 |
         public SuffixMapping( String sourceSuffix, Set targetSuffixes )
44 |  |
         {
45 | 2 |
             this.sourceSuffix = sourceSuffix;
46 |  |
47 | 2 |
             this.targetSuffixes = Collections.unmodifiableSet( targetSuffixes );
48 | 2 |
         }
49 |  |
50 |  |
         public Set getTargetFiles( File targetDir, String source )
51 |  |
         {
52 | 4 |
             Set targetFiles = new HashSet();
53 |  |
54 | 4 |
             if ( source.endsWith( sourceSuffix ) )
55 |  |
             {
56 | 2 |
                 String base = source.substring( 0, source.length() - sourceSuffix.length() );
57 |  |
58 | 7 |
                 for ( Iterator it = targetSuffixes.iterator(); it.hasNext(); )
59 |  |
                 {
60 | 3 |
                     String suffix = (String) it.next();
61 |  |
62 | 3 |
                     targetFiles.add( new File( targetDir, base + suffix ) );
63 |  |
                 }
64 |  |
             }
65 |  |
66 | 4 |
             return targetFiles;
67 |  |
         }
68 |  |
     }