private Content buildReader() throws IOException { final Reader r = (Reader) origin; if (content == null) { content = read(r); } r.close(); LiteralSourceImpl ret = new LiteralSourceImpl( name, content); return ret; }
if (legacy) { useMimeType = useMimeType == null ? UNKNOWN_MIME_TYPE : useMimeType; useContent = useContent == CONTENT_UNSET ? read(file) : useContent; } else { if (useContent == CONTENT_UNSET) { if (isCharacterBased(language, useMimeType)) { useContent = read(file); } else { useContent = ByteSequence.create(readBytes(file)); useContent = useContent == CONTENT_UNSET ? read(r) : useContent; } else if (origin instanceof URL) { final URL url = (URL) origin; useMimeType = useMimeType == null ? findMimeType(url, connection, getValidMimeTypes(language)) : useMimeType; useMimeType = useMimeType == null ? UNKNOWN_MIME_TYPE : useMimeType; useContent = useContent == CONTENT_UNSET ? read(new InputStreamReader(connection.getInputStream())) : useContent; } else { if (useContent == CONTENT_UNSET) { if (isCharacterBased(language, useMimeType)) { useContent = read(new InputStreamReader(connection.getInputStream())); } else { useContent = ByteSequence.create(readBytes(connection));
URLSourceImpl(URL url, URLConnection c, String name) throws IOException { this.url = url; this.name = name; try { this.uri = url.toURI(); } catch (URISyntaxException ex) { throw new IOException("Bad URL: " + url, ex); } this.code = enforceCharSequenceContract(Source.read(new InputStreamReader(c.getInputStream()))); }
private Content buildFile(boolean read) throws IOException { final File file = (File) origin; File absoluteFile = file.getCanonicalFile(); FileSourceImpl fileSource = new FileSourceImpl( read ? Source.read(file) : null, absoluteFile, name == null ? file.getName() : name, path == null ? absoluteFile.getPath() : path); return fileSource; }
URLSourceImpl(URL url, CharSequence code, String name) throws IOException { this.url = url; this.name = name; try { this.uri = url.toURI(); } catch (URISyntaxException ex) { throw new IOException("Bad URL: " + url, ex); } if (code != null) { this.code = enforceCharSequenceContract(code); } else { this.code = enforceCharSequenceContract(Source.read(new InputStreamReader(url.openStream()))); } }
/** * Creates a source whose contents will be read immediately and cached. * * @param reader * @param description a note about the origin, possibly useful for debugging * @return a newly created, non-indexed source representation * @throws IOException if reading fails */ public static Source fromReader(Reader reader, String description) throws IOException { final LiteralSource source = new LiteralSource(description, read(reader)); notifyNewSource(source).tagAs(Tags.FROM_READER); return source; }