1 package org.apache.maven.util;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 import org.apache.tools.ant.util.GlobPatternMapper;
22
23 /**
24 * Implementation of FileNameMapper that does simple case insensitive
25 * wildcard pattern replacements.
26 *
27 * <p>This does the same name translations as
28 * <code>org.apache.tools.ant.util.GlobPatternMapper</code> does,
29 * but ignores case when comparing parts of name with patterns.</p>
30 *
31 * @author <a href="mailto:barancev@ispras.ru">Alexei Baranstev</a>
32 */
33 public class CaseInsensitiveGlobPatternMapper
34 extends GlobPatternMapper
35 {
36
37 /**
38 * Returns null if the source file name doesn't match the
39 * "from" pattern, an one-element array containing the
40 * translated file otherwise.
41 */
42 public String[] mapFileName( String sourceFileName )
43 {
44 if ( ( fromPrefix == null ) || !sourceFileName.toLowerCase().startsWith( fromPrefix.toLowerCase() )
45 || !sourceFileName.toLowerCase().endsWith( fromPostfix.toLowerCase() ) )
46 {
47 return null;
48 }
49 return new String[] { toPrefix + extractVariablePart( sourceFileName ) + toPostfix };
50 }
51
52 }