/** * Returns the set of selectors as an array. * @param p the current project * @return a <code>FileSelector[]</code> of the selectors in this container. */ @Override public synchronized FileSelector[] getSelectors(Project p) { if (isReference()) { return getRef(getProject()).getSelectors(p); } dieOnCircularReference(p); return selectors.toArray(new FileSelector[selectors.size()]); }
/** * Set up the specified directory scanner against the specified project. * @param ds a <code>FileScanner</code> instance. * @param p an Ant <code>Project</code> instance. */ public synchronized void setupDirectoryScanner(FileScanner ds, Project p) { if (isReference()) { getRef(p).setupDirectoryScanner(ds, p); return; } dieOnCircularReference(p); if (ds == null) { throw new IllegalArgumentException("ds cannot be null"); } ds.setBasedir(dir); PatternSet ps = mergePatterns(p); p.log(getDataTypeName() + ": Setup scanner in dir " + dir + " with " + ps, Project.MSG_DEBUG); ds.setIncludes(ps.getIncludePatterns(p)); ds.setExcludes(ps.getExcludePatterns(p)); if (ds instanceof SelectorScanner) { SelectorScanner ss = (SelectorScanner) ds; ss.setSelectors(getSelectors(p)); } if (useDefaultExcludes) { ds.addDefaultExcludes(); } ds.setCaseSensitive(caseSensitive); }