FileCachingIRIMapper implements OWLOntologyIRIMapper { static void escapeToBuffer(StringBuilder sb, String s) { for (int i = 0; i < s.length(); i++) { char c = s.charAt(i); if (Character.isLetterOrDigit(c) || c == '.' || c == '-') { sb.append(c); } else if (c == '/') { sb.append(File.separatorChar); } else { sb.append('_'); } } } @Inject  FileCachingIRIMapper(@Named("FileCachingIRIMapperLocalCache") String localCache,
			@Named("FileCachingIRIMapperPeriod") long period,
			@Named("FileCachingIRIMapperTimeUnit") TimeUnit unit); @Override IRI getDocumentIRI(IRI ontologyIRI);  }
@Test public void testEscapeToBuffer() { StringBuilder sb = new StringBuilder(); FileCachingIRIMapper.escapeToBuffer(sb, "/t?ui+7.obo"); assertEquals(File.separator + "t_ui_7.obo", sb.toString()); }