本文整理汇总了Java中org.apache.tools.ant.util.FileNameMapper类的典型用法代码示例。如果您正苦于以下问题:Java FileNameMapper类的具体用法?Java FileNameMapper怎么用?Java FileNameMapper使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
FileNameMapper类属于org.apache.tools.ant.util包,在下文中一共展示了FileNameMapper类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: iterator
import org.apache.tools.ant.util.FileNameMapper; //导入依赖的package包/类
/**
* Fulfill the ResourceCollection interface.
* @return an Iterator of Resources.
* @since Ant 1.7
*/
@Override
public Iterator<Resource> iterator() {
if (isReference()) {
return getRef().iterator();
}
dieOnCircularReference();
Stream<Resource> result = getPropertyNames(getEffectiveProperties())
.stream().map(name -> new PropertyResource(getProject(), name));
Optional<FileNameMapper> m =
Optional.ofNullable(getMapper()).map(Mapper::getImplementation);
if (m.isPresent()) {
result = result.map(p -> new MappedResource(p, m.get()));
}
return result.iterator();
}
示例2: selectOutOfDateResources
import org.apache.tools.ant.util.FileNameMapper; //导入依赖的package包/类
private Resource[] selectOutOfDateResources(final Resource[] initial,
final FileNameMapper mapper) {
final Resource[] rs = selectFileResources(initial);
Resource[] result =
ResourceUtils.selectOutOfDateSources(this, rs, mapper,
getZipScanner(),
ZIP_FILE_TIMESTAMP_GRANULARITY);
if (!doFilesonly) {
final Union u = new Union();
u.addAll(Arrays.asList(selectDirectoryResources(initial)));
final ResourceCollection rc =
ResourceUtils.selectSources(this, u, mapper,
getZipScanner(),
MISSING_DIR_PROVIDER);
if (!rc.isEmpty()) {
final List<Resource> newer = new ArrayList<>();
newer.addAll(Arrays.asList(((Union) rc).listResources()));
newer.addAll(Arrays.asList(result));
result = newer.toArray(result);
}
}
return result;
}
示例3: scanDir
import org.apache.tools.ant.util.FileNameMapper; //导入依赖的package包/类
/**
* Scans the directory looking for class files to be compiled.
* The result is returned in the class variable compileList.
* @param baseDir the base direction
* @param files the list of files to scan
* @param mapper the mapper of files to target files
*/
protected void scanDir(File baseDir, String[] files, FileNameMapper mapper) {
String[] newFiles = files;
if (idl) {
log("will leave uptodate test to rmic implementation in idl mode.",
Project.MSG_VERBOSE);
} else if (iiop && iiopOpts != null && iiopOpts.indexOf("-always") > -1) {
log("no uptodate test as -always option has been specified",
Project.MSG_VERBOSE);
} else {
SourceFileScanner sfs = new SourceFileScanner(this);
newFiles = sfs.restrict(files, baseDir, getOutputDir(), mapper);
}
Stream.of(newFiles).map(s -> s.replace(File.separatorChar, '.'))
.map(s -> s.substring(0, s.lastIndexOf(".class")))
.forEach(compileList::add);
}
示例4: expandStream
import org.apache.tools.ant.util.FileNameMapper; //导入依赖的package包/类
/**
* @since Ant 1.7
*/
private void expandStream(String name, InputStream stream, File dir)
throws IOException {
try (TarInputStream tis = new TarInputStream(
compression.decompress(name, new BufferedInputStream(stream)),
getEncoding())) {
log("Expanding: " + name + " into " + dir, Project.MSG_INFO);
boolean empty = true;
FileNameMapper mapper = getMapper();
TarEntry te;
while ((te = tis.getNextEntry()) != null) {
empty = false;
extractFile(FileUtils.getFileUtils(), null, dir, tis,
te.getName(), te.getModTime(),
te.isDirectory(), mapper);
}
if (empty && getFailOnEmptyArchive()) {
throw new BuildException("archive '%s' is empty", name);
}
log("expand complete", Project.MSG_VERBOSE);
}
}
示例5: getMapper
import org.apache.tools.ant.util.FileNameMapper; //导入依赖的package包/类
/**
* Returns a file name mapper which maps source files to class
* files. This needs to stay in sync with Languages and file name
* extensions supported by Kawa.
*/
private FileNameMapper getMapper() {
if (language == null) {
// unspecified, use all
CompositeMapper mapper = new CompositeMapper();
mapper.add(getSchemeMapper());
mapper.add(getKrlMapper());
mapper.add(getBrlMapper());
mapper.add(getEmacsLispMapper());
mapper.add(getXQueryMapper());
mapper.add(getQ2Mapper());
mapper.add(getXsltMapper());
mapper.add(getCommonLispMapper());
return mapper;
} else if (languageMatches("scheme", ".scm", ".sc")) { // Scheme
return getSchemeMapper();
} else if (languageMatches("krl", ".krl")) {
return getKrlMapper();
} else if (languageMatches("brl", ".brl")) {
return getBrlMapper();
} else if (languageMatches("emacs", "elisp", "emacs-lisp", ".el")) {
return getEmacsLispMapper();
} else if (languageMatches("xquery", ".xquery", ".xq", ".xql")) {
return getXQueryMapper();
} else if (languageMatches("q2", ".q2")) {
return getQ2Mapper();
} else if (languageMatches("xslt", "xsl", ".xsl")) {
return getXsltMapper();
} else if (languageMatches("commonlisp", "common-lisp", "clisp",
"lisp", ".lisp", ".lsp", ".cl")) {
return getCommonLispMapper();
} else {
return null;
}
}
示例6: getPropertyMap
import org.apache.tools.ant.util.FileNameMapper; //导入依赖的package包/类
/**
*
* @return Map
* @since 1.9.0
*/
private Map<String, Object> getPropertyMap() {
if (isReference()) {
return getRef().getPropertyMap();
}
dieOnCircularReference();
final Mapper myMapper = getMapper();
final FileNameMapper m = myMapper == null ? null : myMapper.getImplementation();
final Map<String, Object> effectiveProperties = getEffectiveProperties();
final Set<String> propertyNames = getPropertyNames(effectiveProperties);
final Map<String, Object> result = new HashMap<>();
//iterate through the names, get the matching values
for (String name : propertyNames) {
Object value = effectiveProperties.get(name);
// TODO should we include null properties?
// TODO should we query the PropertyHelper for property value to grab potentially shadowed values?
if (value != null) {
// may be null if a system property has been added
// after the project instance has been initialized
if (m != null) {
//map the names
String[] newname = m.mapFileName(name);
if (newname != null) {
name = newname[0];
}
}
result.put(name, value);
}
}
return result;
}
示例7: getCollection
import org.apache.tools.ant.util.FileNameMapper; //导入依赖的package包/类
private Collection<Resource> getCollection() {
FileNameMapper m =
mapper == null ? new IdentityMapper() : mapper.getImplementation();
Stream<MappedResource> stream;
if (enableMultipleMappings) {
stream = nested.stream()
.flatMap(r -> Stream.of(m.mapFileName(r.getName()))
.map(MergingMapper::new)
.map(mm -> new MappedResource(r, mm)));
} else {
stream = nested.stream().map(r -> new MappedResource(r, m));
}
return stream.collect(Collectors.toList());
}
示例8: addConfigured
import org.apache.tools.ant.util.FileNameMapper; //导入依赖的package包/类
/**
* Add a configured FileNameMapper instance.
* @param fileNameMapper the FileNameMapper to add
* @throws BuildException if more than one mapper defined
* @since Ant 1.8.0
*/
public void addConfigured(final FileNameMapper fileNameMapper) {
if (map != null || mapperElement != null) {
throw new BuildException("Cannot define more than one mapper");
}
this.map = fileNameMapper;
}
示例9: addConfigured
import org.apache.tools.ant.util.FileNameMapper; //导入依赖的package包/类
/**
* Add a configured FileNameMapper instance.
* @param fileNameMapper the FileNameMapper to add
* @throws BuildException if more than one mapper defined
* @since Ant 1.8.0
*/
public void addConfigured(FileNameMapper fileNameMapper) {
if (map != null || mapperElement != null) {
throw new BuildException("Cannot define more than one mapper");
}
this.map = fileNameMapper;
}
示例10: getImplementationClass
import org.apache.tools.ant.util.FileNameMapper; //导入依赖的package包/类
/**
* Gets the Class object associated with the mapper implementation.
* @return <code>Class</code>.
* @throws ClassNotFoundException if the class cannot be found
*/
protected Class<? extends FileNameMapper> getImplementationClass() throws ClassNotFoundException {
String cName = this.classname;
if (type != null) {
cName = type.getImplementation();
}
ClassLoader loader = (classpath == null)
? getClass().getClassLoader()
// Memory leak in line below
: getProject().createClassLoader(classpath);
return Class.forName(cName, true, loader).asSubclass(FileNameMapper.class);
}
示例11: scanDir
import org.apache.tools.ant.util.FileNameMapper; //导入依赖的package包/类
/**
* Scan a directory for files to check for "up to date"ness
* @param srcDir the directory
* @param files the files to scan for
* @return true if the files are up to date
*/
protected boolean scanDir(File srcDir, String[] files) {
SourceFileScanner sfs = new SourceFileScanner(this);
FileNameMapper mapper = getMapper();
File dir = srcDir;
if (mapperElement == null) {
dir = null;
}
return sfs.restrict(files, srcDir, dir, mapper).length == 0;
}
示例12: getMapper
import org.apache.tools.ant.util.FileNameMapper; //导入依赖的package包/类
private FileNameMapper getMapper() {
if (mapperElement == null) {
MergingMapper mm = new MergingMapper();
mm.setTo(targetFile.getAbsolutePath());
return mm;
}
return mapperElement.getImplementation();
}
示例13: execute
import org.apache.tools.ant.util.FileNameMapper; //导入依赖的package包/类
/**
* Executes the Task.
* @throws BuildException on error.
*/
@Override
public void execute() throws BuildException {
validateAttributes();
try {
File dest = (destDir != null) ? destDir : srcDir;
int writeCount = 0;
// build mapper
final FileNameMapper mapper = mapperElement == null
? new IdentityMapper() : mapperElement.getImplementation();
// deal with specified srcDir
if (srcDir != null) {
writeCount += processDir(srcDir,
super.getDirectoryScanner(srcDir).getIncludedFiles(), dest,
mapper);
}
// deal with the filesets
for (FileSet fs : filesets) {
writeCount += processDir(fs.getDir(getProject()),
fs.getDirectoryScanner(getProject()).getIncludedFiles(),
dest, mapper);
}
if (writeCount > 0) {
log("Processed " + writeCount + (writeCount == 1 ? " image." : " images."));
}
} catch (Exception err) {
log(StringUtils.getStackTrace(err), Project.MSG_ERR);
throw new BuildException(err.getMessage());
}
}
示例14: scan
import org.apache.tools.ant.util.FileNameMapper; //导入依赖的package包/类
/**
* Compares source files to destination files to see if they should be
* copied.
*
* @param fromDir The source directory.
* @param toDir The destination directory.
* @param files A list of files to copy.
* @param dirs A list of directories to copy.
*/
protected void scan(final File fromDir, final File toDir, final String[] files,
final String[] dirs) {
final FileNameMapper mapper = getMapper();
buildMap(fromDir, toDir, files, mapper, fileCopyMap);
if (includeEmpty) {
buildMap(fromDir, toDir, dirs, mapper, dirCopyMap);
}
}
示例15: buildMap
import org.apache.tools.ant.util.FileNameMapper; //导入依赖的package包/类
/**
* Add to a map of files/directories to copy.
*
* @param fromDir the source directory.
* @param toDir the destination directory.
* @param names a list of filenames.
* @param mapper a <code>FileNameMapper</code> value.
* @param map a map of source file to array of destination files.
*/
protected void buildMap(final File fromDir, final File toDir, final String[] names,
final FileNameMapper mapper, final Hashtable<String, String[]> map) {
String[] toCopy = null;
if (forceOverwrite) {
final Vector<String> v = new Vector<String>();
for (int i = 0; i < names.length; i++) {
if (mapper.mapFileName(names[i]) != null) {
v.addElement(names[i]);
}
}
toCopy = new String[v.size()];
v.copyInto(toCopy);
} else {
final SourceFileScanner ds = new SourceFileScanner(this);
toCopy = ds.restrict(names, fromDir, toDir, mapper, granularity);
}
for (int i = 0; i < toCopy.length; i++) {
final File src = new File(fromDir, toCopy[i]);
final String[] mappedFiles = mapper.mapFileName(toCopy[i]);
if (!enableMultipleMappings) {
map.put(src.getAbsolutePath(),
new String[] {new File(toDir, mappedFiles[0]).getAbsolutePath()});
} else {
// reuse the array created by the mapper
for (int k = 0; k < mappedFiles.length; k++) {
mappedFiles[k] = new File(toDir, mappedFiles[k]).getAbsolutePath();
}
map.put(src.getAbsolutePath(), mappedFiles);
}
}
}