home *** CD-ROM | disk | FTP | other *** search
- package XMLConsumer;
-
- import BsscXML.IBsscXMLElementReader;
- import hhapplet.IChunkedDataListener;
- import hhapplet.INumChunkedData;
- import hhapplet.Language;
- import hhapplet.UsedItems;
- import java.net.URL;
-
- public class GlossaryData extends Consumer implements INumChunkedData {
- private String m_sFirst = null;
- private String m_sLast = null;
- private int m_num = 0;
- private int m_index = 0;
- private int m_lastIndex = 0;
- private GlossaryEntry[] m_keys;
- private boolean m_bLoaded;
- private IChunkedDataListener m_listener;
- private UsedItems m_usedItems;
- private boolean m_bDone;
-
- public int getKeyPosition(boolean var1, String var2) {
- int var3;
- if (var1) {
- var3 = this.m_num;
- } else {
- var3 = -1;
- }
-
- if (this.m_keys != null && this.m_keys.length > 0) {
- int var4 = this.m_keys.length;
-
- for(int var7 = 0; var7 < var4; ++var7) {
- GlossaryEntry var6 = this.m_keys[var7];
- if (var1) {
- if (Language.compare(var6.getName(), var2) > 0) {
- var3 = var7;
- break;
- }
- } else {
- if (Language.compare(var6.getName(), var2) >= 0) {
- break;
- }
-
- var3 = var7;
- }
-
- var7 += var6.getNextSpan();
- }
- }
-
- return var3;
- }
-
- public String getKeyByPosition(int var1) {
- int var2 = var1 - (this.m_lastIndex - this.m_num);
- if (var2 >= 0 && var2 < this.m_keys.length) {
- Object var3 = null;
- GlossaryEntry var4 = this.m_keys[var2];
- if (var4 != null) {
- return var4.getName();
- }
- }
-
- return null;
- }
-
- public int getNum() {
- return this.m_num;
- }
-
- public GlossaryData(URL var1, String var2, String var3, int var4, int var5) {
- super(var1);
- this.m_sFirst = var2;
- this.m_sLast = var3;
- this.m_num = var4;
- this.m_lastIndex = var5;
- this.m_bLoaded = false;
- this.m_bDone = false;
- this.m_keys = new GlossaryEntry[var4];
- this.m_listener = null;
- this.m_usedItems = new UsedItems();
- }
-
- public IEntry getEntry(int var1) {
- return this.m_keys[var1];
- }
-
- public String getLast() {
- return this.m_sLast;
- }
-
- public void consume(IBsscXMLElementReader var1) {
- if (var1.getName().equals("glossarydata")) {
- int var2 = 0;
- int var3 = 0;
-
- while(true) {
- IBsscXMLElementReader var4 = var1.getChild(var2++);
- if (var4 == null) {
- if (this.m_listener != null) {
- this.m_listener.putData(this);
- }
- break;
- }
-
- if (var4.getName().equals("entry")) {
- String var5 = var4.getAttribute("name");
- String var6 = var4.getAttribute("value");
- if (var5 != null && var5.length() != 0) {
- this.m_keys[var3++] = new GlossaryEntry(var5, var6);
- }
- }
- }
- }
-
- }
-
- public String getFirst() {
- return this.m_sFirst;
- }
-
- public boolean isLoaded() {
- return this.m_bLoaded;
- }
-
- public void load(IChunkedDataListener var1) {
- if (!this.m_bLoaded) {
- this.m_listener = var1;
- ((Consumer)this).process(false);
- this.m_bLoaded = true;
- }
-
- }
-
- public UsedItems getUsedItems() {
- return this.m_usedItems;
- }
-
- public int getLastIndex() {
- return this.m_lastIndex;
- }
-
- public void setDone(boolean var1) {
- this.m_bDone = var1;
- }
- }
-