home *** CD-ROM | disk | FTP | other *** search
/ PC Pro 2004 May / DPPCPRO0504.ISO / May / Seatools / SeaTools.iso / tools / en / webhelp / webhelp.jar / XMLConsumer / FtsWData.class (.txt) < prev    next >
Encoding:
Java Class File  |  2002-04-17  |  2.6 KB  |  162 lines

  1. package XMLConsumer;
  2.  
  3. import BsscXML.IBsscXMLElementReader;
  4. import hhapplet.IChunkedData;
  5. import hhapplet.IChunkedDataListener;
  6. import hhapplet.Language;
  7. import java.net.URL;
  8. import java.util.Vector;
  9.  
  10. public class FtsWData extends Consumer implements IChunkedData {
  11.    private URL m_projURL = null;
  12.    private String m_sFirst = null;
  13.    private String m_sLast = null;
  14.    private Vector m_keys;
  15.    private boolean m_bLoaded;
  16.    private IChunkedDataListener m_listener;
  17.    private boolean m_bDone;
  18.  
  19.    public int getNum() {
  20.       return 0;
  21.    }
  22.  
  23.    public FtsWData(URL var1, URL var2, String var3, String var4) {
  24.       super(var1);
  25.       this.m_sFirst = var3;
  26.       this.m_sLast = var4;
  27.       this.m_projURL = var2;
  28.       this.m_bLoaded = false;
  29.       this.m_bDone = false;
  30.       this.m_keys = new Vector();
  31.       this.m_listener = null;
  32.    }
  33.  
  34.    public Vector getTopics(String var1) {
  35.       new Vector();
  36.       if (this.m_keys != null && this.m_keys.size() > 0) {
  37.          int var2 = 0;
  38.          int var3 = this.m_keys.size() - 1;
  39.          int var4 = -1;
  40.          boolean var6 = false;
  41.  
  42.          FtsKeyInt var5;
  43.          do {
  44.             var4 = var2 + var3 >> 1;
  45.             var5 = (FtsKeyInt)this.m_keys.elementAt(var4);
  46.             if (Language.compare(var5.getName(), var1) > 0) {
  47.                var3 = var4 - 1;
  48.             } else {
  49.                if (Language.compare(var5.getName(), var1) >= 0) {
  50.                   var6 = true;
  51.                   break;
  52.                }
  53.  
  54.                var2 = var4 + 1;
  55.             }
  56.          } while(var2 <= var3);
  57.  
  58.          if (var6) {
  59.             return var5.getTopics();
  60.          }
  61.       }
  62.  
  63.       return null;
  64.    }
  65.  
  66.    public void consume(IBsscXMLElementReader var1) {
  67.       new Vector();
  68.       if (var1.getName().equals("ftswdata")) {
  69.          int var2 = 0;
  70.          boolean var3 = false;
  71.          boolean var4 = false;
  72.  
  73.          while(true) {
  74.             IBsscXMLElementReader var5 = var1.getChild(var2++);
  75.             if (var5 == null) {
  76.                if (this.m_listener != null) {
  77.                   this.m_listener.putData(this);
  78.                }
  79.                break;
  80.             }
  81.  
  82.             if (var5.getName().equals("key")) {
  83.                String var6 = var5.getAttribute("name");
  84.                if (var6 != null && var6.length() != 0) {
  85.                   FtsKeyInt var7 = new FtsKeyInt(var6);
  86.                   this.m_keys.addElement(var7);
  87.                   int var8 = 0;
  88.  
  89.                   while(true) {
  90.                      IBsscXMLElementReader var9 = var5.getChild(var8++);
  91.                      if (var9 == null) {
  92.                         break;
  93.                      }
  94.  
  95.                      if (var9.getName().equals("#text")) {
  96.                         String var10 = var9.getValue();
  97.                         if (var10 != null && var10.length() > 0) {
  98.                            int var11 = 0;
  99.  
  100.                            while(true) {
  101.                               int var12 = var10.indexOf(",", var11);
  102.                               Object var13 = null;
  103.                               String var16;
  104.                               if (var12 != -1) {
  105.                                  var16 = var10.substring(var11, var12);
  106.                               } else {
  107.                                  var16 = var10.substring(var11);
  108.                               }
  109.  
  110.                               if (var16 != null) {
  111.                                  try {
  112.                                     int var14 = Integer.parseInt(var16);
  113.                                     var7.addTopic(var14);
  114.                                  } catch (NumberFormatException var15) {
  115.                                  }
  116.                               }
  117.  
  118.                               var11 = var12 + 1;
  119.                               if (var11 == 0 || var11 >= var10.length()) {
  120.                                  break;
  121.                               }
  122.                            }
  123.                         }
  124.                      }
  125.                   }
  126.                }
  127.             }
  128.          }
  129.       }
  130.  
  131.    }
  132.  
  133.    public String getLast() {
  134.       return this.m_sLast;
  135.    }
  136.  
  137.    public String getFirst() {
  138.       return this.m_sFirst;
  139.    }
  140.  
  141.    public boolean isLoaded() {
  142.       return this.m_bLoaded;
  143.    }
  144.  
  145.    public void load(IChunkedDataListener var1) {
  146.       if (!this.m_bLoaded) {
  147.          this.m_listener = var1;
  148.          ((Consumer)this).process(false);
  149.          this.m_bLoaded = true;
  150.       }
  151.  
  152.    }
  153.  
  154.    public URL getProjURL() {
  155.       return this.m_projURL;
  156.    }
  157.  
  158.    public void setDone(boolean var1) {
  159.       this.m_bDone = var1;
  160.    }
  161. }
  162.