Jskad/source/org/thdl/tib/scanner/Word.java

158 lines
3.3 KiB
Java

/*
The contents of this file are subject to the AMP Open Community License
Version 1.0 (the "License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License on the AMP web site
(http://www.tibet.iteso.mx/Guatemala/).
Software distributed under the License is distributed on an "AS IS" basis,
WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
License for the specific terms governing rights and limitations under the
License.
The Initial Developer of this software is Andres Montano Pellegrini. Portions
created by Andres Montano Pellegrini are Copyright 2001 Andres Montano
Pellegrini. All Rights Reserved.
Contributor(s): ______________________________________.
*/
/** Used to make up the list of words to be displayed, not
to store the dictionary. */
package org.thdl.tib.scanner;
import org.thdl.tib.text.TibetanHTML;
/** Tibetan word with its corresponding definitions.
@author Andrés Montano Pellegrini
*/
public class Word extends Token
{
/** Used to rebuild the text the user entered. */
private String wordSinDec;
private Definitions def;
public Word (String word, String wordSinDec, String def)
{
super(word);
this.wordSinDec=wordSinDec;
this.def=new Definitions(def);
}
public Word (String word, String wordSinDec, Definitions def)
{
super(word);
this.wordSinDec=wordSinDec;
this.def=def;
}
public Word (String word, String def)
{
this(word, null, def);
}
public Word (String word, Definitions def)
{
this(word, null, def);
}
public boolean equals(Object o)
{
Word wO;
if (o instanceof Word)
{
wO = (Word) o;
return super.token.equals(wO.token);
}
return false;
}
public String getWylie()
{
return super.token;
}
public String getDef()
{
return def.toString();
}
public String getDefPreview()
{
return def.getPreview();
}
public String getWordDefPreview()
{
return super.token + " - " + getDefPreview();
}
public Definitions getDefs()
{
return def;
}
public String toString()
{
return super.token + " - " + def;
}
public String getBookmark(boolean tibetan)
{
String localWord;
if (tibetan)
{
try
{
localWord = TibetanHTML.getHTML(super.token + " ");
}
catch (Exception e)
{
localWord = "<b>" + super.token + "</b>";
}
}
else localWord = "<b>" + super.token + "</b>";
return "<a name=\"" + super.token + "\">" + localWord + "</a>";
}
public String getLink()
{
return getLink(false);
}
public String getLink(boolean tibetan)
{
String localWord, result=null;
// String result;
if (wordSinDec==null) localWord = super.token;
else localWord = wordSinDec;
if (tibetan)
{
try
{
result = TibetanHTML.getHTML(localWord + " ");
}
catch (Exception e)
{
result = localWord;
}
}
else result = localWord;
/* result = "<a href=\"#" + word + "\">" + localWord;
if (tibetan) result+= "</a>";
else result+= "</a> ";
return result;*/
return "<a href=\"#" + super.token + "\">" + result + "</a> ";
}
/** Called in order to redisplay the text with links keeping
the returns the user entered.
*/
public void makeEnter()
{
if (wordSinDec==null)
wordSinDec=new String(super.token);
wordSinDec+="</p><p>";
}
}