/** * 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; } }
/** * Constructs a composite mapper which consists of glob pattern * mappers for each of the given extensions. */ private FileNameMapper getMapper(String... extensions) { CompositeMapper m = new CompositeMapper(); for (String ext : extensions) m.add(getMapper(ext)); return m; }