Concurrent sequence class used for tracking the progress of the ring buffer and event processors. Support a number of concurrent operations including CAS and order writes.
Also attempts to be more efficient with regards to false sharing by adding padding around the volatile field.
Warning: This is a facade provided for use by user code, not for implementation in user code. User implementations of this interface are highly likely to be incompatible with future releases of the product at both binary and source levels.
Indices for sequence items are in the range from 1 to the length of the sequence inclusive. Sequence indices are NOT zero based like Java arrays.
@volantis-api-include-in PublicAPI @volantis-api-include-in ProfessionalServicesAPI @volantis-api-include-in InternalAPISequence
is a data structure containing musical information (often an entire song or composition) that can be played back by a {@link Sequencer}
object. Specifically, the Sequence
contains timing information and one or more tracks. Each {@link Track track}
consists of a series of MIDI events (such as note-ons, note-offs, program changes, and meta-events). The sequence's timing information specifies the type of unit that is used to time-stamp the events in the sequence. A Sequence
can be created from a MIDI file by reading the file into an input stream and invoking one of the getSequence
methods of {@link MidiSystem}. A sequence can also be built from scratch by adding new Tracks
to an empty Sequence
, and adding {@link MidiEvent}
objects to these Tracks
.
@see Sequencer#setSequence(java.io.InputStream stream)
@see Sequencer#setSequence(Sequence sequence)
@see Track#add(MidiEvent)
@see MidiFileFormat
@author Kara Kytle
For a Sequence, methods InspectableContainer.elements()
and InspectablePositionalContainer.positions() are guaranteed to return iterators in first-to-last order.
Purpose: Define an interface for sequencing customization.
Description: Customary sequencing behavior could be achieved by implementing this interface and passing the instance to DatabaseSession.getSequencingControl().setValueGenerationPolicy(..). TopLink internally uses the same method to set its default implementation of this interface, which provides native sequencing and table sequencing. Note that the following methods: shouldAcquireValueAfterInsert(); shouldUsePreallocation(); shouldUseSeparateConnection(); shouldUseTransaction(); are called only once - during creation of the sequencing object. Therefore during the lifetime of sequencing object these methods should return the same values as when called for the first time. If this is not true - resetSequencing (call SequencingControl.resetSequencing()).
Responsibilities:
The following features are supported:
Purpose: Class to represent a Sequence in a Schema
Purpose: Abstract class to define sequencing.
Description A sequence defines how generated ids are obtained. The main sequence types are TableSequence and NativeSequence. Descriptors using sequencing will use the sequence object defined in their session's DatabaseLogin with the name matching their sequence name. If a specific sequence is not defined for the name the DatabaseLogin's default sequence will be used. @see TableSequence @see NativeSequence
This interface is intended to represent a Sequence in an XML Schema. This shildren of this sequence are ElementGroupings which may involve Element declarations, Choices, Groups ... or even another Sequence. We recommend flattening child Sequences with the parent, creating a semantically equivalent sequence in it's place.
@author dzwiers www.refractions.net @see ElementGrouping @source $URL${@link javax.sound.midi} subset compatible.
@author Naohide Sano (nsano) @version 0.00 020627 nsano initial versionSequence
interface yields Iterator. Sequence
does'nt hold states. States are held in the Focus
.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|