public class SysexMessage extends MidiMessage
Modifier and Type | Field and Description |
---|---|
static int |
SPECIAL_SYSTEM_EXCLUSIVE |
static int |
SYSTEM_EXCLUSIVE |
data, length
Modifier | Constructor and Description |
---|---|
|
SysexMessage()
Create a default valid system exclusive message.
|
protected |
SysexMessage(byte[] data)
Create a SysexMessage object.
|
Modifier and Type | Method and Description |
---|---|
Object |
clone()
This method may be called to create a new copy of the
Object.
|
byte[] |
getData()
Get the data for this message, not including the status byte.
|
void |
setMessage(byte[] data,
int length)
Set the sysex message.
|
void |
setMessage(int status,
byte[] data,
int length)
Set the sysex message.
|
getLength, getMessage, getStatus
public static final int SYSTEM_EXCLUSIVE
public static final int SPECIAL_SYSTEM_EXCLUSIVE
public SysexMessage()
protected SysexMessage(byte[] data)
data
- a complete system exclusive messagepublic void setMessage(byte[] data, int length) throws InvalidMidiDataException
setMessage
in class MidiMessage
data
- the message datalength
- the length of the message dataInvalidMidiDataException
- if the status byte is not 0xF0 or 0xF7public void setMessage(int status, byte[] data, int length) throws InvalidMidiDataException
status
- the sysex statys byte (0xF0 or 0xF7)data
- the message datalength
- the length of the message dataInvalidMidiDataException
- if status is not 0xF0 or 0xF7public byte[] getData()
public Object clone()
Object
o == o.clone()
is falseo.getClass() == o.clone().getClass()
is trueo.equals(o)
is trueHowever, these are not strict requirements, and may
be violated if necessary. Of the three requirements, the
last is the most commonly violated, particularly if the
subclass does not override Object.equals(Object)
.
If the Object you call clone() on does not implement
Cloneable
(which is a placeholder interface), then
a CloneNotSupportedException is thrown. Notice that
Object does not implement Cloneable; this method exists
as a convenience for subclasses that do.
Object's implementation of clone allocates space for the new Object using the correct class, without calling any constructors, and then fills in all of the new field values with the old field values. Thus, it is a shallow copy. However, subclasses are permitted to make a deep copy.
All array types implement Cloneable, and override
this method as follows (it should never fail):
public Object clone() { try { super.clone(); } catch (CloneNotSupportedException e) { throw new InternalError(e.getMessage()); } }
clone
in class MidiMessage
Cloneable