home *** CD-ROM | disk | FTP | other *** search
/ PC Online 1997 May / PCO_5_97.ISO / FilesBBS / OS2 / CSIME.ARJ / CSIME.ZIP / csime / MapParser.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-02-09  |  1.5 KB  |  60 lines

  1. import java.io.InputStream;
  2. import mug.util.HTMLStreamTokenizer;
  3.  
  4. public class MapParser extends HTMLStreamTokenizer {
  5.    private ImageMap _imageMap;
  6.  
  7.    public MapParser(InputStream var1, ImageMap var2) {
  8.       super(var1);
  9.       this._imageMap = var2;
  10.    }
  11.  
  12.    public void parse() {
  13.       String var1 = null;
  14.       String var2 = null;
  15.  
  16.       while(((HTMLStreamTokenizer)this).nextTag()) {
  17.          if (((HTMLStreamTokenizer)this).compareTag("IMG")) {
  18.             String var5 = ((HTMLStreamTokenizer)this).getParamValue("SRC");
  19.             String var4 = ((HTMLStreamTokenizer)this).getParamValue("USEMAP");
  20.             if (var4 != null && var4.startsWith("#")) {
  21.                var4 = var4.substring(1);
  22.                if (var2 == null) {
  23.                   var2 = var4;
  24.                   var1 = var5;
  25.                } else if (var2.equals(var4)) {
  26.                   var1 = var5;
  27.                   break;
  28.                }
  29.             }
  30.          } else if (((HTMLStreamTokenizer)this).compareTag("MAP")) {
  31.             String var3 = ((HTMLStreamTokenizer)this).getParamValue("NAME");
  32.             if (var2 == null) {
  33.                var2 = var3;
  34.                this.parseArea();
  35.             } else if (var2.equals(var3)) {
  36.                this.parseArea();
  37.                break;
  38.             }
  39.          }
  40.       }
  41.  
  42.       this._imageMap.setImgSrc(var1);
  43.       this._imageMap.setMapName(var2);
  44.    }
  45.  
  46.    private void parseArea() {
  47.       while(((HTMLStreamTokenizer)this).nextTag() && ((HTMLStreamTokenizer)this).compareTag("AREA")) {
  48.          String var1 = ((HTMLStreamTokenizer)this).getParamValue("SHAPE");
  49.          String var2 = ((HTMLStreamTokenizer)this).getParamValue("COORDS");
  50.          String var3 = ((HTMLStreamTokenizer)this).getParamValue("HREF");
  51.          Area var4 = AreaBuilder.build(var1, var2);
  52.          if (var4 != null) {
  53.             var4.setLink(var3);
  54.             this._imageMap.addElement(var4);
  55.          }
  56.       }
  57.  
  58.    }
  59. }
  60.