|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.crosswire.jsword.book.sword.ConfigEntryTable
public final class ConfigEntryTable
A utility class for loading the entries in a Sword book's conf file. Since the conf files are manually maintained, there can be all sorts of errors in them. This class does robust checking and reporting.
Config file format. See also: http://sword.sourceforge.net/cgi-bin/twiki/view/Swordapi/ConfFileLayout
The contents of the About field are in rtf.
\ is used as a continuation line.
for license details.
The copyright to this program is held by it's authors.
Field Summary | |
---|---|
private static ConfigEntryType[] |
BASIC_INFO
These are the elements that JSword requires. |
private BookType |
bookType
The BookType for this ConfigEntry |
private File |
configFile
If the module's config is tied to a file remember it so that it can be updated. |
private static ConfigEntryType[] |
COPYRIGHT_INFO
|
private static String |
ENCODING_LATIN1
|
private static String |
ENCODING_UTF8
Sword only recognizes two encodings for its modules: UTF-8 and LATIN1 Sword uses MS Windows cp1252 for Latin 1 not the standard. |
private static ConfigEntryType[] |
FEATURE_INFO
|
private static ConfigEntryType[] |
HIDDEN
|
private String |
internal
The original name of this config file from mods.d. |
private static Pattern |
KEY_VALUE_PATTERN
Pattern that matches a key=value. |
private static ConfigEntryType[] |
LANG_INFO
|
private static Logger |
log
The log stream |
private boolean |
questionable
True if this book is considered questionable. |
private String |
readahead
A helper for the reading of the conf file. |
private boolean |
supported
True if this book's config type can be used by JSword. |
private static ConfigEntryType[] |
SYSTEM_INFO
|
private Map |
table
A map of lists of known config entries. |
Constructor Summary | |
---|---|
ConfigEntryTable(String bookName)
Create an empty Sword config for the named book. |
Method Summary | |
---|---|
void |
add(ConfigEntryType type,
String aValue)
A helper to create/replace a value for a given type. |
private void |
adjustBookType()
|
private void |
adjustDataPath()
|
private void |
adjustLanguage()
|
private void |
adjustName()
|
private String |
advance(BufferedReader bin)
Get the next line from the input |
private void |
backup(String oops)
Read too far ahead and need to return a line. |
BookType |
getBookType()
Returns an Enumeration of all the keys found in the config file. |
private void |
getContinuation(ConfigEntry configEntry,
BufferedReader bin,
StringBuffer buf)
Get continuation lines, if any. |
Set |
getKeys()
Returns an Enumeration of all the keys found in the config file. |
String |
getUnlockKey()
Gets the unlock key for the module. |
Object |
getValue(ConfigEntryType type)
Gets a particular ConfigEntry's value by its type |
boolean |
isEnciphered()
Determines whether the Sword Book is enciphered. |
private boolean |
isKeyLine(String line)
Does this line of text represent a key/value pair? |
boolean |
isLocked()
Determines whether the Sword Book is enciphered and without a key. |
boolean |
isQuestionable()
Determines whether the Sword Book's conf is supported by JSword. |
boolean |
isSupported()
Determines whether the Sword Book's conf is supported by JSword. |
void |
load(byte[] buffer)
Load the conf from a buffer. |
void |
load(File file)
Load the conf from a file. |
private void |
loadContents(BufferedReader in)
|
private void |
loadInitials(BufferedReader in)
|
boolean |
match(ConfigEntryType type,
Object search)
Determine whether this ConfigEntryTable has the ConfigEntry and it matches the value. |
private String |
report(String issue,
String confEntryName,
String line)
|
void |
save()
|
private void |
testLanguage(String initials,
Language lang)
|
String |
toConf()
Build's a SWORD conf file as a string. |
private void |
toConf(StringBuffer buf,
ConfigEntryType[] category)
|
org.jdom.Element |
toOSIS()
Sort the keys for a more meaningful presentation order. |
private void |
toOSIS(OSISUtil.OSISFactory factory,
org.jdom.Element ele,
String aTitle,
ConfigEntryType[] category)
Build an ordered map so that it displays in a consistent order. |
boolean |
unlock(String unlockKey)
Unlocks a book with the given key. |
private void |
validate()
Determine which books are not supported. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private static final String ENCODING_UTF8
private static final String ENCODING_LATIN1
private static final ConfigEntryType[] BASIC_INFO
private static final ConfigEntryType[] LANG_INFO
private static final ConfigEntryType[] COPYRIGHT_INFO
private static final ConfigEntryType[] FEATURE_INFO
private static final ConfigEntryType[] SYSTEM_INFO
private static final ConfigEntryType[] HIDDEN
private static final Logger log
private String internal
private Map table
private BookType bookType
private boolean supported
private boolean questionable
private String readahead
private File configFile
private static final Pattern KEY_VALUE_PATTERN
Constructor Detail |
---|
public ConfigEntryTable(String bookName)
bookName
- the name of the bookMethod Detail |
---|
public void load(File file) throws IOException
file
- the file to load
IOException
public void load(byte[] buffer) throws IOException
buffer
- the buffer to load
IOException
public boolean isQuestionable()
public boolean isSupported()
public boolean isEnciphered()
public boolean isLocked()
public boolean unlock(String unlockKey)
unlockKey
- the key to try
public String getUnlockKey()
public Set getKeys()
public BookType getBookType()
public Object getValue(ConfigEntryType type)
type
- of the ConfigEntry
public boolean match(ConfigEntryType type, Object search)
type
- The kind of ConfigEntry to look forsearch
- the value to match against
public org.jdom.Element toOSIS()
public String toConf()
public void save() throws IOException
IOException
private void loadContents(BufferedReader in) throws IOException
IOException
private void loadInitials(BufferedReader in) throws IOException
IOException
private void getContinuation(ConfigEntry configEntry, BufferedReader bin, StringBuffer buf) throws IOException
IOException
private String advance(BufferedReader bin) throws IOException
bin
- The reader to get data from
IOException
private void backup(String oops)
private boolean isKeyLine(String line)
public void add(ConfigEntryType type, String aValue)
type
- aValue
- private void adjustDataPath()
private void adjustLanguage()
private void adjustBookType()
private void adjustName()
private void validate()
private void testLanguage(String initials, Language lang)
private void toOSIS(OSISUtil.OSISFactory factory, org.jdom.Element ele, String aTitle, ConfigEntryType[] category)
private void toConf(StringBuffer buf, ConfigEntryType[] category)
private String report(String issue, String confEntryName, String line)
|
Copyright ยจ 2003-2007 | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |