public static final class MSBearerCapability.GSM.Content.NonSpeech extends AbstractLazyEncodedByteArray implements FastSerializable
The API offered by this class is as if the type were specified in ASN.1 as follows.
NonSpeech ::= SEQUENCE {
transferCapability TransferCapability,
dataProtocol DataProtocol OPTIONAL,
access Access OPTIONAL,
layer1Capability Layer1Capability OPTIONAL,
layer2Protocol Layer2Protocol 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 3 | Spare | Information transfer capability | ||||||
| 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.NonSpeech.Access
Class Access represents flow control of data within a MSBearerCapability.
|
static class |
MSBearerCapability.GSM.Content.NonSpeech.DataProtocol
Class DataProtocol represents the non-speech coding of data within a MSBearerCapability.
|
static class |
MSBearerCapability.GSM.Content.NonSpeech.Layer1Capability
Class Layer1Capability represents the layer 1 capability within a MSBearerCapability.
|
static class |
MSBearerCapability.GSM.Content.NonSpeech.Layer2Protocol
User Information Layer 2 Protocol constants.
|
static class |
MSBearerCapability.GSM.Content.NonSpeech.TransferCapability
MSBearerCapability Information transfer capability constants.
|
isDecodedencodedFIELD_ABSENT, FIELD_UNINITIALISED| Constructor and Description |
|---|
MSBearerCapability.GSM.Content.NonSpeech()
Constructs a new NonSpeech object with no fields set.
|
MSBearerCapability.GSM.Content.NonSpeech(byte[] data)
Constructs a new NonSpeech object from network-encoded data.
|
MSBearerCapability.GSM.Content.NonSpeech(byte[] data,
int start,
int len)
Constructs a new NonSpeech object from part of network-encoded data.
|
MSBearerCapability.GSM.Content.NonSpeech(DataInput in)
Constructs a new NonSpeech object from data deserialized from a stream that was written by
toStream(DataOutput). |
| Modifier and Type | Method and Description |
|---|---|
void |
checkFieldsSet()
Checks that all mandatory fields are present.
|
MSBearerCapability.GSM.Content.NonSpeech |
clone()
Constructs a copy of this object and everything reachable from it.
|
static MSBearerCapability.GSM.Content.NonSpeech |
copyOf(MSBearerCapability.GSM.Content.NonSpeech 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.
|
MSBearerCapability.GSM.Content.NonSpeech.Access |
getAccess()
Gets the value of the access indentifier.
|
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.NonSpeech.DataProtocol |
getDataProtocol()
Gets the value of the data protocol.
|
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.Content.NonSpeech.Layer1Capability |
getLayer1Capability()
Gets the value of the layer 1 capability.
|
MSBearerCapability.GSM.Content.NonSpeech.Layer2Protocol |
getLayer2Protocol()
Gets the value of the user information layer 2 protocol.
|
MSBearerCapability.GSM.Content.NonSpeech.TransferCapability |
getTransferCapability()
Gets the value of the information transfer capability.
|
boolean |
hasAccess()
Tests whether the field Access has a value.
|
boolean |
hasDataProtocol()
Tests whether the field DataProtocol has a value.
|
boolean |
hasLayer1Capability()
Tests whether the field Layer1Capability has a value.
|
boolean |
hasLayer2Protocol()
Tests whether the field Layer2Protocol has a value.
|
boolean |
hasTransferCapability()
Tests whether the field TransferCapability has a value.
|
MSBearerCapability.GSM.Content.NonSpeech |
setAccess(MSBearerCapability.GSM.Content.NonSpeech.Access value)
Sets the value of the access indentifier.
|
MSBearerCapability.GSM.Content.NonSpeech |
setDataProtocol(MSBearerCapability.GSM.Content.NonSpeech.DataProtocol value)
Sets the value of the data protocol.
|
MSBearerCapability.GSM.Content.NonSpeech |
setLayer1Capability(MSBearerCapability.GSM.Content.NonSpeech.Layer1Capability value)
Sets the value of the layer 1 capability.
|
MSBearerCapability.GSM.Content.NonSpeech |
setLayer2Protocol(MSBearerCapability.GSM.Content.NonSpeech.Layer2Protocol value)
Sets the value of the user information layer 2 protocol.
|
void |
setReadOnly()
Sets this and all its fields to be immutable.
|
MSBearerCapability.GSM.Content.NonSpeech |
setTransferCapability(MSBearerCapability.GSM.Content.NonSpeech.TransferCapability value)
Sets the value of the information transfer capability.
|
void |
toStream(DataOutput out)
Serializes this object to a stream in a form suitable for reading by
MSBearerCapability.GSM.Content.NonSpeech(DataInput). |
checkDecode, checkModifyAndDecodeequals, hashCode, toStringcheckModify, isReadOnlypublic MSBearerCapability.GSM.Content.NonSpeech()
public MSBearerCapability.GSM.Content.NonSpeech(byte[] data)
data - network-encoded dataNullPointerException - if data is nullpublic MSBearerCapability.GSM.Content.NonSpeech(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(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(DataInput).toStream in interface FastSerializableout - the stream to write toIOException - if an I/O error occurspublic boolean hasTransferCapability()
throws DecodeException
DecodeException - if encoded state cannot be decodedpublic boolean hasDataProtocol()
throws DecodeException
DecodeException - if encoded state cannot be decodedpublic boolean hasAccess()
throws DecodeException
DecodeException - if encoded state cannot be decodedpublic boolean hasLayer1Capability()
throws DecodeException
DecodeException - if encoded state cannot be decodedpublic boolean hasLayer2Protocol()
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.TransferCapability getTransferCapability() throws DecodeException
DecodeException - if encoded state cannot be decodedpublic MSBearerCapability.GSM.Content.NonSpeech.DataProtocol getDataProtocol() throws DecodeException
DecodeException - if encoded state cannot be decodedpublic MSBearerCapability.GSM.Content.NonSpeech.Access getAccess() throws DecodeException
DecodeException - if encoded state cannot be decodedpublic MSBearerCapability.GSM.Content.NonSpeech.Layer1Capability getLayer1Capability() throws DecodeException
DecodeException - if encoded state cannot be decodedpublic MSBearerCapability.GSM.Content.NonSpeech.Layer2Protocol getLayer2Protocol() throws DecodeException
DecodeException - if encoded state cannot be decodedpublic MSBearerCapability.GSM.Content.NonSpeech setTransferCapability(MSBearerCapability.GSM.Content.NonSpeech.TransferCapability value) throws IllegalStateException
value - TransferCapability representation of the information transfer capabilityIllegalStateExceptionpublic MSBearerCapability.GSM.Content.NonSpeech setDataProtocol(MSBearerCapability.GSM.Content.NonSpeech.DataProtocol value) throws IllegalStateException
value - DataProtocol representation of the data protocolIllegalStateExceptionpublic MSBearerCapability.GSM.Content.NonSpeech setAccess(MSBearerCapability.GSM.Content.NonSpeech.Access value) throws IllegalStateException
value - Access representation of the access indentifierIllegalStateExceptionpublic MSBearerCapability.GSM.Content.NonSpeech setLayer1Capability(MSBearerCapability.GSM.Content.NonSpeech.Layer1Capability value) throws IllegalStateException
value - Layer1Capability representation of the layer 1 capabilityIllegalStateExceptionpublic MSBearerCapability.GSM.Content.NonSpeech setLayer2Protocol(MSBearerCapability.GSM.Content.NonSpeech.Layer2Protocol value) throws IllegalStateException
value - Layer2Protocol representation of the user information layer 2 protocolIllegalStateExceptionpublic static MSBearerCapability.GSM.Content.NonSpeech copyOf(MSBearerCapability.GSM.Content.NonSpeech from)
from - the object from which to copypublic MSBearerCapability.GSM.Content.NonSpeech clone()
clone in interface DataObjectclone in class AbstractDataObjectpublic void setReadOnly()
setReadOnly in interface DataObjectsetReadOnly in class AbstractDataObjectpublic static FieldAccessor[] getFieldAccessors()
public Map<String,Object> getFieldsMap(boolean withAbsents)
getFieldsMap in class AbstractFieldsObjectwithAbsents - 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 Information transfer capability is speechprotected void decode()
throws DecodeException
decode in class AbstractLazyEncodedDataObject<byte[]>DecodeException - if too few or too many octets to be decoded