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
public class LinkRewriter extends PrintWriter
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 Modifier and Type Class Description static classLinkRewriter.State
-
Field Summary
-
Fields inherited from class java.io.PrintWriter
out
-
-
Constructor Summary
Constructors Constructor Description LinkRewriter(PrintWriter writer, ButterflyModule module)LinkRewriter(PrintWriter writer, ButterflyModule module, String baseURL)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidwrite(char[] buf)voidwrite(char[] buf, int off, int len)voidwrite(int c)voidwrite(String s)voidwrite(String s, int off, int len)-
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, setError
-
Methods inherited from class java.io.Writer
nullWriter
-
-
-
-
Constructor Detail
-
LinkRewriter
public LinkRewriter(PrintWriter writer, ButterflyModule module)
-
LinkRewriter
public LinkRewriter(PrintWriter writer, ButterflyModule module, String baseURL)
-
-
Method Detail
-
write
public void write(char[] buf, int off, int len)- Overrides:
writein classPrintWriter
-
write
public void write(char[] buf)
- Overrides:
writein classPrintWriter
-
write
public void write(String s)
- Overrides:
writein classPrintWriter
-
write
public void write(String s, int off, int len)
- Overrides:
writein classPrintWriter
-
write
public void write(int c)
- Overrides:
writein classPrintWriter
-
-