public static final class SMSDataCodingScheme.MessageCodingScheme extends AbstractLazyEncodedNamedInteger<SMSDataCodingScheme.MessageCodingScheme.EncodedValue>
The API offered by this class is as if the type were specified in ASN.1 as follows.
MessageCodingScheme ::= SEQUENCE {
messageCoding MessageCoding,
messageClass MessageClass
}
The class takes care of encoding the field values into a NamedInteger
and decoding field values from a NamedInteger,
the encoded representation being as tabulated below.
| Data Encoding - based on 3GPP TS 23.038 V8.2.0 (2008-09) §4 pp8-10 | ||||||||
|---|---|---|---|---|---|---|---|---|
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
| Octet 0 | 0 | 0 | 0 | 0 | 0 | Message coding | Message class | |
| Modifier and Type | Class and Description |
|---|---|
static class |
SMSDataCodingScheme.MessageCodingScheme.EncodedValue
Representation of MessageCodingScheme values as NamedIntegers.
|
static class |
SMSDataCodingScheme.MessageCodingScheme.MessageCoding
Enumeration of Message Coding constants.
|
isDecodedencodedFIELD_ABSENT, FIELD_UNINITIALISED| Constructor and Description |
|---|
SMSDataCodingScheme.MessageCodingScheme()
Constructs a new MessageCodingScheme object with no fields set.
|
SMSDataCodingScheme.MessageCodingScheme(byte[] data)
Constructs a new MessageCodingScheme object from network-encoded data.
|
SMSDataCodingScheme.MessageCodingScheme(byte[] data,
int start,
int len)
Constructs a new MessageCodingScheme object from part of network-encoded data.
|
SMSDataCodingScheme.MessageCodingScheme(DataInput in)
Constructs a new MessageCodingScheme object from data deserialized from a stream that was written by
toStream(DataOutput). |
SMSDataCodingScheme.MessageCodingScheme(int arg)
Constructs a new MessageCodingScheme object from the given int,
making it be read-only (immutable).
|
SMSDataCodingScheme.MessageCodingScheme(SMSDataCodingScheme.MessageCodingScheme.MessageCoding messageCoding,
SMSDataCodingScheme.MessageClass messageClass)
Constructs a new MessageCodingScheme object from given values for all fields.
|
| Modifier and Type | Method and Description |
|---|---|
void |
checkFieldsSet()
Checks that all mandatory fields are present.
|
SMSDataCodingScheme.MessageCodingScheme |
clone()
Constructs a copy of this object and everything reachable from it.
|
static SMSDataCodingScheme.MessageCodingScheme |
copyOf(SMSDataCodingScheme.MessageCodingScheme 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.
|
protected SMSDataCodingScheme.MessageCodingScheme.EncodedValue |
fromValue(int value)
Converts an int to a NamedInteger.
|
byte[] |
getByteArrayForm()
Gets the byte array encoded form.
|
SMSDataCodingScheme.MessageCodingScheme.EncodedValue |
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.
|
SMSDataCodingScheme.MessageClass |
getMessageClass()
Gets the value of the message class.
|
SMSDataCodingScheme.MessageCodingScheme.MessageCoding |
getMessageCoding()
Gets the value of the message coding.
|
boolean |
hasMessageClass()
Tests whether the field MessageClass has a value.
|
boolean |
hasMessageCoding()
Tests whether the field MessageCoding has a value.
|
SMSDataCodingScheme.MessageCodingScheme |
setMessageClass(SMSDataCodingScheme.MessageClass value)
Sets the value of the message class.
|
SMSDataCodingScheme.MessageCodingScheme |
setMessageCoding(SMSDataCodingScheme.MessageCodingScheme.MessageCoding value)
Sets the value of the message coding.
|
void |
toStream(DataOutput out)
Serializes this object to a stream in a form suitable for reading by
SMSDataCodingScheme.MessageCodingScheme(DataInput). |
checkDecode, checkModifyAndDecodeequals, hashCode, toStringcheckModify, isReadOnly, setReadOnlypublic SMSDataCodingScheme.MessageCodingScheme()
public SMSDataCodingScheme.MessageCodingScheme(byte[] data)
data - network-encoded dataNullPointerException - if data is nullpublic SMSDataCodingScheme.MessageCodingScheme(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 SMSDataCodingScheme.MessageCodingScheme(SMSDataCodingScheme.MessageCodingScheme.MessageCoding messageCoding, SMSDataCodingScheme.MessageClass messageClass)
messageCoding - the message codingmessageClass - the message classpublic SMSDataCodingScheme.MessageCodingScheme(int arg)
arg - intpublic SMSDataCodingScheme.MessageCodingScheme(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
SMSDataCodingScheme.MessageCodingScheme(DataInput).out - the stream to write toIOException - if an I/O error occurspublic boolean hasMessageCoding()
throws DecodeException
DecodeException - if encoded state cannot be decodedpublic boolean hasMessageClass()
throws DecodeException
DecodeException - if encoded state cannot be decodedpublic void checkFieldsSet()
throws EncodeException
checkFieldsSet in class AbstractLazyEncodedDataObject<SMSDataCodingScheme.MessageCodingScheme.EncodedValue>EncodeException - if any mandatory field is not presentpublic SMSDataCodingScheme.MessageCodingScheme.MessageCoding getMessageCoding() throws DecodeException
DecodeException - if encoded state cannot be decodedpublic SMSDataCodingScheme.MessageClass getMessageClass() throws DecodeException
DecodeException - if encoded state cannot be decodedpublic SMSDataCodingScheme.MessageCodingScheme setMessageCoding(SMSDataCodingScheme.MessageCodingScheme.MessageCoding value) throws IllegalStateException
value - MessageCoding representation of the message codingIllegalStateExceptionpublic SMSDataCodingScheme.MessageCodingScheme setMessageClass(SMSDataCodingScheme.MessageClass value) throws IllegalStateException
value - MessageClass representation of the message classIllegalStateExceptionpublic static SMSDataCodingScheme.MessageCodingScheme copyOf(SMSDataCodingScheme.MessageCodingScheme from)
from - the object from which to copypublic SMSDataCodingScheme.MessageCodingScheme clone()
clone in interface DataObjectclone 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 SMSDataCodingScheme.MessageCodingScheme.EncodedValue getEncodedForm() throws EncodeException
EncodeException - if encoding failspublic byte[] getByteArrayForm()
throws EncodeException
EncodeException - if encoding failsprotected SMSDataCodingScheme.MessageCodingScheme.EncodedValue fromValue(int value)
fromValue in class AbstractLazyEncodedNamedInteger<SMSDataCodingScheme.MessageCodingScheme.EncodedValue>value - intprotected void encode()
encode in class AbstractLazyEncodedDataObject<SMSDataCodingScheme.MessageCodingScheme.EncodedValue>protected void decode()
decode in class AbstractLazyEncodedDataObject<SMSDataCodingScheme.MessageCodingScheme.EncodedValue>