Package jdsl.core.api

Interface Summary
BinaryTree Interface for a binary tree that can be modified.
BinaryTreeBased Package ContainerInterfaces
interface BinaryTreeBased Containers that extend BinaryTreeBased interface are based on a binary tree and use an InspectableBinaryTree internally.
BookSequence Interface for a sequence, as it is described in the Goodrich-Tamassia book.
CircularSequence Interface for a circular sequence, a sequence without head or tail and without the possibility of boundary violations in prev(.) and next(.).
Comparator A comparator does comparisons of objects in the universe the comparator is defined over.
ComparatorBased Interface to support containers that rely on an underlying ordering of the elements.
Container A container is a collection of elements, each of which is a generic Object.
Decorable Decorability is the ability to attach extra pieces of information to an object.
Dictionary A KeyBasedContainer which provides element lookup based upon search keys.
Edge Empty, typing interface for edges.
Graph An interface describing a graph as a combinatorial object.
InspectableBinaryTree Interface for a binary tree, or a data structure that can be viewed as a binary tree.
InspectableGraph An interface describing a graph as a combinatorial object.
InspectableTree Interface that defines the properties of an InspectableTree
KeyBasedContainer A Container in which each element in its structure is associated with a key.
Locator  
OrderedDictionary A Dictionary in which the keys are totally ordered.
Position Interface for a position.
PositionalContainer A positional container stores elements at its positions and defines adjacency relationships between the positions (for example, before/after in a sequence, parent/child in a tree).
PositionalSequence Interface for a positional sequence.
PriorityQueue A priority queue is a partially-ordered container that allows for removal of the element with lowest (or highest, depending on the comparator used) priority.
RestructurableBinaryTree Adds the ability of rotation to a BinaryTree
Sequence Interface for a Sequence.
Tree Seperates the methods cut, link, and replaceSubtree out of BinaryTree so that faster implementations of BinaryTree can be created.
Vertex Empty, typing interface for vertices.All the functionalities are in the InspectableGraph interface.
 

Exception Summary
BoundaryViolationException A BoundaryViolationException indicates that a Container's edges were trespassed somehow: off the end, over the top, beyond the bottom, whatever. Package jdsl.core.api
class BoundaryViolationException
ContainedLocatorException A ContainedLocatorException indicates that an attempt has been made to insert a locator into a container, except that the locator already is in another container.
CoreException At this writing I think that all the exceptions related to the core data structures can be descended from one class.
EmptyContainerException An EmptyContainerException indicates (duh) that the Container can't fulfill the requested operation because it is empty.
InvalidArgumentException An InvalidArgumentException indicates that an argument is of the right type but there is something else wrong with it.
InvalidAttributeException An InvalidAttributeException indicates that the name by which you attempted to look up a (name,value) pair does not exist.
InvalidComparatorException This exception is thrown by a ComparatorBased container when an operation is performed, and the comparator has not yet been set.
InvalidContainerException An InvalidContainerException is thrown by a Container object when it has ceased to be a valid container -- that is, when it has been spliced or into another container.
InvalidEdgeException InvalidEdgeException is used in graphs to indicate graph-specific problems with an edge (for instance, passing an undirected edge to a graph method that expects a directed one).
InvalidElementException Indicates unacceptable Object passed in as an element -- for instance, because the element isn't part of the ordered universe handled by the container.
InvalidKeyException Signals that an invalid key has been passed to a KeyBasedContainer class.
InvalidLocatorException An InvalidLocatorException can be thrown by a container or by the locator itself.
InvalidMethodCallException InvalidMethodCallException is intended for use only in methods that you expect never to be called -- for instance, in the prev() method of the head node in a sequence.
InvalidPositionException An InvalidPositionException can be thrown for several reasons:
(2) the element associated with the position has been removed from the container, and therefore the position points to nothing;
(3) the container to which the locator belonged has become invalid, and therefore all its locators are invalid.
InvalidTreeException An InvalidTreeException is thrown by a tree object when it has ceased to be a valid tree -- that is, when it has been link(.)ed or replaceSubtree(.)ed into another tree.
NotEmptyContainerException A NotEmptyContainerException indicates that the Container can't fulfill the requested operation because it is not empty.
UncontainedLocatorException A ULE is thrown by a Locator if container() is called on it, and it does not have a container.