sunlabs.brazil.handler
public class MapPage extends Object
Note: This only works for "http", not "https".
Version: @(#)MapPage.java 2.4
Field Summary | |
---|---|
int | count |
static boolean | log |
Vector | patternMap |
String | prefix |
Hashtable | tagMap
Initialized to all tag/attribute pairs whose attribute values are
considered for rewriting. |
Hashtable | urlMap |
Constructor Summary | |
---|---|
MapPage(String prefix)
Create a site mapper. |
Method Summary | |
---|---|
void | addMapEntry(String name, String value)
Add or remove an item to the map table |
void | addPatternEntry(String pattern, String replacement)
Add or remove an item to the pattern table |
void | addTag(String name, String attribute)
add a tag/attribute pair to the rewrite list.
|
void | clearPatterns()
Clear the pattern map. |
String | convertHtml(String content)
Rewrite all the url's in this document. |
String | convertString(String fix)
Rewrite a url inside a tag parameter.
|
void | log(String message)
diagnostic output |
int | mapCount()
How many tags have been mapped? |
void | setMap(Hashtable map)
Set the map table for cross-linked sites.
|
void | setPrefix(String prefix)
Change the prefix that will replace the leading "/" in a URL. |
Parameters: prefix Every link starting with "/" has the leading
slash replaced by prefix
. If prefix is
null, then only fully qualified url's are
considered for rewriting.
Parameters: name The prefix of the url to match value The prefix to replace it with. If null, remove the prefix
Parameters: pattern The prefix pattern of the url to match
Full tcl8.0-style regexps are supported replacement The prefix to replace it with. If null,
remove the prefix. \n's are replaced by the
corrosponding sub-matches in the name
Patterns are stored in a vector, with each pattern taking 3
concecutive elements: the pattern, the replacement rule, and
the compiled expression. This way they are searched in order.
Sample usage:
http://www.([^.]*).com/ /site/\1/
will replace the url: http://www.foo.com/a/b.html with
/site/foo/a/b.html
Parameters: content The HTML to be processed.
Returns: The smae HTML, will all URL's rewritten. URL's starting with "/" have the "/" replaced with the prefix. All others are re-written based on the supplied mapping tables.
Parameters: fix The value of the tag to be rewritten (fixed)
Returns: null of the existing value is OK, otherwise the new value is returned