|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.crosswire.jsword.passage.SynchronizedPassage
final class SynchronizedPassage
This is a simple proxy to a real Passage object that makes all accesses synchronized. It is final to give the VM as much hope as possible at being able to inline stuff.
The GNU Lesser General Public License for details.| Field Summary | |
|---|---|
private Passage |
ref
The object we are proxying to |
private static long |
serialVersionUID
Serialization ID |
| Constructor Summary | |
|---|---|
SynchronizedPassage(Passage ref)
Construct a SynchronizedPassage from a real Passage to which we proxy. |
|
| Method Summary | |
|---|---|
void |
add(Key that)
Add this Verse/VerseRange to this Passage |
void |
addAll(Key key)
Adds the specified element to this set if it is not already present. |
void |
addPassageListener(PassageListener li)
Event Listeners - Add Listener |
void |
blur(int by,
RestrictionType restrict)
Widen the range of the verses/keys in this list. |
int |
booksInPassage()
How many books are there in this Passage |
boolean |
canHaveChildren()
Returns false if the receiver is a leaf node and can not have children. |
void |
clear()
Removes all of the elements from this set (optional operation). |
SynchronizedPassage |
clone()
This needs to be declared here so that it is visible as a method on a derived Key. |
int |
compareTo(Key o)
|
boolean |
contains(Key key)
Returns true if this collection contains all the specified Verse |
boolean |
containsAll(Passage that)
Returns true if this Passage contains all of the verses in that Passage |
int |
countRanges(RestrictionType restrict)
Like countVerses() that counts VerseRanges instead of Verses Returns the number of fragments in this collection. |
int |
countVerses()
Returns the number of verses in this collection. |
boolean |
equals(Object obj)
This needs to be declared here so that it is visible as a method on a derived Key. |
Key |
get(int index)
Gets a key from a specific point in this list of children. |
int |
getCardinality()
Returns the number of elements in this set (its cardinality). |
int |
getChildCount()
Returns the number of children that this node has. |
String |
getName()
A Human readable version of the Key. |
String |
getName(Key base)
Translate the Key into a human readable string, with the assumption that the specified Key has just been output, so if we are in the same region, we do not need to display the region name, and so on. |
String |
getOsisID()
The OSIS defined id specification for this Key. |
String |
getOsisRef()
The OSIS defined reference specification for this Key. |
String |
getOverview()
A summary of the verses in this Passage For example "10 verses in 4 books" |
Key |
getParent()
All keys have parents unless they are the root of a Key. |
VerseRange |
getRangeAt(int offset,
RestrictionType restrict)
Get a specific VerseRange from this collection |
String |
getRootName()
A Human readable version of the Key's top level name. |
Verse |
getVerseAt(int offset)
Get a specific Verse from this collection |
Versification |
getVersification()
Get the Versification that defines the Verses in this VerseKey. |
Passage |
getWhole()
Convert this reference into one without a sub-identifier. |
int |
hashCode()
This needs to be declared here so that it is visible as a method on a derived Key. |
boolean |
hasRanges(RestrictionType restrict)
Determine whether there are two or more ranges. |
int |
indexOf(Key that)
Reverse a Key into the position the key holds in the list of children |
boolean |
isEmpty()
Does this Key have 0 members |
boolean |
isWhole()
A VerseKey that does not have an OSIS sub identifier is a whole reference. |
Iterator<Key> |
iterator()
|
void |
optimizeReads()
For performance reasons we may well want to hint to the Passage that we have done editing it for now and that it is safe to cache certain values to speed up future reads. |
Iterator<VerseRange> |
rangeIterator(RestrictionType restrict)
Like iterator() that iterates over VerseRanges instead of Verses. |
void |
readDescription(Reader in)
To be compatible with humans we read/write ourselves to a file that a human can read and even edit. |
void |
remove(Key that)
Remove this Verse/VerseRange from this Passage |
void |
removeAll(Key key)
Removes the specified elements from this set if it is present. |
void |
removePassageListener(PassageListener li)
Event Listeners - Remove Listener |
void |
retainAll(Key key)
Removes all but the specified element from this set. |
Passage |
reversify(Versification newVersification)
Cast this VerseKey into another Versification. |
Passage |
trimRanges(int count,
RestrictionType restrict)
Ensures that there are a maximum of count VerseRanges in
this Passage. |
Passage |
trimVerses(int count)
Ensures that there are a maximum of count Verses in this
Passage. |
void |
writeDescription(Writer out)
To be compatible with humans we read/write ourselves to a file that a human can read and even edit. |
| Methods inherited from class java.lang.Object |
|---|
finalize, getClass, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
private Passage ref
private static final long serialVersionUID
| Constructor Detail |
|---|
public SynchronizedPassage(Passage ref)
ref - The real Passage| Method Detail |
|---|
public Versification getVersification()
VerseKey
getVersification in interface VerseKey<Passage>public Passage reversify(Versification newVersification)
VerseKeyNote: This is dangerous as it does not consider chapter boundaries or whether the verses in this VerseKey are actually part of the new versification. It should only be used when the start and end verses are in both Versifications. You have been warned.
reversify in interface VerseKey<Passage>public boolean isWhole()
VerseKey
isWhole in interface VerseKey<Passage>public Passage getWhole()
VerseKey
getWhole in interface VerseKey<Passage>public void addAll(Key key)
Key
addAll in interface Keykey - element to be added to this set.public void removeAll(Key key)
Key
removeAll in interface Keykey - object to be removed from this set, if present.public void retainAll(Key key)
Key
retainAll in interface Keykey - object to be left in this set.public boolean contains(Key key)
Passage
contains in interface Keycontains in interface Passagekey - Verse or VerseRange that may exist in this Passage
public int getChildCount()
Key
getChildCount in interface Keypublic int getCardinality()
KeyThis method is potentially expensive, as it often requires cycling through all the keys in the set.
getCardinality in interface Keypublic boolean canHaveChildren()
Key
canHaveChildren in interface Keypublic Iterator<Key> iterator()
iterator in interface Iterable<Key>public Key get(int index)
Key
get in interface Keyindex - The index of the Key to retrieve
public int indexOf(Key that)
Key
indexOf in interface Keythat - The Key to find
public Key getParent()
Key
getParent in interface Keypublic String getName()
Key
getName in interface Keypublic String getName(Key base)
Key
getName in interface Keybase - The key to use to cut down unnecessary output.
public String getRootName()
Key
getRootName in interface Keypublic String getOsisRef()
Key
getOsisRef in interface Keypublic String getOsisID()
Key
getOsisID in interface Keypublic String getOverview()
Passage
getOverview in interface Passagepublic boolean isEmpty()
Key
isEmpty in interface Keypublic int countVerses()
Passage
countVerses in interface PassageVersepublic boolean hasRanges(RestrictionType restrict)
Passage
hasRanges in interface Passagerestrict - Do we break ranges at chapter/book boundaries
VerseRangepublic int countRanges(RestrictionType restrict)
Passage
countRanges in interface Passagerestrict - Do we break ranges at chapter/book boundaries
VerseRangepublic Passage trimVerses(int count)
Passagecount Verses in this
Passage. If there were more than count Verses then a new
Passage is created containing the Verses from count+1
onwards. If there was not greater than count in the Passage,
then the passage remains unchanged, and null is returned.
trimVerses in interface Passagecount - The maximum number of Verses to allow in this collection
Verse
public Passage trimRanges(int count,
RestrictionType restrict)
Passagecount VerseRanges in
this Passage. If there were more than count VerseRanges then
a new Passage is created containing the VerseRanges from
count+1 onwards. If there was not greater than
count in the Passage, then the passage remains unchanged,
and null is returned.
trimRanges in interface Passagecount - The maximum number of VerseRanges to allow in this collectionrestrict - Do we break ranges at chapter/book boundaries
VerseRangepublic int booksInPassage()
Passage
booksInPassage in interface Passage
public Verse getVerseAt(int offset)
throws ArrayIndexOutOfBoundsException
Passage
getVerseAt in interface Passageoffset - The verse offset (legal values are 0 to countVerses()-1)
ArrayIndexOutOfBoundsException - If the offset is out of range
public VerseRange getRangeAt(int offset,
RestrictionType restrict)
throws ArrayIndexOutOfBoundsException
Passage
getRangeAt in interface Passageoffset - The verse range offset (legal values are 0 to countRanges()-1)restrict - Do we break ranges at chapter/book boundaries
ArrayIndexOutOfBoundsException - If the offset is out of rangepublic Iterator<VerseRange> rangeIterator(RestrictionType restrict)
Passage
rangeIterator in interface Passagerestrict - Do we break ranges over chapters
public void add(Key that)
Passage
add in interface Passagethat - The Verses to be added from this Passagepublic void remove(Key that)
Passage
remove in interface Passagethat - The Verses to be removed from this Passagepublic boolean containsAll(Passage that)
Passage
containsAll in interface Passagethat - Passage to be checked for containment in this collection.
public void clear()
Key
clear in interface Key
public void blur(int by,
RestrictionType restrict)
Key
blur in interface Keyby - The number of verses/keys to widen byrestrict - How should we restrict the blurring?Passage
public void readDescription(Reader in)
throws IOException,
NoSuchVerseException
Passage
readDescription in interface Passagein - The stream to read from
IOException - If the file/network etc breaks
NoSuchVerseException - If the file was invalid
public void writeDescription(Writer out)
throws IOException
Passage
writeDescription in interface Passageout - The stream to write to
IOException - If the file/network etc breakspublic void optimizeReads()
Passage
optimizeReads in interface Passagepublic void addPassageListener(PassageListener li)
Passage
addPassageListener in interface Passageli - The listener to addpublic void removePassageListener(PassageListener li)
Passage
removePassageListener in interface Passageli - The listener to removepublic SynchronizedPassage clone()
Key
clone in interface Keyclone in class Objectpublic int hashCode()
Key
hashCode in interface KeyhashCode in class Objectpublic boolean equals(Object obj)
Key
equals in interface Keyequals in class Objectpublic int compareTo(Key o)
compareTo in interface Comparable<Key>
|
Copyright ยจ 2003-2015 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||