Package lib

Interface Summary
IEditableElement the IEditableElement interface defines methods for use when visually editing an object, so each construct in our .lap files is represented as some object that implements this interface, so when it is selected in the IDE the right sequence of actions to present this on the GUI is taken.
ILAPReader The ILapReader interface defines methods that all classes that read in BOD behaviour specifications must implement.
IListOrganiser The IListOrganiser interface is intended to encapsulate the rearranging functionality that comes with constructs in the rendered tree that make use of the grouping abilitiy in the code.
INamedElement Certain elements in our LearnableActionPattern object have names that are referenced by other objects for the purposes of inter-dependance/invocation.
IPrimitiveReader A Primitive Reader is an object that can produce a list of actions or senses from an input file.
IRenderer Objects that impelement IRenderer are used to provide pluggable painting support for diagrams, so that various styles can be implemented for the same information to be displayed in different ways.

Class Summary
ActionElement An action element is either an action primitive or composite name, or alternatively is a boolean sense primitive, possibly with a value and predicate.
ActionPattern An Action Pattern is a name, interval and a sequence of action elements
Competence A competence is a named list of lists of competence elements with a goal and an interval
CompetenceElement A Competence Element is is a named trigger and an action, along with an optional number of retries.
Configuration The configuration class encapsulates the abilities to modify program settings and attributes and store them to file.
ConsoleWriter The console writer class encapsulates a single function to make accesing the console text panel for the file easier.
CurrentLineHighlighter This class can be used to highlight the current line for any JTextComponent.
DestructiveListOrganiser A simple list organiser object for providing simple "delete me" functionality
Documentation The Documentation construct exists to hold version information that is held in a standard structure at the start of the file.
DotLapReader The DotLapReader reads in lisp-formatted .lap files and then produces a completed LearnableActionPattern object representing the contents of the file.
DotLapWriter DotLapWriter is responsible for exporting our learnable action pattern object as a .lap file.
DriveCollection A (RealTime/Discrete Time) drive collection is a named goal and a set of drive elements that work to achieve that goal.
DriveElement A Drive Element is a name, a trigger list of action elements and a named action, and an optional timeout for scheduling frequency
HorizontalListOrganiser The horizontal list organiser is used for arranging elements within action patterns, triggers and goals.
JAbode JAbode is the main GUI (i.e.
JColorSelectButton A simple GUI class for the selection of colours.
JColorSelectForm Another simple GUI class, this time for picking colours and whatnot.
JDiagram A GuiDiagram is a diagramatic rendering of a JTreeNode hieararchy
JEditorWindow The JEditorWindow is where we edit files.
JEngineInput Another overly simply UI widget, this time it's an input box pair for getting paths/names for engines in the configuration panel.
JManual Used for displaying the online help system.
JOptionsScreen JOptionScreen represents a panel for providing basic configurability to the program, fetching configuration settings and writing changes back using a small armada of widgets designed for things such as colour configuration etc.
JTreeNode The JTreeNode encodes a semantic relationship between editable elements of the Learnable Action Pattern files, and is used primarily for the organisation of such elements before rendering them.
LearnableActionPattern A LearnableActionPattern encapsulates the various constructs within the LAP file as an arraylist of elements which are drive collections, action patterns and competances
LispBlob Provides simple API for dealing with lisp code in a string and enables us to readily break the lists down into items.
LispPrimitiveParser Reads Primitives from .lisp files
MDIDesktopManager Private class used to replace the standard DesktopManager for JDesktopPane.
PrimitiveManager A PrimitiveManager is an object that provides an abstraction to interface with a list of objects that produce primitive lists
PrintDiagramRenderer The standard diagram renderer is useful for producing coloured displays of the node hierarchy in a top to bottom, left to right non-proportional tree structure.
PrintUtilities This class uses code taken from, please support open software development by releasing upgrades and improvements back into the wild.
PythonPrimitivesParser Provides a simple abstraction for loading primitives from a .py file.
SplashScreen SplashScreen is the class for pre-initialization of the various classes used by the software at launch time.
StandardDiagramRenderer The standard diagram renderer is useful for producing coloured displays of the node hierarchy in a top to bottom, left to right non-proportional tree structure.
TimeUnit A TimeUnit is a measurement of time with two attributes, the interval and the unit of measurement.
VerticalListOrganiser When arraylists of arraylists of anonymous elements are laid out as a single vertical list, we use this class as the list organiser in order to facilitate the rearranging.
WindowMenu Menu component that handles the functionality expected of a standard "Windows" menu for MDI applications.