public boolean isEmpty() { return getFiles().isEmpty(); }
public Iterator<File> iterator() { return getFiles().iterator(); }
public boolean contains(File file) { return getFiles().contains(file); }
/** * Returns this collection as a set of {@link DirectoryFileTree} instances. */ protected Collection<DirectoryFileTree> getAsFileTrees() { List<DirectoryFileTree> fileTrees = new ArrayList<DirectoryFileTree>(); for (File file : getFiles()) { if (file.isFile()) { fileTrees.add(new FileBackedDirectoryFileTree(file)); } } return fileTrees; }
@Override public void registerWatchPoints(FileSystemSubset.Builder builder) { for (File file : getFiles()) { builder.add(file); } } }
public Set<File> getFiles() { Set<File> files = new LinkedHashSet<File>(AbstractFileCollection.this.getFiles()); files.removeAll(collection.getFiles()); return files; } };
public String getAsPath() { return GUtil.asPath(getFiles()); }
public File getSingleFile() throws IllegalStateException { Collection<File> files = getFiles(); if (files.isEmpty()) { throw new IllegalStateException(String.format("Expected %s to contain exactly one file, however, it contains no files.", getDisplayName())); } if (files.size() != 1) { throw new IllegalStateException(String.format("Expected %s to contain exactly one file, however, it contains %d files.", getDisplayName(), files.size())); } return files.iterator().next(); }
public Object asType(Class<?> type) throws UnsupportedOperationException { if (type.isAssignableFrom(Set.class)) { return getFiles(); } if (type.isAssignableFrom(List.class)) { return new ArrayList<File>(getFiles()); } if (type.isAssignableFrom(File[].class)) { Set<File> files = getFiles(); return files.toArray(new File[0]); } if (type.isAssignableFrom(File.class)) { return getSingleFile(); } if (type.isAssignableFrom(FileCollection.class)) { return this; } if (type.isAssignableFrom(FileTree.class)) { return getAsFileTree(); } throw new UnsupportedOperationException(String.format("Cannot convert %s to type %s, as this type is not supported.", getDisplayName(), type.getSimpleName())); }