public static final class BearerCapability.ITU_T extends AbstractLazyEncodedByteArray implements FastSerializable
The API offered by this class is as if the type were specified in ASN.1 as follows.
ITU_T ::= SEQUENCE { transferCapability TransferCapability, transferMode TransferMode, transferRate TransferRate, ericsson Ericsson OPTIONAL, rateMultiplier INTEGER OPTIONAL, layer1Capability Layer1Capability OPTIONAL, layer2Protocol Layer2Protocol OPTIONAL, layer3Capability Layer3Capability 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 ITU-T Q.931 (05/98) §4.5.5 p58 and a comment in Ericsson-INAP-CS1-Datatypes.asn | ||||||||
---|---|---|---|---|---|---|---|---|
8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | |
Octet 3 | ext. 1 | Coding standard (00) | Information transfer capability | |||||
Octet 4 | ext. 0/1 | Transfer mode | Information transfer rate | |||||
Octet 4a* | ext. 0/1 | Structure | Configuration | Establishment | ||||
Octet 4b* | ext. 1 | Symmetry | Reverse information transfer rate | |||||
Octet 4.1* | ext. 1 | Rate multiplier | ||||||
Octet 5* | ext. 0/1 | Layer 1 ident. (01) | User information layer 1 protocol | |||||
Octet 5a* | ext. 0/1 | Asynch? | In-band negotiation | User rate | ||||
Octet 5b* | ext. 0/1 | Intermediate rate | NIC on Tx | NIC on Rx | Flow control on Tx | Flow control on Rx | Spare (0) | |
Octet 5b* | ext. 0/1 | Rate adaptation header | Multiframe | Mode | LLI negotiation | Message originator | Negotiation | Spare (0) |
Octet 5c* | ext. 0/1 | Number of stop bits | Number of data bits | Parity | ||||
Octet 5d* | ext. 1 | Duplex mode | Modem type | |||||
Octet 6* | ext. 1 | Layer 2 ident. (10) | User information layer 2 protocol | |||||
Octet 7* | ext. 0 | Layer 3 ident. (11) | User information layer 3 protocol | |||||
Octet 7a* | ext. 0 | Spare (000) | Additional layer 3 protocol information (most significant bits) | |||||
Octet 7b* | ext. 1 | Spare (000) | Additional layer 3 protocol information (least significant bits) |
Modifier and Type | Class and Description |
---|---|
static class |
BearerCapability.ITU_T.Ericsson
Class Ericsson represents the Ericsson-specific data within a BearerCapability.ITU_T.
|
static class |
BearerCapability.ITU_T.Layer1Capability
Class Layer1Capability represents the layer 1 capability within a BearerCapability.ITU_T.
|
static class |
BearerCapability.ITU_T.Layer2Protocol
ITU-T User Information Layer 2 Protocol constants.
|
static class |
BearerCapability.ITU_T.Layer3Capability
Class Layer3Capability represents the layer 3 capability within a BearerCapability.ITU_T.
|
static class |
BearerCapability.ITU_T.TransferCapability
ITU-T Information Transfer Capability constants.
|
static class |
BearerCapability.ITU_T.TransferMode
ITU-T Information Transfer Mode constants.
|
static class |
BearerCapability.ITU_T.TransferRate
ITU-T Information Transfer Rate constants.
|
isDecoded
encoded
FIELD_ABSENT, FIELD_UNINITIALISED
Constructor and Description |
---|
BearerCapability.ITU_T()
Constructs a new ITU_T object with no fields set.
|
BearerCapability.ITU_T(byte[] data)
Constructs a new ITU_T object from network-encoded data.
|
BearerCapability.ITU_T(byte[] data,
int start,
int len)
Constructs a new ITU_T object from part of network-encoded data.
|
BearerCapability.ITU_T(DataInput in)
Constructs a new ITU_T 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.
|
BearerCapability.ITU_T |
clone()
Constructs a copy of this object and everything reachable from it.
|
static BearerCapability.ITU_T |
copyOf(BearerCapability.ITU_T 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 . |
byte[] |
getEncodedForm()
Gets the encoded form.
|
BearerCapability.ITU_T.Ericsson |
getEricsson()
Gets the value of the Ericsson-specific data.
|
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.
|
BearerCapability.ITU_T.Layer1Capability |
getLayer1Capability()
Gets the value of the layer 1 capability.
|
BearerCapability.ITU_T.Layer2Protocol |
getLayer2Protocol()
Gets the value of the user information layer 2 protocol.
|
BearerCapability.ITU_T.Layer3Capability |
getLayer3Capability()
Gets the value of the layer 3 capability.
|
int |
getRateMultiplier()
Gets the value of the rate multiplier, relevant if TransferRate is MULTIRATE.
|
BearerCapability.ITU_T.TransferCapability |
getTransferCapability()
Gets the value of the information transfer capability.
|
BearerCapability.ITU_T.TransferMode |
getTransferMode()
Gets the value of the transfer mode.
|
BearerCapability.ITU_T.TransferRate |
getTransferRate()
Gets the value of the information transfer rate.
|
boolean |
hasEricsson()
Tests whether the field Ericsson has a value.
|
boolean |
hasLayer1Capability()
Tests whether the field Layer1Capability has a value.
|
boolean |
hasLayer2Protocol()
Tests whether the field Layer2Protocol has a value.
|
boolean |
hasLayer3Capability()
Tests whether the field Layer3Capability has a value.
|
boolean |
hasRateMultiplier()
Tests whether the field RateMultiplier has a value.
|
boolean |
hasTransferCapability()
Tests whether the field TransferCapability has a value.
|
boolean |
hasTransferMode()
Tests whether the field TransferMode has a value.
|
boolean |
hasTransferRate()
Tests whether the field TransferRate has a value.
|
BearerCapability.ITU_T |
setEricsson(BearerCapability.ITU_T.Ericsson value)
Sets the value of the Ericsson-specific data.
|
BearerCapability.ITU_T |
setLayer1Capability(BearerCapability.ITU_T.Layer1Capability value)
Sets the value of the layer 1 capability.
|
BearerCapability.ITU_T |
setLayer2Protocol(BearerCapability.ITU_T.Layer2Protocol value)
Sets the value of the user information layer 2 protocol.
|
BearerCapability.ITU_T |
setLayer3Capability(BearerCapability.ITU_T.Layer3Capability value)
Sets the value of the layer 3 capability.
|
BearerCapability.ITU_T |
setRateMultiplier(int value)
Sets the value of the rate multiplier, relevant if TransferRate is MULTIRATE.
|
BearerCapability.ITU_T |
setRateMultiplierPresent(boolean flag)
Sets the presence or absence of the field RateMultiplier.
|
void |
setReadOnly()
Sets this and all its fields to be immutable.
|
BearerCapability.ITU_T |
setTransferCapability(BearerCapability.ITU_T.TransferCapability value)
Sets the value of the information transfer capability.
|
BearerCapability.ITU_T |
setTransferMode(BearerCapability.ITU_T.TransferMode value)
Sets the value of the transfer mode.
|
BearerCapability.ITU_T |
setTransferRate(BearerCapability.ITU_T.TransferRate value)
Sets the value of the information transfer rate.
|
void |
toStream(DataOutput out)
Serializes this object to a stream in a form suitable for reading by
BearerCapability.ITU_T(DataInput) . |
checkDecode, checkModifyAndDecode
equals, hashCode, toString
checkModify, isReadOnly
public BearerCapability.ITU_T()
public BearerCapability.ITU_T(byte[] data)
data
- network-encoded dataNullPointerException
- if data is nullpublic BearerCapability.ITU_T(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 BearerCapability.ITU_T(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
BearerCapability.ITU_T(DataInput)
.toStream
in interface FastSerializable
out
- the stream to write toIOException
- if an I/O error occurspublic boolean hasTransferCapability() throws DecodeException
DecodeException
- if encoded state cannot be decodedpublic boolean hasTransferMode() throws DecodeException
DecodeException
- if encoded state cannot be decodedpublic boolean hasTransferRate() throws DecodeException
DecodeException
- if encoded state cannot be decodedpublic boolean hasEricsson() throws DecodeException
DecodeException
- if encoded state cannot be decodedpublic boolean hasRateMultiplier() throws DecodeException
DecodeException
- if encoded state cannot be decodedpublic BearerCapability.ITU_T setRateMultiplierPresent(boolean flag) throws IllegalStateException
flag
- whether the field should be marked as presentIllegalStateException
- if this instance has been marked as read-onlypublic boolean hasLayer1Capability() throws DecodeException
DecodeException
- if encoded state cannot be decodedpublic boolean hasLayer2Protocol() throws DecodeException
DecodeException
- if encoded state cannot be decodedpublic boolean hasLayer3Capability() 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 BearerCapability.ITU_T.TransferCapability getTransferCapability() throws DecodeException
DecodeException
- if encoded state cannot be decodedpublic BearerCapability.ITU_T.TransferMode getTransferMode() throws DecodeException
DecodeException
- if encoded state cannot be decodedpublic BearerCapability.ITU_T.TransferRate getTransferRate() throws DecodeException
DecodeException
- if encoded state cannot be decodedpublic BearerCapability.ITU_T.Ericsson getEricsson() throws DecodeException
DecodeException
- if encoded state cannot be decodedpublic int getRateMultiplier() throws DecodeException
DecodeException
- if encoded state cannot be decodedpublic BearerCapability.ITU_T.Layer1Capability getLayer1Capability() throws DecodeException
DecodeException
- if encoded state cannot be decodedpublic BearerCapability.ITU_T.Layer2Protocol getLayer2Protocol() throws DecodeException
DecodeException
- if encoded state cannot be decodedpublic BearerCapability.ITU_T.Layer3Capability getLayer3Capability() throws DecodeException
DecodeException
- if encoded state cannot be decodedpublic BearerCapability.ITU_T setTransferCapability(BearerCapability.ITU_T.TransferCapability value) throws IllegalStateException
value
- TransferCapability representation of the information transfer capabilityIllegalStateException
public BearerCapability.ITU_T setTransferMode(BearerCapability.ITU_T.TransferMode value) throws IllegalStateException
value
- TransferMode representation of the transfer modeIllegalStateException
public BearerCapability.ITU_T setTransferRate(BearerCapability.ITU_T.TransferRate value) throws IllegalStateException
value
- TransferRate representation of the information transfer rateIllegalStateException
public BearerCapability.ITU_T setEricsson(BearerCapability.ITU_T.Ericsson value) throws IllegalStateException
value
- Ericsson representation of the Ericsson-specific dataIllegalStateException
public BearerCapability.ITU_T setRateMultiplier(int value) throws IllegalStateException
value
- int representation of the rate multiplier, relevant if TransferRate is MULTIRATEIllegalStateException
public BearerCapability.ITU_T setLayer1Capability(BearerCapability.ITU_T.Layer1Capability value) throws IllegalStateException
value
- Layer1Capability representation of the layer 1 capabilityIllegalStateException
public BearerCapability.ITU_T setLayer2Protocol(BearerCapability.ITU_T.Layer2Protocol value) throws IllegalStateException
value
- Layer2Protocol representation of the user information layer 2 protocolIllegalStateException
public BearerCapability.ITU_T setLayer3Capability(BearerCapability.ITU_T.Layer3Capability value) throws IllegalStateException
value
- Layer3Capability representation of the layer 3 capabilityIllegalStateException
public static BearerCapability.ITU_T copyOf(BearerCapability.ITU_T from)
from
- the object from which to copypublic BearerCapability.ITU_T clone()
clone
in interface DataObject
clone
in class AbstractDataObject
public void setReadOnly()
setReadOnly
in interface DataObject
setReadOnly
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 RateMultiplier required but omittedprotected void decode() throws DecodeException
decode
in class AbstractLazyEncodedDataObject<byte[]>
DecodeException
- if too few or too many octets to be decoded, or RateMultiplier required but omitted