public class ReplayParseContext extends ParseContext
ReplayParseContext
holds context information shared among
replay rewriter components.
2014-05-02 small behavior/interface changes:
setJspExec(JSPExecutor)
no longer copies CaptureSearchResult
object from its UIResults
object to result
member. Use new constructor
taking CaptureSearchResult
object (recommended), or use
setCaptureSearchResult(CaptureSearchResult)
method.CaptureSearchResult
reference with Capture
.Modifier and Type | Field and Description |
---|---|
static String |
ANCHOR_PREFIX |
static String |
DATA_PREFIX |
static String |
JAVASCRIPT_PREFIX |
baseUrl
Constructor and Description |
---|
ReplayParseContext(ContextResultURIConverterFactory uriConverterFactory,
CaptureSearchResult result)
Constructs
ReplayParseContext for rewriting a resource
represented by result . |
ReplayParseContext(ContextResultURIConverterFactory uriConverterFactory,
URL baseUrl,
String datespec)
Deprecated.
|
Modifier and Type | Method and Description |
---|---|
void |
addConverter(String flag,
ResultURIConverter converter) |
String |
contextualizeUrl(String url)
Rewrite URL
url in accordance with current replay mode, not using
replay context flags . |
String |
contextualizeUrl(String url,
String flags)
Rewrite URL
url in accordance with current replay mode, taking
replay context flags into account. |
CaptureSearchResult |
getCaptureSearchResult()
return
CaptureSearchResult being rendered. |
ResultURIConverter |
getConverter(String flags)
returns
ResultURIConverter for resource context flags . |
Map<String,ResultURIConverter> |
getConverters() |
String |
getDatespec() |
int |
getJSBlockCount() |
JSPExecutor |
getJspExec() |
String |
getOutputCharset() |
OutputStream |
getOutputStream() |
int |
getPhase() |
void |
incJSBlockCount() |
boolean |
isRewriteSupported(String url)
return
true if url needs rewrite in this
replay. |
void |
setCaptureSearchResult(CaptureSearchResult result)
Deprecated.
2014-11-05 Pass it to constructor
|
void |
setConverters(Map<String,ResultURIConverter> converters) |
void |
setDatespec(String datespec) |
void |
setJspExec(JSPExecutor jspExec) |
void |
setOutputCharset(String outputCharset) |
void |
setOutputStream(OutputStream outputStream) |
void |
setPhase(int phase) |
void |
setRewriteHttpsOnly(boolean rewriteHttpsOnly) |
getData, getMap, getOraclePolicy, isInCSS, isInHTML, isInJS, isInScriptText, putData, resolve, setBaseUrl, setBaseUrl, setInCSS, setInHTML, setInJS, setInScriptText, setOraclePolicy
public static final String JAVASCRIPT_PREFIX
public static final String DATA_PREFIX
public static final String ANCHOR_PREFIX
public ReplayParseContext(ContextResultURIConverterFactory uriConverterFactory, CaptureSearchResult result) throws IOException
ReplayParseContext
for rewriting a resource
represented by result
.
Initializes baseUrl
and datespec
from result
's
originalUrl
and captureTimestamp
, respectively.
uriConverterFactory
- result
- IOException
public ReplayParseContext(ContextResultURIConverterFactory uriConverterFactory, URL baseUrl, String datespec)
ReplayParseContext(ContextResultURIConverterFactory, CaptureSearchResult)
CaptureSearchResult
needs to be set via
setCaptureSearchResult(org.archive.wayback.core.CaptureSearchResult)
.uriConverterFactory
- baseUrl
- datespec
- public void setPhase(int phase)
public int getPhase()
public void setRewriteHttpsOnly(boolean rewriteHttpsOnly)
public boolean isRewriteSupported(String url)
true
if url
needs rewrite in this
replay.
As contextualizeUrl(String, String)
runs this test,
there's no real point doing this check outside of ReplayParseContext.
this method may be changed to protected
in the future.
url
- URL to test. it must be free of escaping (i.e. no "https:\/\/"
.)true
if url
needs rewrite.setRewriteHttpsOnly(boolean)
public Map<String,ResultURIConverter> getConverters()
public CaptureSearchResult getCaptureSearchResult()
CaptureSearchResult
being rendered.
intended for selecting site-specific rewrite rules.
TODO: what's really needed is its urlKey
. add
a method for it for better encapsulation.
CaptureSearchResult
in replay mode,
or null
otherwise.public void setCaptureSearchResult(CaptureSearchResult result)
result
- public void setConverters(Map<String,ResultURIConverter> converters)
converters
- the converters to setpublic void addConverter(String flag, ResultURIConverter converter)
public ResultURIConverter getConverter(String flags)
ResultURIConverter
for resource context flags
.flags
- resource context indicator such as "cs_
", "im_
".public String contextualizeUrl(String url)
url
in accordance with current replay mode, not using
replay context flags
.contextualizeUrl
in class ParseContext
url
- URL, candidate for rewrite. may contain escaping. must not be null
.url
if no rewrite is necessary. never null
.public String contextualizeUrl(String url, String flags)
url
in accordance with current replay mode, taking
replay context flags
into account.
It is important to return the same String object url
if no rewrite
is necessary, so that caller can short-circuit to avoid expensive String operations.
url
- URL, candidate for rewrite. may contain escaping. must not be null
.flags
- context designator, such as "cs_"
. can be null
.url
if no rewrite is necessary. never null
.public String getOutputCharset()
public void setOutputCharset(String outputCharset)
outputCharset
- the outputCharset to setpublic OutputStream getOutputStream()
public void setOutputStream(OutputStream outputStream)
outputStream
- the outputStream to setpublic JSPExecutor getJspExec()
public void setJspExec(JSPExecutor jspExec)
jspExec
- the jspExec to setpublic String getDatespec()
public void setDatespec(String datespec)
datespec
- the datespec to setpublic void incJSBlockCount()
public int getJSBlockCount()
Copyright © 2005–2015 IIPC. All rights reserved.