/** * Returns a new TokenizedPath where all tokens of this pattern to * the right containing wildcards have been removed * * @return the leftmost part of the pattern without wildcards */ public TokenizedPath rtrimWildcardTokens() { StringBuilder sb = new StringBuilder(); int newLen = 0; for (; newLen < tokenizedPattern.length; newLen++) { if (SelectorUtils.hasWildcards(tokenizedPattern[newLen])) { break; } if (newLen > 0 && sb.charAt(sb.length() - 1) != File.separatorChar) { sb.append(File.separator); } sb.append(tokenizedPattern[newLen]); } if (newLen == 0) { return TokenizedPath.EMPTY_PATH; } String[] newPats = new String[newLen]; System.arraycopy(tokenizedPattern, 0, newPats, 0, newLen); return new TokenizedPath(sb.toString(), newPats); }
/** * Add all patterns that are not real patterns (do not contain * wildcards) to the set and returns the real patterns. * * @param map Map to populate. * @param patterns String[] of patterns. * @since Ant 1.8.0 */ private TokenizedPattern[] fillNonPatternSet(final Map<String, TokenizedPath> map, final String[] patterns) { final List<TokenizedPattern> al = new ArrayList<>(patterns.length); for (String pattern : patterns) { if (SelectorUtils.hasWildcards(pattern)) { al.add(new TokenizedPattern(pattern)); } else { final String s = isCaseSensitive() ? pattern : pattern.toUpperCase(); map.put(s, new TokenizedPath(s)); } } return al.toArray(new TokenizedPattern[al.size()]); }
private String fixAntPattern(String pattern) { pattern = FilenameUtils.separatorsToSystem(pattern); if (!SelectorUtils.hasWildcards(pattern)) { pattern = "**" + File.separatorChar + pattern; } return pattern; }
private String fixAntPattern(String pattern) { pattern = FilenameUtils.separatorsToSystem(pattern); if (!SelectorUtils.hasWildcards(pattern)) { pattern = "**" + File.separatorChar + pattern; } return pattern; }