public static final class MSBearerCapability.GSM extends AbstractLazyEncodedByteArray implements FastSerializable
The API offered by this class is as if the type were specified in ASN.1 as follows.
GSM ::= SEQUENCE { transferMode TransferMode, radioChannelReq RadioChannelReq, content Content }The class takes care of encoding the field values into a byte-array and decoding field values from a byte-array, the encoded representation being as tabulated below.
Data Encoding - based on 3GPP TS 24.008 v4.17.0 (2007-09) §10.5.4.5 pp343-361 | ||||||||
---|---|---|---|---|---|---|---|---|
8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | |
Octet 3 | ext. 0/1 | Radio channel requirement | Spare | Transfer mode | Information transfer capability | |||
Octet 3a* | ext. 0/1 | Coding (0) | CTM | Spare (0) | Speech version indication | |||
Octet 3b etc* | ext. 0/1 | Coding (0) | Spare (0) | Spare (0) | Speech version indication | |||
Octet 4* | ext. 1 | Compression | Structure | Duplex mode | Configuration | NIRR | Establishment | |
Octet 5* | ext. 0/1 | Access id. (00) | Rate adaption | Signalling access protocol | ||||
Octet 5a* | ext. 0/1 | Other ITC | Other rate adaption | Spare (000) | ||||
Octet 5b* | ext. 1 | Hdr/No Hdr | Multiframe | Mode | Logical link identifier | Assignor/ee | Inband negotiation | Spare (0) |
Octet 6* | ext. 0/1 | Layer 1 id. (01) | User information layer 1 protocol | Async? | ||||
Octet 6a* | ext. 0/1 | Number of stop bits | Negotiation | Number of data bits | User rate | |||
Octet 6b* | ext. 0/1 | Intermediate rate | NIC on Tx | NIC on Rx | Parity | |||
Octet 6c* | ext. 0/1 | Connection element | Modem type | |||||
Octet 6d* | ext. 0/1 | Other modem type | Fixed network user rate | |||||
Octet 6e* | ext. 0/1 | Acceptable channel codings | Maximum number of traffic channels | |||||
Octet 6f* | ext. 0/1 | UIMI | Wanted air interface user rate | |||||
Octet 6g* | ext. 1 | Acceptable channel codings extended | Asymmetry indication | Spare (00) | ||||
Octet 7* | ext. 1 | Layer 2 id. (10) | User information layer 2 protocol |
Modifier and Type | Class and Description |
---|---|
static class |
MSBearerCapability.GSM.Content
Class Content is a choice between the speech and non-speech forms of a MSBearerCapability.
|
static class |
MSBearerCapability.GSM.RadioChannelReq
MSBearerCapability Radio channel requirement constants.
|
static class |
MSBearerCapability.GSM.TransferMode
Enumeration of Information Transfer Mode constants.
|
isDecoded
encoded
FIELD_ABSENT, FIELD_UNINITIALISED
Constructor and Description |
---|
MSBearerCapability.GSM()
Constructs a new GSM object with no fields set.
|
MSBearerCapability.GSM(byte[] data)
Constructs a new GSM object from network-encoded data.
|
MSBearerCapability.GSM(byte[] data,
int start,
int len)
Constructs a new GSM object from part of network-encoded data.
|
MSBearerCapability.GSM(DataInput in)
Constructs a new GSM object from data deserialized from a stream that was written by
toStream(DataOutput) . |
MSBearerCapability.GSM(MSBearerCapability.GSM.TransferMode transferMode,
MSBearerCapability.GSM.RadioChannelReq radioChannelReq,
MSBearerCapability.GSM.Content content)
Constructs a new GSM object from given values for all fields.
|
Modifier and Type | Method and Description |
---|---|
void |
checkFieldsSet()
Checks that all mandatory fields are present.
|
MSBearerCapability.GSM |
clone()
Constructs a copy of this object and everything reachable from it.
|
static MSBearerCapability.GSM |
copyOf(MSBearerCapability.GSM from)
Creates a new object of this type, cloning the values of common fields from the given object of any subclass of the same base type.
|
protected void |
decode()
Computes the decoded form from the encoded form.
|
protected void |
encode()
Computes the encoded form from the decoded form.
|
protected boolean |
encodedIsInvalid()
Determines whether the encoded form is invalid.
|
static int |
getContainedLength(byte[] data,
int start,
int len)
Determines the length of the encoded value that commences at offset
start in the given data . |
MSBearerCapability.GSM.Content |
getContent()
Gets the value of the speech or non-speech content.
|
byte[] |
getEncodedForm()
Gets the encoded form.
|
static FieldAccessor[] |
getFieldAccessors()
Gets a new array of the accessors for fields of this type.
|
Map<String,Object> |
getFieldsMap(boolean withAbsents)
Gets a Map from field-name to field-value for the fields of a sequence.
|
MSBearerCapability.GSM.RadioChannelReq |
getRadioChannelReq()
Gets the value of the radio channel requirement.
|
MSBearerCapability.GSM.TransferMode |
getTransferMode()
Gets the value of the transfer mode.
|
boolean |
hasContent()
Tests whether the field Content has a value.
|
boolean |
hasRadioChannelReq()
Tests whether the field RadioChannelReq has a value.
|
boolean |
hasTransferMode()
Tests whether the field TransferMode has a value.
|
MSBearerCapability.GSM |
setContent(MSBearerCapability.GSM.Content value)
Sets the value of the speech or non-speech content.
|
MSBearerCapability.GSM |
setRadioChannelReq(MSBearerCapability.GSM.RadioChannelReq value)
Sets the value of the radio channel requirement.
|
MSBearerCapability.GSM |
setTransferMode(MSBearerCapability.GSM.TransferMode value)
Sets the value of the transfer mode.
|
void |
toStream(DataOutput out)
Serializes this object to a stream in a form suitable for reading by
MSBearerCapability.GSM(DataInput) . |
checkDecode, checkModifyAndDecode
equals, hashCode, toString
checkModify, isReadOnly, setReadOnly
public MSBearerCapability.GSM()
public MSBearerCapability.GSM(byte[] data)
data
- network-encoded dataNullPointerException
- if data is nullpublic MSBearerCapability.GSM(byte[] data, int start, int len)
start
and is len
bytes long.
The data is not decoded and might not be decodable.data
- network-encoded datastart
- starting offset of network-encoded data in byte arraylen
- default length if not predictableNullPointerException
- if data is nullIllegalArgumentException
- if len is negativepublic MSBearerCapability.GSM(MSBearerCapability.GSM.TransferMode transferMode, MSBearerCapability.GSM.RadioChannelReq radioChannelReq, MSBearerCapability.GSM.Content content)
transferMode
- the transfer moderadioChannelReq
- the radio channel requirementcontent
- the speech or non-speech contentpublic MSBearerCapability.GSM(DataInput in) throws IOException
toStream(DataOutput)
.in
- the stream to read fromEOFException
- if reading is pre-empted by end-of-fileIOException
- if the data cannot be readpublic void toStream(DataOutput out) throws IOException
MSBearerCapability.GSM(DataInput)
.toStream
in interface FastSerializable
out
- the stream to write toIOException
- if an I/O error occurspublic boolean hasTransferMode() throws DecodeException
DecodeException
- if encoded state cannot be decodedpublic boolean hasRadioChannelReq() throws DecodeException
DecodeException
- if encoded state cannot be decodedpublic boolean hasContent() throws DecodeException
DecodeException
- if encoded state cannot be decodedpublic void checkFieldsSet() throws EncodeException
checkFieldsSet
in class AbstractLazyEncodedDataObject<byte[]>
EncodeException
- if any mandatory field is not presentpublic MSBearerCapability.GSM.TransferMode getTransferMode() throws DecodeException
DecodeException
- if encoded state cannot be decodedpublic MSBearerCapability.GSM.RadioChannelReq getRadioChannelReq() throws DecodeException
DecodeException
- if encoded state cannot be decodedpublic MSBearerCapability.GSM.Content getContent() throws DecodeException
DecodeException
- if encoded state cannot be decodedpublic MSBearerCapability.GSM setTransferMode(MSBearerCapability.GSM.TransferMode value) throws IllegalStateException
value
- TransferMode representation of the transfer modeIllegalStateException
public MSBearerCapability.GSM setRadioChannelReq(MSBearerCapability.GSM.RadioChannelReq value) throws IllegalStateException
value
- RadioChannelReq representation of the radio channel requirementIllegalStateException
public MSBearerCapability.GSM setContent(MSBearerCapability.GSM.Content value) throws IllegalStateException
value
- Content representation of the speech or non-speech contentIllegalStateException
public static MSBearerCapability.GSM copyOf(MSBearerCapability.GSM from)
from
- the object from which to copypublic MSBearerCapability.GSM clone()
clone
in interface DataObject
clone
in class AbstractDataObject
public static FieldAccessor[] getFieldAccessors()
public Map<String,Object> getFieldsMap(boolean withAbsents)
getFieldsMap
in class AbstractFieldsObject
withAbsents
- whether to put absent optional fields into Mapprotected boolean encodedIsInvalid()
public byte[] getEncodedForm() throws EncodeException
EncodeException
- if encoding failspublic static int getContainedLength(byte[] data, int start, int len)
start
in the given data
.
The value is not fully decoded and might not be decodable.
If the encoded value ends with a filling field,
then the given len
is returned.
If the encoded value is so currupt that its length cannot be determined,
then 0
is returned.data
- network-encoded datastart
- index into data where value commenceslen
- length in data to be consideredNullPointerException
- if data is nullprotected void encode() throws EncodeException
encode
in class AbstractLazyEncodedDataObject<byte[]>
EncodeException
- if encoding failsprotected void decode() throws DecodeException
decode
in class AbstractLazyEncodedDataObject<byte[]>
DecodeException
- if too few or too many octets to be decoded