Package org.eclipse.debug.core.model
Class MemoryByte
java.lang.Object
org.eclipse.debug.core.model.MemoryByte
A byte of memory in a memory block. Each byte of memory has a value and
attributes indicating if the byte is read-only, valid, or if its value has
changed.
Clients may instantiate this class. Clients may subclass this class to add other attributes to a memory byte, as required.
- Since:
- 3.1
- See Also:
-
Field Summary
Modifier and TypeFieldDescriptionstatic final byte
Bit mask used to indicate a this byte of memory is big endian.static final byte
Bit mask used to indicate a byte has changed since the last suspend event.static final byte
Bit mask used to indicate that the endianess of this byte of memory is known.protected byte
Attribute flags.static final byte
Bit mask used to indicate a memory byte has history to determine if its value has changed.static final byte
Bit mask used to indicate a byte is readable.protected byte
Value of this byte.static final byte
Bit mask used to indicate a byte is writable. -
Constructor Summary
ConstructorDescriptionConstructs a readable, writable memory byte without a change history, and a value of 0.MemoryByte
(byte byteValue) Constructs a readable, writable memory byte without a change history, with the given value.MemoryByte
(byte byteValue, byte byteFlags) Constructs a memory byte with the given value and attributes. -
Method Summary
Modifier and TypeMethodDescriptionbyte
getFlags()
Returns this memory byte's attribute as a bit mask.byte
getValue()
Returns the value of this memory byte.boolean
Returns whether this byte of memory is big endian.boolean
Returns whether this memory byte has changed.boolean
Returns whether the endianess of this byte of memory is known.boolean
Returns whether the history of this byte is known.boolean
Returns whether this memory byte is readable.boolean
Returns whether this memory byte is writable.void
setBigEndian
(boolean isBigEndian) Sets whether this byte of memory is big endian.void
setChanged
(boolean changed) Sets whether this memory byte has changed.void
setEndianessKnown
(boolean isEndianessKnown) Sets whether the endianess of this byte of memory is known.void
setFlags
(byte flags) Sets this memory byte's attributes based on the given bit mask.void
setHistoryKnown
(boolean known) Sets whether the history of this byte is known.void
setReadable
(boolean readable) Sets whether this memory byte is readable.void
setValue
(byte value) Sets the value of this memory byte.void
setWritable
(boolean writable) Sets whether this memory byte is writable.
-
Field Details
-
WRITABLE
public static final byte WRITABLEBit mask used to indicate a byte is writable.- See Also:
-
READABLE
public static final byte READABLEBit mask used to indicate a byte is readable. A memory byte is readable when its value and attributes are retrievable. Otherwise, a byte is considered non-readable.- See Also:
-
CHANGED
public static final byte CHANGEDBit mask used to indicate a byte has changed since the last suspend event.- See Also:
-
HISTORY_KNOWN
public static final byte HISTORY_KNOWNBit mask used to indicate a memory byte has history to determine if its value has changed. When a memory byte's history is unknown, the change state has no meaning.- See Also:
-
BIG_ENDIAN
public static final byte BIG_ENDIANBit mask used to indicate a this byte of memory is big endian. If this byte of memory is little endian, turn this bit mask to off.- See Also:
-
ENDIANESS_KNOWN
public static final byte ENDIANESS_KNOWNBit mask used to indicate that the endianess of this byte of memory is known. When a memory byte's endianess is unknown, the endianess of this byte has no meaning.- See Also:
-
value
protected byte valueValue of this byte. -
flags
protected byte flagsAttribute flags.To specify READABLE: flags |= MemoryByte.READABLE; To specify WRITABLE: flags |= MemoryByte.WRITABLE;
-
-
Constructor Details
-
MemoryByte
public MemoryByte()Constructs a readable, writable memory byte without a change history, and a value of 0. The byte's endianess is known and is little endian by default. -
MemoryByte
public MemoryByte(byte byteValue) Constructs a readable, writable memory byte without a change history, with the given value. The byte's endianess is known and is little endian by default.- Parameters:
byteValue
- value of this memory byte
-
MemoryByte
public MemoryByte(byte byteValue, byte byteFlags) Constructs a memory byte with the given value and attributes.- Parameters:
byteValue
- value of this memory bytebyteFlags
- attributes of the byte specified as a bit mask
-
-
Method Details
-
getFlags
public byte getFlags()Returns this memory byte's attribute as a bit mask.- Returns:
- this memory byte's attribute as a bit mask
-
setFlags
public void setFlags(byte flags) Sets this memory byte's attributes based on the given bit mask.- Parameters:
flags
- bit mask of attributes
-
getValue
public byte getValue()Returns the value of this memory byte.- Returns:
- the value of this memory byte
-
setValue
public void setValue(byte value) Sets the value of this memory byte.- Parameters:
value
- the new value of this memory byte
-
setReadable
public void setReadable(boolean readable) Sets whether this memory byte is readable. A memory byte is considered readable when its value and attributes are retrievable.- Parameters:
readable
- whether this memory byte is readable
-
isReadable
public boolean isReadable()Returns whether this memory byte is readable. A memory byte is considered readable when its value and attributes are retrievable.- Returns:
- whether this memory byte is readable
-
setWritable
public void setWritable(boolean writable) Sets whether this memory byte is writable.- Parameters:
writable
- whether this memory byte is writable.
-
isWritable
public boolean isWritable()Returns whether this memory byte is writable.- Returns:
- whether this memory byte is writable
-
setChanged
public void setChanged(boolean changed) Sets whether this memory byte has changed.- Parameters:
changed
- whether this memory byte has changed
-
isChanged
public boolean isChanged()Returns whether this memory byte has changed.- Returns:
- whether this memory byte has changed
-
setHistoryKnown
public void setHistoryKnown(boolean known) Sets whether the history of this byte is known. When history is unknown, the change state of a memory byte has no meaning.- Parameters:
known
- whether the change state of this byte is known
-
isHistoryKnown
public boolean isHistoryKnown()Returns whether the history of this byte is known. When history is unknown, the change state of a memory byte has no meaning.- Returns:
- whether the change state of this byte is known
-
setBigEndian
public void setBigEndian(boolean isBigEndian) Sets whether this byte of memory is big endian.- Parameters:
isBigEndian
- whether the byte of memory is big endian.
-
isBigEndian
public boolean isBigEndian()Returns whether this byte of memory is big endian.- Returns:
- whether the byte of memory is big endian.
-
setEndianessKnown
public void setEndianessKnown(boolean isEndianessKnown) Sets whether the endianess of this byte of memory is known. If the endianess is unknown, the endianess of this byte has no meaning.- Parameters:
isEndianessKnown
- whether the endianess of this byte is known.
-
isEndianessKnown
public boolean isEndianessKnown()Returns whether the endianess of this byte of memory is known. If the endianess is unknown, the endianess of this byte has no meaning.- Returns:
- whether the endianess of this byte of memory is known.
-