public class TlsData
extends java.lang.Object
ArrayIndexOutOfBoundsException
erzeugt. Das übergebene tlsByte[] wird nicht verändert.Constructor and Description |
---|
TlsData(byte[] tlsBytes)
Konsturiert ein TlsData Objekt auf Basis der übergebenen tlsBytes[].
|
TlsData(int length)
Konsturiert ein TlsData Objekt auf Basis der übergebenen Größe.
|
Modifier and Type | Method and Description |
---|---|
void |
backStepReadPosition()
Setzt die Leseposition für den nächsten Zugriff auf den Wert vor dem letzten Zugriff.
|
int |
currentReadPosition()
Gibt die aktuelle Leseposition zurück.
|
int |
currentWritePosition()
Gibt die aktuelle Schreibposition zurück.
|
int |
lastReadPosition()
Gibt die Leseposition vor dem letzten Zugriff zurück.
|
int |
lastWritePosition()
Gibt die Schreibposition vor dem letzten Zugriff zurück.
|
int |
length()
Gibt die Länge (Anzahl der Bytes) der Daten zurück.
|
int |
readExtraHighHighLowByteAsHalfByteAsInt()
Liest drei TlsByte als ExtraHighByte, HighByte und LowByte und interpretiert diese jeweils als Halbbytes in
Dezimaldarstellung (0..999999).
|
int |
readHighLowByteAsHalfByteAsInt()
Liest zwei TlsByte als HighByte und LowByte und interpretiert diese jeweils als Halbbytes in Dezimaldarstellung
(0..9999).
|
TlsData |
readNextTlsDataBlock()
Erzeugt einen neues TlsData Objekt, indem es das Byte an der aktuellen Leseposition als Länge eines nachfolgenden
Datenblocks interpretiert und diesen nachfolgenden Datenblock liest und in ein TlsData-Objekt konvertiert.
|
TlsData |
readNextTlsDataBlock(int count)
Erzeugt einen neues TlsData Objekt, indem es ab der aktuellen Leseposition die übergebene Anzahl Bytes liest und in
ein TlsData-Objekt konvertiert.
|
int |
readSignedByteAsInt()
Liest ein TlsByte als vorzeichenbehafteten Wert (-128..127).
|
int |
readSignedLowHighByteAsInt()
Liest zwee TlsByte als als LowByte und HighByte vorzeichenbehaftet (-32640..32639).
|
int |
readUnsignedByteAsInt()
Liest ein TlsByte als vorzeichenlosen Wert (0..255).
|
int |
readUnsignedExtraHighHighLowByteAsInt()
Liest drei TlsByte als ExtaHighByte, HighByte und LowByte (0..16777215).
|
int |
readUnsignedHighLowByteAsInt()
Liest zwei TlsByte als HighByte und LowByte (0..65535).
|
int |
readUnsignedLowHighByteAsInt()
Liest zwei TlsByte als LowByte und HighByte (0..65535).
|
int |
readUnsignedLowHighExtraHighByteAsInt()
Liest drei TlsByte als LowByte, HighByte und ExtrHighByte (0..16777215).
|
int |
readUnsignedLowHighExtraHighVeryHighByteAsInt()
Liest vier TlsByte als LowByte, HighByte, ExtrHighByte und VeryHighByte.
|
int |
readUnsignedLowOrLowHighByteAsInt()
Liest ein oder zwei TlsByte als LowByte oder LowByte und HighByte (0..32767).
|
int |
readUnsignedVeryHighExtraHighHighLowByteAsInt()
Liest vier TlsByte als VeryHighByte, ExtaHighByte, HighByte und LowByte.
|
void |
rewindReadPosition()
Setzt die Leseposition auf den Anfang.
|
byte[] |
toBytes()
Gibt die Daten, die durch das TlsData-Objekt repräsentiert werden, als byte[] zurück.
|
java.lang.String |
toString()
Gibt den Inhalt als HexDump aus.
|
void |
writeByteArray(byte[] data)
Schreibt ein byte[] ab der aktuellen Schreibposition.
|
void |
writeIntAsByte(int data)
Schreibt ein TlsByte (0..255).
|
void |
writeIntAsByte(int data,
int index)
Schreibt ein TlsByte (0..255) an die angegebene Position.
|
void |
writeIntAsExtraHighHighLowByte(int data)
Schreibt drei "TlsByte" als ExtrHighByte, HighByte und LowByte (0..16777215).
|
void |
writeIntAsExtraHighHighLowByteAsHalfByte(int data)
Schreibt drei "TlsByte" als ExtraHighByte, HighByte und LowByte und interpretiert diese jeweils als Halbbytes in
Dezimaldarstellung (0..999999).
|
void |
writeIntAsHighLowByte(int data)
Schreibt zwei "TlsByte" als HighLowByte und LowByte (0..65535).
|
void |
writeIntAsHighLowByteAsHalfByte(int data)
Schreibt zwei "TlsByte" als HighByte und LowByte und interpretiert diese jeweils als Halbbytes in Dezimaldarstellung
(0..9999).
|
void |
writeIntAsLowHighByte(int data)
Schreibt zwei "TlsByte" als LowByte und HighByte (0..65535).
|
void |
writeIntAsLowHighExtraHighByte(int data)
Schreibt drei "TlsByte" als LowByte, HighByte und ExtrHighByte (0..16777215).
|
void |
writeTlsData(TlsData data)
Schreibt ein TlsData-Objekt ab der aktuellen Schreibposition.
|
public TlsData(byte[] tlsBytes)
tlsBytes
- Datenblock gemäß TLS.public TlsData(int length)
length
- Initiale Länge des TlsData-Objekts.public java.lang.String toString()
toString
in class java.lang.Object
public void backStepReadPosition()
public int currentReadPosition()
public int currentWritePosition()
public int lastReadPosition()
public int lastWritePosition()
public int readExtraHighHighLowByteAsHalfByteAsInt()
public int readHighLowByteAsHalfByteAsInt()
public TlsData readNextTlsDataBlock()
public int readUnsignedByteAsInt()
public TlsData readNextTlsDataBlock(int count)
count
- Anzahl der zu lesenden Byte.public byte[] toBytes()
java.lang.IllegalArgumentException
- Wenn im zu konvertierenden int-Array Werte außerhalb des Bereich 0-255 vorkommen.public int length()
public int readSignedByteAsInt()
public int readSignedLowHighByteAsInt()
public int readUnsignedExtraHighHighLowByteAsInt()
public int readUnsignedHighLowByteAsInt()
public int readUnsignedLowHighByteAsInt()
public int readUnsignedLowHighExtraHighByteAsInt()
public int readUnsignedLowHighExtraHighVeryHighByteAsInt()
public int readUnsignedLowOrLowHighByteAsInt()
public int readUnsignedVeryHighExtraHighHighLowByteAsInt()
public void rewindReadPosition()
public void writeByteArray(byte[] data)
data
- Das zu scheibende byte[].public void writeIntAsByte(int data)
data
- Der zu konvertierende Wert.public void writeIntAsByte(int data, int index)
data
- Der zu konvertierende Wert.index
- Index des TLSBytes, welcher geschrieben werden soll.public void writeIntAsExtraHighHighLowByte(int data)
data
- Der zu konvertierende Wert.public void writeIntAsExtraHighHighLowByteAsHalfByte(int data)
data
- Der zu konvertierende Wert.public void writeIntAsHighLowByte(int data)
data
- Der zu konvertierende Wert.public void writeIntAsHighLowByteAsHalfByte(int data)
data
- Der zu konvertierende Wert.public void writeIntAsLowHighByte(int data)
data
- Der zu konvertierende Wert.public void writeIntAsLowHighExtraHighByte(int data)
data
- Der zu konvertierende Wert.public void writeTlsData(TlsData data)
data
- Das zu scheibende byte[].