| Home >> All |
| | virtuoso.asaph.* (92) | | virtuoso.lib.* (102) |
Package Samples:
virtuoso.asaph.util.render
virtuoso.asaph.samplegui
virtuoso.asaph.plugin
virtuoso.asaph.maingui
virtuoso.asaph.model
virtuoso.asaph.model.types
virtuoso.asaph.util.model
virtuoso.asaph.dommodel
virtuoso.asaph.standardgui
virtuoso.lib.asyncjob
virtuoso.lib.base
virtuoso.lib.basiccommand
virtuoso.lib.basiccommand.builder
virtuoso.lib.basiccommand.swing
virtuoso.lib.collections
virtuoso.lib.command
virtuoso.lib.propertyset
virtuoso.lib.swing
virtuoso.lib.util
Classes:
SongDatabase: This interface represents a database of songs. It provides facilities for simple searches by keyword and title, and allows clients to check out copies of songs, and check in changes. This interface also specifies that all operations are atomic. That is, every mutation operation is atomic-- simultaneous mutations are serialized so they will not conflict. In addition, any query operation will always return information about a self-consistent state that the database was or could have been in at some point in the past. In-memory representations such as DOMImpl can implement this trivially by synchronizing ...
RotatingArrayList: Rotating resizeable array implementation of the List interface. Implements all optional list operations, and permits all elements, including null . In addition to implementing the List interface, this class provides methods to manipulate the size of the array that is used internally to store the list. This class is roughly equivalent to ArrayList (and is based on the ArrayList implementation) with one important distinction. The add(index, object) method operates in amortized constant time rather than linear time when inserting at the beginning or end of a list, and the remove(index) method also ...
EventBroadcastHelper: A helper class for broadcasting events. This class is meant to be used internally by any class that needs to broadcast events. It provides the following facilities: It manages a set of listeners, providing helper methods for adding and removing listeners. It optionally references listeners via weak references, so they can be garbage collected and do not need to be removed explicitly. It provides methods for broadcasting an event to all listeners. Typical usage will involve keeping a data member of type EventBroadcastHelper in your client class. Your add*Listener() and remove*Listener() methods ...
HierarchicalType: An interface for objects that implement a hierarchical type system. A hierarchical type system is a class of objects with the following properties: The object may have zero or more parents, which must be within the same class. An object is said to "extend" all of its ancestors. The object is not a descendant of itself. That is, the parent relationships form an acyclic graph. The object can quickly determine, given another object, whether it extends that object. The object is immutable. The equals() method is suitably defined to preserve the above semantics. Normally, objects should be uniques whose ...
SongID: A Song ID. This object identifies a Song in a SongDatabase and can be used to quickly check out a copy of the Song. SongID also contains a unique and immutable String representation that may be used to serialize and deserialize the SongID. The string is guaranteed to be unique within a particular database, and will remain the same for same song across different executions of the tool. However, two songs from different databases may have the same string representation.
AbstractElementBuilderNode: A skeletal builder that creates a single leaf object with no children. This needs to be subclassed to implement createInitialElement(), and/or to pass an element into the constructor. Also note that this builder registers itself as a PropertySetListener on the CommandNode, so subclasses do not need to do so again. A lot of this implementaiton is identical to AbstractContainerElementBuilderNode, but alas, Java lacks multiple implementation inheritance.
AbstractBranchBuilderNode: A skeletal implementation for builder nodes with children. Provides accessors for children as well as position finding. Subclasses need to implement createChildNode() to create child nodes corresponding to child CommandNodes. Subclasses also need to implement the add/set/removeElements methods, as well as getCardinality().
AbstractContainerElementBuilderNode: A branch builder that creates an element that can contain other elements. Subclasses need to implement getChildNode(), createInitialElement(), and the add/set/removeElements methods. A lot of this implementation is identical to AbstractElementBuilderNode, but alas, Java lacks multiple implementation inheritance.
Song: This is the primary interface to a Song. Songs are obtained from a SongDatabase. However, Song objects are always "checked-out" copies of the actual Song data. This lets clients manipulate the Song without worry about concurrent access. To commit changes, use the commit method of SongDatabase.
UniqueObject: An object whose equals() method is guaranteed to use reference equality. That is it does not equal any other object. The description string is used for toString(). If you pass null for the description or do not provide one, UniqueObject will automatically generate a default string.
ChordFragmentGroup: A group of chord fragments associated with a ChordAnnotation. The position and width of this object also includes the anchor, so it may be a little bigger than the actual combined span of the constituent ChordFragments.
AbstractAWTContainerBuilderNode: An element container builder that builds an AWT Container. Subclass this to pass implement createChildNode(), and also to pass in the proper type of component in the constructor and/or implement createInitialElement().
AbstractGroupBuilderNode: A builder that creates a group of related elements based on its children, but creates no element of its own. Subclass this class and override createChildNode to create the proper types of children.
ComboBoxMemberGroupBuilderNode: A special GroupBuilderNode used for groups whose parent component is a combo box. These nodes can only build ComboBoxMemberBuilderNodes and other ComboBoxMemberGroupBuilderNodes as children.
BasicToggleItemCommandNode: A node representing a toggle action. Normally, you do not implement commandInvoked for these types of command nodes, but instead listen for changes to the SELECTION_STATE_PROPERTY property.
SongBlock: This interface represents a block of lines in a song. A Song consists of an ordered list of blocks, and each block consists of an ordered list of lines. Blocks also have an indent level.
SongLine: This interface represents a line in a song. A line is made up of a sequence of SongLineMembers, which are strings, comments or chord annotations. Lines are contained within SongBlocks.
AbstractBuilderNode: A skeletal implementation for builder nodes. Note that this builder registers itself as a PropertySetListener on the CommandNode, so subclasses do not need to do so again.
MenuBarGroupBuilderNode: A special MenuGroupBuilderNode used for groups whose parent component is the menu bar. These nodes can only build MenuBuilders and other MenuBarGroupBuilders as children.
BasicRadioContainerCommandNode: A node representing a radio group node that is also a container. This is for submenus and other such hierarchy branch points that also serve as a radio group container.
StringList: This is the string list interface in an Asaph model. It is used in various places to represent an ordered list of strings, each represented by a SimpleString.
AbstractSwingButtonBuilderNode: A builder that creates a swing button. This needs to be subclassed to implement createInitialElement(), and/or to pass a button into the constructor.
ConstrainedKey: An interface for constrained property keys. ConstrainedKeys are often used as keys in properties objects to place constraints on legal values.
BasicGroupCommandNode: A node representing a group in the graph. These correspond to groups of menu items or buttons but doesn't comprise a branch point in the hierarchy.
ChordSystem: A system of chords for a song. Most songs will only have one ChordSystem, but some may have multiple, especially if there are alternate tunes.
| Home | Contact Us | Privacy Policy | Terms of Service |