Coverage Report - org.codehaus.plexus.compiler.util.scan.mapping.SingleTargetSourceMapping
 
Classes in this File Line Coverage Branch Coverage Complexity
SingleTargetSourceMapping
100%
7/7
100%
2/2
2
 
 1  
 package org.codehaus.plexus.compiler.util.scan.mapping;
 2  
 
 3  
 /**
 4  
  * The MIT License
 5  
  *
 6  
  * Copyright (c) 2005, The Codehaus
 7  
  *
 8  
  * Permission is hereby granted, free of charge, to any person obtaining a copy of
 9  
  * this software and associated documentation files (the "Software"), to deal in
 10  
  * the Software without restriction, including without limitation the rights to
 11  
  * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
 12  
  * of the Software, and to permit persons to whom the Software is furnished to do
 13  
  * so, subject to the following conditions:
 14  
  *
 15  
  * The above copyright notice and this permission notice shall be included in all
 16  
  * copies or substantial portions of the Software.
 17  
  *
 18  
  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 19  
  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 20  
  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 21  
  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 22  
  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 23  
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 24  
  * SOFTWARE.
 25  
  */
 26  
 
 27  
 import org.codehaus.plexus.compiler.util.scan.InclusionScanException;
 28  
 
 29  
 import java.util.Set;
 30  
 import java.util.Collections;
 31  
 import java.io.File;
 32  
 
 33  
 /**
 34  
  * Maps a set of input files to a single output file.
 35  
  *
 36  
  * @author <a href="mailto:trygvis@inamo.no">Trygve Laugst&oslash;l</a>
 37  
  */
 38  
 public class SingleTargetSourceMapping
 39  
     implements SourceMapping
 40  
 {
 41  
     private String sourceSuffix;
 42  
 
 43  
     private String outputFile;
 44  
 
 45  
     public SingleTargetSourceMapping( String sourceSuffix, String outputFile )
 46  2
     {
 47  2
         this.sourceSuffix = sourceSuffix;
 48  
 
 49  2
         this.outputFile = outputFile;
 50  2
     }
 51  
 
 52  
     public Set<File> getTargetFiles( File targetDir, String source )
 53  
         throws InclusionScanException
 54  
     {
 55  9
         if ( !source.endsWith( sourceSuffix ) )
 56  
         {
 57  1
             return Collections.emptySet();
 58  
         }
 59  
 
 60  8
         return Collections.singleton( new File( targetDir, outputFile ) );
 61  
     }
 62  
 }