Package edu.mit.simile.butterfly
Class LinkRewriter
java.lang.Object
java.io.Writer
java.io.PrintWriter
edu.mit.simile.butterfly.LinkRewriter
- All Implemented Interfaces:
Closeable,Flushable,Appendable,AutoCloseable
This is a special PrintWriter that is capable of incrementally looking
for strings of the form "[#name#]" and replace the module "name" with
the URL where the named module is actually mounted. This allows modules
to be agnostic to where their dependencies are mount, making it easier
to reuse modules across different web applications.
NOTE: great care has been taken in making sure that this writer is
incremental, meaning that works by minimizing the amount of buffering
that it needs to operate. This is because we don't want such rewriting
to be an impact for the perceived performance of responses.
-
Nested Class Summary
Nested Classes -
Field Summary
Fields inherited from class java.io.PrintWriter
out -
Constructor Summary
ConstructorsConstructorDescriptionLinkRewriter(PrintWriter writer, ButterflyModule module)LinkRewriter(PrintWriter writer, ButterflyModule module, String baseURL) -
Method Summary
Methods inherited from class java.io.PrintWriter
append, append, append, checkError, clearError, close, flush, format, format, print, print, print, print, print, print, print, print, print, printf, printf, println, println, println, println, println, println, println, println, println, println, setErrorMethods inherited from class java.io.Writer
nullWriter
-
Constructor Details
-
LinkRewriter
-
LinkRewriter
-
-
Method Details
-
write
public void write(char[] buf, int off, int len)- Overrides:
writein classPrintWriter
-
write
public void write(char[] buf)- Overrides:
writein classPrintWriter
-
write
- Overrides:
writein classPrintWriter
-
write
- Overrides:
writein classPrintWriter
-
write
public void write(int c)- Overrides:
writein classPrintWriter
-