org.crosswire.jsword.passage
Class VerseRangeFactory

java.lang.Object
  extended by org.crosswire.jsword.passage.VerseRangeFactory

public final class VerseRangeFactory
extends Object

A factory that creates VerseRanges from user input.

Author:
Joe Walker [joe at eireneh dot com], DM Smith
See Also:
for license details.
The copyright to this program is held by it's authors.

Constructor Summary
private VerseRangeFactory()
          prevent instantiation
 
Method Summary
static VerseRange fromString(String orginal)
          Deprecated. use fromString(Versification, String) instead
static VerseRange fromString(String original, VerseRange basis)
          Deprecated. use fromString(Versification, String, VerseRange) instead
static VerseRange fromString(Versification v11n, String orginal)
          Construct a VerseRange from a human readable string.
static VerseRange fromString(Versification v11n, String original, VerseRange basis)
          Construct a VerseRange from a String and a VerseRange.
private static VerseRange fromText(Versification v11n, String original, String startVerseDesc, String endVerseDesc, VerseRange basis)
          The internal mechanism by which we construct a VerseRange
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

VerseRangeFactory

private VerseRangeFactory()
prevent instantiation

Method Detail

fromString

@Deprecated
public static VerseRange fromString(String orginal)
                             throws NoSuchVerseException
Deprecated. use fromString(Versification, String) instead

Construct a VerseRange from a human readable string. For example "Gen 1:1-3" in case the user does not want to have their typing 'fixed' by a meddling patronizing computer.

Parameters:
orginal - The textual representation
Throws:
NoSuchVerseException - If the text can not be understood

fromString

public static VerseRange fromString(Versification v11n,
                                    String orginal)
                             throws NoSuchVerseException
Construct a VerseRange from a human readable string. For example "Gen 1:1-3" in case the user does not want to have their typing 'fixed' by a meddling patronizing computer.

Parameters:
v11n - The versification for this VerseRange
orginal - The textual representation
Throws:
NoSuchVerseException - If the text can not be understood

fromString

@Deprecated
public static VerseRange fromString(String original,
                                               VerseRange basis)
                             throws NoSuchVerseException
Deprecated. use fromString(Versification, String, VerseRange) instead

Construct a VerseRange from a String and a VerseRange. For example given "2:2" and a basis of Gen 1:1-2 the result would be range of 1 verse starting at Gen 2:2. Also given "2:2-5" and a basis of Gen 1:1-2 the result would be a range of 5 verses starting at Gen 1:1.

This constructor is different from the (String, Verse) constructor in that if the basis is a range that exactly covers a chapter and the string is a single number, then we assume that the number refers to a chapter and not to a verse. This allows us to have a Passage like "Gen 1,2" and have the 2 understood as chapter 2 and not verse 2 of Gen 1, which would have occurred otherwise.

Parameters:
original - The string describing the verse e.g "2:2"
basis - The verse that forms the basis by which to understand the original.
Throws:
NoSuchVerseException - If the reference is illegal

fromString

public static VerseRange fromString(Versification v11n,
                                    String original,
                                    VerseRange basis)
                             throws NoSuchVerseException
Construct a VerseRange from a String and a VerseRange. For example given "2:2" and a basis of Gen 1:1-2 the result would be range of 1 verse starting at Gen 2:2. Also given "2:2-5" and a basis of Gen 1:1-2 the result would be a range of 5 verses starting at Gen 1:1.

This constructor is different from the (String, Verse) constructor in that if the basis is a range that exactly covers a chapter and the string is a single number, then we assume that the number refers to a chapter and not to a verse. This allows us to have a Passage like "Gen 1,2" and have the 2 understood as chapter 2 and not verse 2 of Gen 1, which would have occurred otherwise.

Parameters:
v11n - The versification for this VerseRange
original - The string describing the verse e.g "2:2"
basis - The verse that forms the basis by which to understand the original.
Throws:
NoSuchVerseException - If the reference is illegal

fromText

private static VerseRange fromText(Versification v11n,
                                   String original,
                                   String startVerseDesc,
                                   String endVerseDesc,
                                   VerseRange basis)
                            throws NoSuchVerseException
The internal mechanism by which we construct a VerseRange

Parameters:
v11n - The versification for this VerseRange
original - The string describing the verse e.g "2:2"
startVerseDesc - The part of the range before the range separator
endVerseDesc - The part of the range after the range separator
basis - The verse that forms the basis by which to understand the original.
Throws:
NoSuchVerseException - If the reference is illegal

Copyright ? 2003-2011