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

Quick Search    Search Deep

com.eireneh.bible.* (224)com.eireneh.config.* (45)com.eireneh.io.* (8)com.eireneh.mail.* (2)
com.eireneh.net.* (5)com.eireneh.servlet.* (1)com.eireneh.swing.* (43)com.eireneh.util.* (38)

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.util.event: This package contains all of the general utility stuff that crops up in many Java projects.  
com.eireneh.swing.data: This is a group of GUI components.  
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

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 ...
EventListenerList: A class which holds a list of EventListeners. * This code is lifted from javax.sw*ng.event.EventListnerList. It is very useful in non GUI code which does not need the rest of sw*ng. So I copied it here to save the need for sw*ngall.jar * A single instance can be used to hold all listeners (of all types) for the instance using the lsit. It is the responsiblity of the class using the EventListenerList to provide type-safe API (preferably conforming to the JavaBeans spec) and methods which dispatch event notification methods to appropriate Event Listeners on the list. The main benefits which this ...
Reporter: This package looks after Exceptions and messages as they happen. It would be nice not to need this class - the principle being that any library that encounters an error can throw an exception to indicate that there is a problem. However this is not always the case. For example: static class constructors should not throw, unless the class really is of no use given the error, and yet we may want to tell the user that there was a (non-critical) error. Any library routine that works in a loop, applying some (potentially failing) functionality, may want to continue the work without throwing in response ...
Config: Config is the core part of the configuration system; it is simply a Collection of Choice s. Config does the following things: Provides a GUI independant API with which to create GUIs Stores a local store of settings Allows updates to the local store Config does not attempt to make permanent copies of the config data because different apps may wish to store the data in different ways. Possible storage mechanisms include: Properties Files Resource Objects (Merlin, JDK 1.4) Network Sockets (see Remote) The Config class stored the current Choices, and moves the data between the various places that ...
LucidException: A LucidException adds 3 concepts to a base Exception, that of a wrapped Exception, that of internationalised (i18n) messages, and that of an internal string which is for debugging/logging purposes. The first addition is the concept of an optional wrapped Exception (actually a Throwable), which describes what caused this to happen. Any well defined interface will define the exact exceptions that the methods of that interface will throw, and not leave it to the ambiguous "throws Exception". However the interface should have no idea how it will be implemented and so the details of exactly what broke ...
WebEnvironment: A quick way of testing CommsXL Enabling HTTPS This could use the HTTPCLient handler from innovation.ch however this fails because there are handlers only for http not https System.getProperties().setProperty("java.protocol.handler.pkgs", "HTTPClient"); Normally this fails with: java.lang.ClassFormatError: HTTPClient/CookieModule (Invalid start_pc/length in local var table) However if you compile with jikes ... java.lang.NoClassDefFoundError: HTTPClient/https/Handler (wrong name: sunw/hotjava/protocol/https/Handler) If you simply include the HotJava jars in the CLASSPATH then URL will automatically ...
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, ...
WizardConfigPane: A mutable view of Fields setting array. A few of the ideas in this code came from an article in the JDJ about configuration. However the Config package has a number of huge differences, the biggest being what it does with its config info. The JDJ article assumed that you'd only ever want to edit a properties file and that the rest of the app didn't care much, and that the tree style view was the only one you would ever need. This package is a re-write that addresses these shortcomings and others. The JDJ article uses a DeckLayout instead of the java.awt.CardLayout because there are supposedly some ...
AdvancedConfigPane: A mutable view of Fields setting array. A few of the ideas in this code came from an article in the JDJ about configuration. However the Config package has a number of huge differences, the biggest being what it does with its config info. The JDJ article assumed that you'd only ever want to edit a properties file and that the rest of the app didn't care much, and that the tree style view was the only one you would ever need. This package is a re-write that addresses these shortcomings and others. The JDJ article uses a DeckLayout instead of the java.awt.CardLayout because there are supposedly some ...
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 ...) ...
DeckLayout: DeckLayout is very similar to the awt CardLayout, except the latter is supposed to have some focus problems. I've not come across these before, and DeckLayout seems to be broken anyway, so I don't use it at all. DeckLayout treats each component in the container as a card. Only one card is visible at a time, and the container acts like a deck of cards. The ordering of cards is determined by the container's own internal ordering of its component objects. DeckLayout defines a set of methods that allow an application to flip through the cards sequentially, or to show a specified card. The addLayoutComponent ...
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 ...
Cookie: Creates a cookie, a small amount of information sent by a servlet to a Web browser, saved by the browser, and later sent back to the server when the client accesses the same Web page. A cookie's value can uniquely identify a client, so cookies are commonly used for session management. A cookie has a name, a single value, and optional attributes such as a comment, path and domain qualifiers, a maximum age, and a version number. Some Web browsers have bugs in how they handle the attributes, so use them sparingly to improve the interoperability of your servlets. The servlet sends cookies to the browser ...
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; ...

Home | Contact Us | Privacy Policy | Terms of Service