|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object net.sf.ivmaidns.util.ObservedCore net.sf.ivmaidns.storage.Storage
public abstract class Storage
Root abstract class for storage of objects.
Constructor Summary | |
---|---|
Storage()
|
Method Summary | |
---|---|
int |
add(java.lang.Object value,
boolean unique)
NOTE: If value == null then ArrayStoreException is thrown. |
int |
addAll(java.lang.Object[] array,
int offset,
int len,
boolean unique)
NOTE: If exception is thrown then nothing is changed. |
int |
addAll(Storage storage,
int storagePrevLocation,
boolean unique)
NOTE: If unique is true and this storage has already contained value then it is skipped. |
abstract int |
childLocation(int parentLocation,
boolean forward)
NOTE: If parentLocation ! |
void |
clear()
NOTE: Must be synchronized outside. |
java.lang.Object |
clone()
NOTE: Must be synchronized outside. |
boolean |
contains(java.lang.Object value)
NOTE: value may be == null. |
int |
containsAll(java.lang.Object[] array,
int offset,
int len)
NOTE: If exception is thrown then nothing is changed. |
int |
containsAll(Storage storage,
int storagePrevLocation)
NOTE: Result is either 0 or location of the first element in storage (after storagePrevLocation) at which value is not contained here. |
int |
containsCount(java.lang.Object value)
NOTE: value may be == null. |
abstract int |
emptyLocation()
NOTE: Result is an empty location (result > 0). |
boolean |
equals(java.lang.Object obj)
NOTE: Storage state is not altered. |
abstract int |
findLessGreater(java.lang.Object value,
boolean greater,
int prevLocation,
boolean forward)
NOTE: If prevLocation ! |
abstract java.lang.Object |
getAt(int location)
NOTE: Result ! |
boolean |
greaterThan(java.lang.Object obj)
NOTE: The first found non-equal elements pair is compared through GComparator INSTANCE. |
boolean |
hasChildren(int parentLocation)
NOTE: parentLocation may be == 0. |
int |
hashCode()
NOTE: Storage state is not altered. |
abstract int |
insertAt(int prevLoc,
int emptyLocation,
java.lang.Object value)
NOTE: If prevLoc ! |
int |
insertAtAll(int prevLoc,
java.lang.Object[] array,
int offset,
int len)
NOTE: If exception is thrown then nothing is changed. |
int |
insertAtAll(int prevLoc,
Storage storage,
int storagePrevLocation)
NOTE: Result is either 0 or location of the first element in storage (after storagePrevLocation) at which value insertion has failed here. storage and its elements are not modified. |
void |
integrityCheck()
NOTE: Shallow check for integrity of this object. |
abstract boolean |
isValidAt(int location)
NOTE: Result is true if and only if location is "valid" (only not "empty" locations may be "valid"). |
abstract int |
locationOf(java.lang.Object value,
int prevLocation,
boolean forward)
NOTE: If prevLocation ! |
protected abstract void |
minimizeCapacity()
NOTE: The effectiveness is linear. |
int |
nextLocation(int prevLocation,
boolean forward)
NOTE: prevLocation may be == 0. |
protected void |
notifyObservers(int prevLoc,
int location,
java.lang.Object oldValue)
NOTE: This method must be called after any atomary changes committed (inside insertAt/setAt operations mainly). |
void |
notifyObservers(MultiObservable observed,
java.lang.Object argument)
NOTE: It is a dummy method which hides the same method in the superclass. |
abstract int |
parentLocation(int location)
NOTE: If location is "empty" then IllegalArgumentException is thrown. |
int |
remove(java.lang.Object value)
NOTE: value may be == null. |
int |
removeAll(java.lang.Object[] array,
int offset,
int len)
NOTE: If exception is thrown then nothing is changed. |
int |
removeAll(Storage storage,
int storagePrevLocation)
NOTE: Result is either 0 (normally) or location of the first element in storage (after storagePrevLocation) at which value removal has failed here. storage and its elements are not modified. |
java.lang.Object |
removeAt(int location)
NOTE: If 0 >= location then IllegalArgumentException is thrown. |
abstract java.lang.Object |
setAt(int location,
java.lang.Object value)
NOTE: If 0 >= location then IllegalArgumentException is thrown. |
abstract int |
siblingLocation(int location,
boolean forward)
NOTE: If location is "empty" then IllegalArgumentException is thrown. |
java.lang.Object[] |
toArray()
NOTE: Result is exact instanceof Object[] with non-null elements. |
java.lang.String |
toInlineString(ToString converter)
NOTE: To separate storage values ", " is used, to represent tree layout/hierarchy " {" and " }" are used. converter must be ! |
java.lang.String |
toOutlineString(ToString converter)
NOTE: To separate storage values "\n" is used, to represent tree layout/hierarchy "`", "|" and "-- " are used. converter must be ! |
java.lang.String |
toString()
NOTE: Result ! |
void |
trimToSize()
NOTE: Shallow "trim-to-size" is performed. |
Methods inherited from class net.sf.ivmaidns.util.ObservedCore |
---|
addObserver, hasObservers, removeObserver |
Methods inherited from class java.lang.Object |
---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public Storage()
Method Detail |
---|
public void trimToSize()
trimToSize
in interface TrimToSizeable
trimToSize
in class ObservedCore
ObservedCore.addObserver(net.sf.ivmaidns.util.Notifiable)
,
ObservedCore.removeObserver(net.sf.ivmaidns.util.Notifiable)
protected abstract void minimizeCapacity()
public final void clear()
public abstract int emptyLocation()
protected final void notifyObservers(int prevLoc, int location, java.lang.Object oldValue)
public final void notifyObservers(MultiObservable observed, java.lang.Object argument)
notifyObservers
in class ObservedCore
observed
- the observed object (may be null
, but normally
this
).argument
- the argument (may be null
), describing the occurred
event.ObservedCore.addObserver(net.sf.ivmaidns.util.Notifiable)
public abstract int insertAt(int prevLoc, int emptyLocation, java.lang.Object value) throws java.lang.IllegalArgumentException, java.lang.ArrayStoreException
java.lang.IllegalArgumentException
java.lang.ArrayStoreException
public abstract java.lang.Object setAt(int location, java.lang.Object value) throws java.lang.IllegalArgumentException, java.lang.ArrayStoreException
java.lang.IllegalArgumentException
java.lang.ArrayStoreException
public abstract java.lang.Object getAt(int location)
public abstract boolean isValidAt(int location)
public final int add(java.lang.Object value, boolean unique) throws java.lang.ArrayStoreException
java.lang.ArrayStoreException
public final int remove(java.lang.Object value) throws java.lang.ArrayStoreException
java.lang.ArrayStoreException
public final java.lang.Object removeAt(int location) throws java.lang.IllegalArgumentException, java.lang.ArrayStoreException
java.lang.IllegalArgumentException
java.lang.ArrayStoreException
public final int insertAtAll(int prevLoc, java.lang.Object[] array, int offset, int len) throws java.lang.NullPointerException, java.lang.ArrayIndexOutOfBoundsException, java.lang.IllegalArgumentException
java.lang.NullPointerException
java.lang.ArrayIndexOutOfBoundsException
java.lang.IllegalArgumentException
public final int addAll(java.lang.Object[] array, int offset, int len, boolean unique) throws java.lang.NullPointerException, java.lang.ArrayIndexOutOfBoundsException
java.lang.NullPointerException
java.lang.ArrayIndexOutOfBoundsException
public final int removeAll(java.lang.Object[] array, int offset, int len) throws java.lang.NullPointerException, java.lang.ArrayIndexOutOfBoundsException
java.lang.NullPointerException
java.lang.ArrayIndexOutOfBoundsException
public final int containsAll(java.lang.Object[] array, int offset, int len) throws java.lang.NullPointerException, java.lang.ArrayIndexOutOfBoundsException
java.lang.NullPointerException
java.lang.ArrayIndexOutOfBoundsException
public final int insertAtAll(int prevLoc, Storage storage, int storagePrevLocation) throws java.lang.NullPointerException, java.lang.IllegalArgumentException
java.lang.NullPointerException
java.lang.IllegalArgumentException
public final int addAll(Storage storage, int storagePrevLocation, boolean unique) throws java.lang.NullPointerException, java.lang.IllegalArgumentException
java.lang.NullPointerException
java.lang.IllegalArgumentException
public final int removeAll(Storage storage, int storagePrevLocation) throws java.lang.NullPointerException, java.lang.IllegalArgumentException
java.lang.NullPointerException
java.lang.IllegalArgumentException
public final int containsAll(Storage storage, int storagePrevLocation) throws java.lang.NullPointerException, java.lang.IllegalArgumentException
java.lang.NullPointerException
java.lang.IllegalArgumentException
public abstract int childLocation(int parentLocation, boolean forward) throws java.lang.IllegalArgumentException
java.lang.IllegalArgumentException
public abstract int siblingLocation(int location, boolean forward) throws java.lang.IllegalArgumentException
java.lang.IllegalArgumentException
public abstract int parentLocation(int location) throws java.lang.IllegalArgumentException
java.lang.IllegalArgumentException
public final boolean hasChildren(int parentLocation) throws java.lang.IllegalArgumentException
java.lang.IllegalArgumentException
public final int nextLocation(int prevLocation, boolean forward) throws java.lang.IllegalArgumentException
java.lang.IllegalArgumentException
public abstract int locationOf(java.lang.Object value, int prevLocation, boolean forward) throws java.lang.IllegalArgumentException
java.lang.IllegalArgumentException
public abstract int findLessGreater(java.lang.Object value, boolean greater, int prevLocation, boolean forward) throws java.lang.IllegalArgumentException
java.lang.IllegalArgumentException
public final boolean contains(java.lang.Object value)
public final int containsCount(java.lang.Object value)
public java.lang.Object[] toArray()
public java.lang.Object clone()
clone
in interface ReallyCloneable
clone
in class ObservedCore
null
) of this
instance.public int hashCode()
hashCode
in class java.lang.Object
public boolean equals(java.lang.Object obj)
equals
in class java.lang.Object
public boolean greaterThan(java.lang.Object obj)
greaterThan
in interface Sortable
obj
- the second compared object (may be null
).
true
if obj is comparable with
this
and this
object is greater than
obj, else false
.public final java.lang.String toInlineString(ToString converter) throws java.lang.NullPointerException
java.lang.NullPointerException
public final java.lang.String toOutlineString(ToString converter) throws java.lang.NullPointerException
java.lang.NullPointerException
public java.lang.String toString()
toString
in class java.lang.Object
public void integrityCheck()
integrityCheck
in interface Verifiable
integrityCheck
in class ObservedCore
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |