Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

com.eireneh.bible.book.* (74)com.eireneh.bible.control.* (68)com.eireneh.bible.passage.* (34)
com.eireneh.bible.util.* (9)com.eireneh.bible.view.* (38)

com.eireneh.bible: Javadoc index of package com.eireneh.bible.


Package Samples:

com.eireneh.bible.passage.swing: The core responsibility of the passage package is to store and collate information about the structure of the Bible - The most important classes are Passage , PassageTally and Strongs .  
com.eireneh.bible.book
com.eireneh.bible.book.config
com.eireneh.bible.book.jdbc
com.eireneh.bible.book.raw
com.eireneh.bible.book.raw.config
com.eireneh.bible.book.ser
com.eireneh.bible.book.swing
com.eireneh.bible.book.sword
com.eireneh.bible.book.sword.config
com.eireneh.bible.book.tasks
com.eireneh.bible.book.stub
com.eireneh.bible.control
com.eireneh.bible.control.dictionary
com.eireneh.bible.control.map
com.eireneh.bible.control.map.swing
com.eireneh.bible.control.search
com.eireneh.bible.control.search.config
com.eireneh.bible.control.search.tasks
com.eireneh.bible.control.search.words

Classes:

SerBible: A Biblical source that comes from files on the local file system. This format is designed to be fast. At any cost. So disk space does not matter, which is good because early versions used about 100Mb! This is a history of some of he design desisions that this class has been through. Searching I think that a Bible ought not to store anything other than Bible text. I have experimented with a saerch mechanism that cached searches in a very effective manner, however it took up a lot of disk space, and only worked for one version. It might be good to have it work in a more generic way, and an in-memory ...
VBAExport: VBAExport takes a Map and exports the data to a Word VBA file. This was developed from a VB macro that looked something like this: Attribute VB_Name = "NumberLine" Option Explicit Dim shape As FreeformBuilder Private Const box_width As Single = 20# Private Const box_height As Single = 20# '------------------------------------------------------------------------------- Public Sub RouteMain() RouteStart 100#, 100#, "1" RouteContinue 110#, 110#, "2" RouteContinue 120#, 120#, "3" RouteContinue 130#, 120#, "4" RouteContinue 130#, 130#, "5" RouteContinue 100#, 130#, "6" RouteContinue 90#, 100#, "7" RouteEnd ...
RawBible: RawBible is a custom Bible. It is designed to be: Compact: So that the download time is as small as possible Divisible: So that a download can be partial, and some text can be read whilst missing content like styles, notes, or even word case. As a result of this is can be very slow, or very memory hungry. I guess that the technology developed here could be useful as a delivery format, but the timings I am getting from my benchmarks say "start again". There is a question mark over how this format will handle rich text. The dictionary lookup scheme can be very space efficient but I'm not sure how ...
WordItemsMem: The WordItemsMem stores words in a dictionary for a Bible. The single method that will be of use 99% of the time is the getWord(int) method. This method will be called once for each word every time we display a verse (Assuming that we have not implemented any caches). The getIndex(String) method is the reverse of this, and is used in creating the index in the first place. The class has an underlying File however this is transarent to the user, since calls to getIndex(String) have any disk changes automatically written to disk, and the implementation of this class must be free to choose whatever ...
Book: Book is the most basic store of textual data - It can retrieve data either as an XML document or as plain text - It uses Bookmarks to refer to parts of itself, and can search for words (returning Bookmarks). All Books should have an no-arg constructor. This restriction is important because without this the config package can not create an instance of this class from a string in an options file. What type should we use to describe a part of a book that we want to wiew? This question is made more complex because a find() operation needs to be able to return a collection of pointers. String: This ...
PassageTally: Similar to a Passage, but that stores a ranking for each of the Verses that it contains. TODO: Specify how passage ranks work. Currently there is no well defined spec for what the rank of a verse means - it is just an int. Since this number is expoed in 2 places (getNameAndTally() and getTallyFor()) we should specify what the numbers mean. Trouble is most tallies come from searches where the numbers only have relative meaning. This class exactly implements the Passage interface when the ordering is set to ORDER_BIBLICAL, however an additional setting of ORDER_TALLY sorts the verses by the rank ...
Passage: A Passage is a specialized Collection of Verses. The additions are: List blurring Range Counting and iteration (in addition to Verse counting etc) List change notification, so you can register to update yourself, and this goes hand in hand with a added thread-safe contract. getName() to be more VerseBase like. Human readable serialization. So we can read and write to and from OLB style Passage files. Passage no longer extends the Collection interface to avoid JDK 1.1/2.0 portability problems, and because many of the things that a Passage does rely on consecutive Verses which are an alien concept ...
Verse: A Passage is a pointer to a single verse. Externally its unique identifier is a String of the form "Gen 1:1" Internally we use int[] { book, chapter, verse } A Verse is designed to be immutable. This is a necessary from a collections point of view. A Verse should always be valid, although some versions may not return any text for verses that they consider to be mis-translated in some way. Optimization information: I spent some time optimizing this class because it is at the heart of things. My benchmark started st 11.25s. By taking the int[] and turning it into 3 ints and it took 10.8s. Cacheing ...
Version: A Version represents a method of translating the Bible. All Bibles with the same Version should return identical text for any call to Bible.getText(VerseRange) . The implication of this is that there may be many instances of the Version "NIV", as there are several different versions of the NIV - Original American-English, Anglicized, and Inclusive Language editions at least. Versions like Strings must be compared using .equals() instead of ==. A Bible must have the ability to handle a version unknown to ProjectB. So Bibles must be able to add versions to the system, and the system must cope with ...
WordInstsMem: A WordInstsMem provides access to the list of word ids that make up a Passage. The central interface is an Eumeration over the words in the given verse. We should probably avoid cacheing at this level since there are other Bibles that could do with cacheing. The layout of the underlying file probably has a lot in common with the WordResource class, instead of an array of ascii bytes for each index, we have a get of integers in bytes for an index. Techniques like capitalizing the first letter to indicate the start of a new word will not work here, so perhaps we should no do them in WordResource ...
BitwisePassage: A Passage that is implemented using a BitSet - one for each verse. The attributes of the style are: Fairly fast manipulation Fairly getName() Static size, poor for small Passages, good for large Passages There is some optimization we could do here: The benchmark I have been using spends a lot of time in VerseEnumeration. There is some inefficiency here due to having to examine the bits of the BitSet one by one, rather than being able to compare the underlying longs with zero (clearing 64 bits in one shot). This would speed up the (usual) case where there are relatively few matches in the BitSet, ...
Speed: Speed is a simple benchmark that tests how fast a version is. The current set of tasks that we perform are rather arbitry (sp?). But that is something that we can improve on when we have more usage information. Progress report. All builds are Debug unless *ed: Date Bible VM Time/s 1999.12.08 Raw (Mem) HS 1.0.1 20 1999.12.08 Raw (Mem) MVM 5.00.3167 541 1999.12.09 Raw (Disk) HS 1.0.1 >600 1999.12.10 Ser HS 1.0.1 78 1999.12.11 Ser HS 1.0.1 6.7 1999.12.11 Raw (Mem) HS 1.0.1 11 1999.12.11 Raw (Disk) HS 1.0.1 1072 1999.12.11 Ser MVM 5.00.3167 8 1999.12.12 Ser HS 1.0.1 4 1999.12.12 Ser * HS 1.0.1 3 Distribution ...
Engine: The central interface to all searching. Functionality the I invisage includes: A simple search syntax that goes something like this. aaron, moses (verses containing aaron and moses. Can also use & or +) aaron/moses (verses containing aaron or moses. Can also use |) aaron - moses (verses containing aaron but not moses) aaron ~5 , moses (verses with aaron within 5 verses of moses) soundslike aaron (verses with words that sound like aaron. Can also use sl ...) thesaurus happy (verses with words that mean happy. Can also use th ...) grammar have (words like has have had and so on. Can also use gr ...) ...
StudyBible: A WordStudy is-an extension to Bible that knows about the original Greek/Hebrew in the form of Strongs numbers, and how these original words were translated into English (or whatever). You might expect a method something like Passage getPassage(String word) for completeness, however this is a core part of the Bible interface and so redundant here. The different conversions go something like this: .-------------------. | -> Strongs -------> Passage ---> PageDOM -\ | / `-._,-' \---> HTML String .-' `-. / '-> (Word) --------> Translation ----------/ Distribution Licence: Project B is free software; ...
RangedPassage: A Passage that is implemented using a TreeSet of VerseRanges. The attributes of the style are: Compact storage of large amounts of data Fast getName() Slow manipulation When to normalize()? This is a slow process, but one that is perhaps done bit-by-bit instead of killing everything just to do getName(). The options are: Before every read Before reads with a background thread After every change After every change with a cacheing scheme I'm not sure which will be best. So I'm starting with 1 and optimizing later ... Maybe the best is to allow the user to choose? Distribution Licence: Project B is ...
GeneratorPane: Bible Generator allows the creation of new Books - although it really only converts from one implementation of Book to another. This is needed because I drivers like JDBCBook and GBMLBook will not be very speed optimized. Since this code has been edited by JBuilder I have changed it and expect problems if it is edited that way again. The code that JB created did not compile with JDK1.1 and Swing 1.1 because it uses a constructor special to AWT in JDK 1.2, So I have changed code that read new GridBagConstraints to GuiUtil.getConstraints to fix this. Distribution Licence: Project B is free software; ...
State: Config is good for configuring Objects that can be configured statically, however it is hard work getting it to function in a multi user environment because that fundamentally requires data on the current user to be passed around. So this class encapsulates a user and their preferences, and rather than having the config object tell the rest of the world about the state-of-play (which works well in a static environment) we have classes needing configuring comming to us for information - which in turn needs a more friendly external interface that Config provides. Distribution Licence: Project B is ...
BookEle: A BookDoc is a simple container for a DOM that holds the structure of part of a Book. It allows us to abstract away the fact that we use XML an so decrease our reliance on it, and also simplify access to a text only version of the XML Document. A BookDoc also must track the current position at which we insert new elements of Data, and it may be able to interact with XSL to return formatted objects in HTML or some other markup language. Possible extension to this code include setting a DTD that can be enforced on any Documents that we contain. Distribution Licence: Project B is free software; you ...
Study: Displays the results of a search. ImageIcon s: I've had a fight with Icons. Eventually I found that this syntax worked: URL url = getClass().getResource("/com/eireneh/resources/list.gif"); Icon icon = new ImageIcon(url); Then I discovered that so did this one: Icon icon = new ImageIcon("com/eireneh/resources/list.gif"); But the second doesn't seem to make much sense to me from the docs. I am going to leave the second in place because it is much cleaner but if it ever breaks then maybe I should be doing the first. Distribution Licence: Project B is free software; you can redistribute it and/or modify ...
BibleEle: Some helper classes to aid Document creation, and to hide all the DOM/ProjectX/XML4J specific bits. The requirements for Document handling are these: - Do not force users of this or other packages to use org.w3c.dom - Model the current DTD. This is the root of a set of Element type objects to help creating a DOM according to our DTD. In general it is the job of each Parent to add child Elements to itself. In general you should use the parent to create a child because it is easier. Distribution Licence: Project B is free software; you can redistribute it and/or modify it under the terms of the GNU ...
Task: Action allows us to have a neutral interface that performs some general function given a set of inputs. On the design of an Action: Actions should have I18N built into their names. We can ignore configuration matters. There is already a UI independant way of asking about the configuration and changing it. Since they are used from the Web the actions ought to be integrated with the State object so that they can use a default Bible. Distribution Licence: Project B is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2 as published by ...
Strongs: Strongs is a convenience way of recording a Strongs number instead of using a String with a number in it. (A Strongs number can not be a number because Hebrew and Greek numbers are distinguished only by the Hebrew having a 0 at the start.) The class is immutable. Numbers that exist: Hebrew: 1-8674 Greek: 1-5624 (but not 1418, 2717, 3203-3302, 4452) Parsing: 0, 5625-5773, 8675-8809 (but not 5626, 5653, 5687, 5767, 8679) Distribution Licence: Project B is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2 as published by the Free Software ...
Books: Books is a static class that deals with Book number conversions and similar. We start counting at 1 for books, chapters and verses (so Genesis=1, Revelation=66). However internally books start counting at 0 and go up to 65. I've considered merging Books and PassageUtil since they are both supporting static only classes. However they are both non-trivial, so together they would be large, and there is a good dividing line between the 2. Distribution Licence: Project B is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2 as published ...
StatusBar: The status bar provides usefull info to the user as to the current state of the program. We need to think about the stuff to put in here: A status message. This changes with what the user is pointing at, so is very similar to tool-tips. Although they are commonly more instructional. A set of panels that tell you the time/if CAPS is presses and so on TODO: Make this do something more useful Distribution Licence: Project B is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2 as published by the Free Software Foundation. This program ...
Bible: Bible is the core interface to a Bible store. The methods of this interface come into 3 categories: Meta-Information methods return information about the implementation and its environment. Retrieval methods are the core methods that give access to the real Biblical text. These are the core of the interface. Generation methods are there to allow this Version to be generated. TODO: Generalize this for the Book interface Distribution Licence: Project B is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2 as published by the Free Software ...

Home | Contact Us | Privacy Policy | Terms of Service