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

  1. package XMLConsumer;
  2.  
  3. import BsscXML.IBsscXMLElementReader;
  4. import hhapplet.IChunkedDataListener;
  5. import hhapplet.INumChunkedData;
  6. import hhapplet.Language;
  7. import hhapplet.UsedItems;
  8. import java.net.URL;
  9.  
  10. public class GlossaryData extends Consumer implements INumChunkedData {
  11.    private String m_sFirst = null;
  12.    private String m_sLast = null;
  13.    private int m_num = 0;
  14.    private int m_index = 0;
  15.    private int m_lastIndex = 0;
  16.    private GlossaryEntry[] m_keys;
  17.    private boolean m_bLoaded;
  18.    private IChunkedDataListener m_listener;
  19.    private UsedItems m_usedItems;
  20.    private boolean m_bDone;
  21.  
  22.    public int getKeyPosition(boolean var1, String var2) {
  23.       int var3;
  24.       if (var1) {
  25.          var3 = this.m_num;
  26.       } else {
  27.          var3 = -1;
  28.       }
  29.  
  30.       if (this.m_keys != null && this.m_keys.length > 0) {
  31.          int var4 = this.m_keys.length;
  32.  
  33.          for(int var7 = 0; var7 < var4; ++var7) {
  34.             GlossaryEntry var6 = this.m_keys[var7];
  35.             if (var1) {
  36.                if (Language.compare(var6.getName(), var2) > 0) {
  37.                   var3 = var7;
  38.                   break;
  39.                }
  40.             } else {
  41.                if (Language.compare(var6.getName(), var2) >= 0) {
  42.                   break;
  43.                }
  44.  
  45.                var3 = var7;
  46.             }
  47.  
  48.             var7 += var6.getNextSpan();
  49.          }
  50.       }
  51.  
  52.       return var3;
  53.    }
  54.  
  55.    public String getKeyByPosition(int var1) {
  56.       int var2 = var1 - (this.m_lastIndex - this.m_num);
  57.       if (var2 >= 0 && var2 < this.m_keys.length) {
  58.          Object var3 = null;
  59.          GlossaryEntry var4 = this.m_keys[var2];
  60.          if (var4 != null) {
  61.             return var4.getName();
  62.          }
  63.       }
  64.  
  65.       return null;
  66.    }
  67.  
  68.    public int getNum() {
  69.       return this.m_num;
  70.    }
  71.  
  72.    public GlossaryData(URL var1, String var2, String var3, int var4, int var5) {
  73.       super(var1);
  74.       this.m_sFirst = var2;
  75.       this.m_sLast = var3;
  76.       this.m_num = var4;
  77.       this.m_lastIndex = var5;
  78.       this.m_bLoaded = false;
  79.       this.m_bDone = false;
  80.       this.m_keys = new GlossaryEntry[var4];
  81.       this.m_listener = null;
  82.       this.m_usedItems = new UsedItems();
  83.    }
  84.  
  85.    public IEntry getEntry(int var1) {
  86.       return this.m_keys[var1];
  87.    }
  88.  
  89.    public String getLast() {
  90.       return this.m_sLast;
  91.    }
  92.  
  93.    public void consume(IBsscXMLElementReader var1) {
  94.       if (var1.getName().equals("glossarydata")) {
  95.          int var2 = 0;
  96.          int var3 = 0;
  97.  
  98.          while(true) {
  99.             IBsscXMLElementReader var4 = var1.getChild(var2++);
  100.             if (var4 == null) {
  101.                if (this.m_listener != null) {
  102.                   this.m_listener.putData(this);
  103.                }
  104.                break;
  105.             }
  106.  
  107.             if (var4.getName().equals("entry")) {
  108.                String var5 = var4.getAttribute("name");
  109.                String var6 = var4.getAttribute("value");
  110.                if (var5 != null && var5.length() != 0) {
  111.                   this.m_keys[var3++] = new GlossaryEntry(var5, var6);
  112.                }
  113.             }
  114.          }
  115.       }
  116.  
  117.    }
  118.  
  119.    public String getFirst() {
  120.       return this.m_sFirst;
  121.    }
  122.  
  123.    public boolean isLoaded() {
  124.       return this.m_bLoaded;
  125.    }
  126.  
  127.    public void load(IChunkedDataListener var1) {
  128.       if (!this.m_bLoaded) {
  129.          this.m_listener = var1;
  130.          ((Consumer)this).process(false);
  131.          this.m_bLoaded = true;
  132.       }
  133.  
  134.    }
  135.  
  136.    public UsedItems getUsedItems() {
  137.       return this.m_usedItems;
  138.    }
  139.  
  140.    public int getLastIndex() {
  141.       return this.m_lastIndex;
  142.    }
  143.  
  144.    public void setDone(boolean var1) {
  145.       this.m_bDone = var1;
  146.    }
  147. }
  148.