public static final class MSBearerCapability.GSM.Content.NonSpeech.Layer1Capability.O6a.O6b extends AbstractLazyEncodedByteArray
The API offered by this class is as if the type were specified in ASN.1 as follows.
O6b ::= SEQUENCE { parity Parity, networkIndependentClockOnReceive NetworkIndependentClockOnReceive, networkIndependentClockOnTransmit NetworkIndependentClockOnTransmit, intermediateRate IntermediateRate, o6c O6c OPTIONAL }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 6b* | Spare | 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) |
There is a static condition in standard 24.008 that says if octet 6b is present then octet 6c shall also be present, in the GSM encoding. Contradicting that, the standard allows the ext bit in octet 6b to be 1, which would indicate that there is no following octet 6c. As a compromise, this API offers field O6c as an OPTIONAL field, but with this recommendation: you should always provide a value for field O6c.
Modifier and Type | Class and Description |
---|---|
static class |
MSBearerCapability.GSM.Content.NonSpeech.Layer1Capability.O6a.O6b.IntermediateRate
IntermediateRate constants.
|
static class |
MSBearerCapability.GSM.Content.NonSpeech.Layer1Capability.O6a.O6b.NetworkIndependentClockOnReceive
Enumeration of Network Independent Clock On Receive constants.
|
static class |
MSBearerCapability.GSM.Content.NonSpeech.Layer1Capability.O6a.O6b.NetworkIndependentClockOnTransmit
Enumeration of Network Independent Clock On Transmit constants.
|
static class |
MSBearerCapability.GSM.Content.NonSpeech.Layer1Capability.O6a.O6b.O6c
Class O6c represents data that is relevant to octets 6c* to 6g*.
|
static class |
MSBearerCapability.GSM.Content.NonSpeech.Layer1Capability.O6a.O6b.Parity
Parity constants.
|
isDecoded
encoded
FIELD_ABSENT, FIELD_UNINITIALISED
Constructor and Description |
---|
MSBearerCapability.GSM.Content.NonSpeech.Layer1Capability.O6a.O6b()
Constructs a new O6b object with no fields set.
|
MSBearerCapability.GSM.Content.NonSpeech.Layer1Capability.O6a.O6b(byte[] data)
Constructs a new O6b object from network-encoded data.
|
MSBearerCapability.GSM.Content.NonSpeech.Layer1Capability.O6a.O6b(byte[] data,
int start,
int len)
Constructs a new O6b object from part of network-encoded data.
|
MSBearerCapability.GSM.Content.NonSpeech.Layer1Capability.O6a.O6b(DataInput in)
Constructs a new O6b object from data deserialized from a stream that was written by
toStream(DataOutput) . |
checkDecode, checkModifyAndDecode
equals, hashCode, toString
checkModify, isReadOnly, setReadOnly
public MSBearerCapability.GSM.Content.NonSpeech.Layer1Capability.O6a.O6b()
public MSBearerCapability.GSM.Content.NonSpeech.Layer1Capability.O6a.O6b(byte[] data)
data
- network-encoded dataNullPointerException
- if data is nullpublic MSBearerCapability.GSM.Content.NonSpeech.Layer1Capability.O6a.O6b(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.Content.NonSpeech.Layer1Capability.O6a.O6b(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.Content.NonSpeech.Layer1Capability.O6a.O6b(DataInput)
.out
- the stream to write toIOException
- if an I/O error occurspublic boolean hasParity() throws DecodeException
DecodeException
- if encoded state cannot be decodedpublic boolean hasNetworkIndependentClockOnReceive() throws DecodeException
DecodeException
- if encoded state cannot be decodedpublic boolean hasNetworkIndependentClockOnTransmit() throws DecodeException
DecodeException
- if encoded state cannot be decodedpublic boolean hasIntermediateRate() throws DecodeException
DecodeException
- if encoded state cannot be decodedpublic boolean hasO6c() 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.Content.NonSpeech.Layer1Capability.O6a.O6b.Parity getParity() throws DecodeException
DecodeException
- if encoded state cannot be decodedpublic MSBearerCapability.GSM.Content.NonSpeech.Layer1Capability.O6a.O6b.NetworkIndependentClockOnReceive getNetworkIndependentClockOnReceive() throws DecodeException
DecodeException
- if encoded state cannot be decodedpublic MSBearerCapability.GSM.Content.NonSpeech.Layer1Capability.O6a.O6b.NetworkIndependentClockOnTransmit getNetworkIndependentClockOnTransmit() throws DecodeException
DecodeException
- if encoded state cannot be decodedpublic MSBearerCapability.GSM.Content.NonSpeech.Layer1Capability.O6a.O6b.IntermediateRate getIntermediateRate() throws DecodeException
DecodeException
- if encoded state cannot be decodedpublic MSBearerCapability.GSM.Content.NonSpeech.Layer1Capability.O6a.O6b.O6c getO6c() throws DecodeException
DecodeException
- if encoded state cannot be decodedpublic MSBearerCapability.GSM.Content.NonSpeech.Layer1Capability.O6a.O6b setParity(MSBearerCapability.GSM.Content.NonSpeech.Layer1Capability.O6a.O6b.Parity value) throws IllegalStateException
value
- Parity representation of the parity informationIllegalStateException
public MSBearerCapability.GSM.Content.NonSpeech.Layer1Capability.O6a.O6b setNetworkIndependentClockOnReceive(MSBearerCapability.GSM.Content.NonSpeech.Layer1Capability.O6a.O6b.NetworkIndependentClockOnReceive value) throws IllegalStateException
value
- NetworkIndependentClockOnReceive representation of the network independent clock (NIC) on reception (Rx)IllegalStateException
public MSBearerCapability.GSM.Content.NonSpeech.Layer1Capability.O6a.O6b setNetworkIndependentClockOnTransmit(MSBearerCapability.GSM.Content.NonSpeech.Layer1Capability.O6a.O6b.NetworkIndependentClockOnTransmit value) throws IllegalStateException
value
- NetworkIndependentClockOnTransmit representation of the network independent clock (NIC) on transmission (Tx)IllegalStateException
public MSBearerCapability.GSM.Content.NonSpeech.Layer1Capability.O6a.O6b setIntermediateRate(MSBearerCapability.GSM.Content.NonSpeech.Layer1Capability.O6a.O6b.IntermediateRate value) throws IllegalStateException
value
- IntermediateRate representation of the V.110/X.30 rate adaptation Intermediate rateIllegalStateException
public MSBearerCapability.GSM.Content.NonSpeech.Layer1Capability.O6a.O6b setO6c(MSBearerCapability.GSM.Content.NonSpeech.Layer1Capability.O6a.O6b.O6c value) throws IllegalStateException
value
- O6c representation of the octets 6c*..6g*IllegalStateException
public static MSBearerCapability.GSM.Content.NonSpeech.Layer1Capability.O6a.O6b copyOf(MSBearerCapability.GSM.Content.NonSpeech.Layer1Capability.O6a.O6b from)
from
- the object from which to copypublic MSBearerCapability.GSM.Content.NonSpeech.Layer1Capability.O6a.O6b 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 failsprotected void encode() throws EncodeException
encode
in class AbstractLazyEncodedDataObject<byte[]>
EncodeException
- if any mandatory field is out of rangeprotected void decode() throws DecodeException
decode
in class AbstractLazyEncodedDataObject<byte[]>
DecodeException
- if too mnay or too few octets