Sun and Oracle Community Voices How to Buy Log In United States [Change] English

»  Spotlight Articles
»  Projects
»  Publications
»  People
»  Awards
»  Events
»  Downloads
»  Internships
»  Contrarian Minds
»  About Sun Labs
Brazil project: Class MapPage

sunlabs.brazil.handler Class MapPage

java.lang.Object
  |
  +--sunlabs.brazil.handler.MapPage

public class MapPage
extends Object

Utility class to rewrite links inside of web pages so they appear to come from a different site.


Field Summary
 int count            
static boolean log            
 Vector patternMap            
 String prefix            
 Hashtable tagMap            
 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.
 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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

tagMap

public Hashtable tagMap

urlMap

public Hashtable urlMap

patternMap

public Vector patternMap

prefix

public String prefix

log

public static boolean log

count

public int count
Constructor Detail

MapPage

public MapPage(String prefix)
Create a site mapper. The following table maps all the entity/attribute combinations that are (or could be) URL's to (possibly) rewrite. Every link starting with "/" has the leading slash replaced by this prefix.
Method Detail

setPrefix

public void setPrefix(String prefix)
Change the prefix that will replace the leading "/" in a URL.

addTag

public void addTag(String name,
                   String attribute)
add a tag/attribute pair to the rewrite list. If the attribute is null, remove the tag.

setMap

public void setMap(Hashtable map)
Set the map table for cross-linked sites. Foreach key in the table that matches a URL, replace the key portion of the url with the key's value.

addMapEntry

public void addMapEntry(String name,
                        String value)
Add or remove an item to the map table
Parameters:
name - The prefix of the url to match
value - The prefix to replace it with. If null, remove the prefix

addPatternEntry

public void addPatternEntry(String pattern,
                            String replacement)
Add or remove an item to the pattern table
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


mapCount

public int mapCount()
How many tags have been mapped?

convertHtml

public String convertHtml(String content)
Rewrite all the url's in this document. This is accomplished via repeated calls to convertString(java.lang.String).
Parameters:
content - The HTML to be processed.

convertString

public String convertString(String fix)
Rewrite a url inside a tag parameter.
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

log

public void log(String message)
diagnostic output

Version 2.2, Generated 07/25/00
Copyright (c) 2000, Sun Microsystems.