public static final class MSClassmark.MSClassmark2 extends AbstractLazyEncodedByteArray implements FastSerializable
The API offered by this class is as if the type were specified in ASN.1 as follows.
MSClassmark2 ::= SEQUENCE { iEI INTEGER, revisionLevel RevisionLevel, esIndicator ESIndicator, a51Algorithm A51Algorithm, rfPowerCapability RFPowerCapability, psCapability PSCapability, ssScreeningIndicator SSScreeningIndicator, smCapability SMCapability, vbs VBS, vgcs VGCS, frequencyCapability FrequencyCapability, cm3 CM3, ucs2Treatment UCS2Treatment OPTIONAL, lcsVACapability LCSVACapability, soLSA SoLSA, cmServicePrompt CMServicePrompt, a53Algorithm A53Algorithm, a52Algorithm A52Algorithm }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 GSM 24.008 v9.3.0 | |||||||||
---|---|---|---|---|---|---|---|---|---|
8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | ||
Octet 1 | 0 | IEI | |||||||
Octet 2 | Length | ||||||||
Octet 3 | 0 | Revision Level | ES | A5/1 | RF | ||||
Octet 4 | 0 | PS | SS Screening | SM | VBS | VGCS | Frequency Cap. | ||
Octet 5 | CM3 | 0 | LCSVA | UCS2 | SoLSA | CMSP | A5/3 | A5/2 |
Modifier and Type | Class and Description |
---|---|
static class |
MSClassmark.MSClassmark2.A51Algorithm
MSClassmark2 A5/1 Algorithm constants.
|
static class |
MSClassmark.MSClassmark2.A52Algorithm
MSClassmark2 A5/2 Algorithm constants.
|
static class |
MSClassmark.MSClassmark2.A53Algorithm
MSClassmark2 A5/3 Algorithm constants.
|
static class |
MSClassmark.MSClassmark2.CM3
MSClassmark2 CM3 constants.
|
static class |
MSClassmark.MSClassmark2.CMServicePrompt
MSClassmask2 CM Service Prompt constants.
|
static class |
MSClassmark.MSClassmark2.ESIndicator
MSClassmark2 Controlled Early Classmark Sending Indicator constants.
|
static class |
MSClassmark.MSClassmark2.FrequencyCapability
MSClassmark2 Frequency Capability constants.
|
static class |
MSClassmark.MSClassmark2.LCSVACapability
MSClassmask2 LCS value added location request notification capability constants.
|
static class |
MSClassmark.MSClassmark2.PSCapability
MSClassmark2 pseudo-synchronization capabilty constants.
|
static class |
MSClassmark.MSClassmark2.RevisionLevel
MSClassmark2 Revision Level constants.
|
static class |
MSClassmark.MSClassmark2.RFPowerCapability
MSClassmark2 RF Power Capability constants.
|
static class |
MSClassmark.MSClassmark2.SMCapability
MSClassmark2 SM Capability constants.
|
static class |
MSClassmark.MSClassmark2.SoLSA
MSClassmask2 SoLSA constants.
|
static class |
MSClassmark.MSClassmark2.SSScreeningIndicator
MSClassmark2 supplementary service screening indicator constants.
|
static class |
MSClassmark.MSClassmark2.UCS2Treatment
MSClassmark2 UCS2Treatment constants.
|
static class |
MSClassmark.MSClassmark2.VBS
MSClassmark2 VBS notification reception constants.
|
static class |
MSClassmark.MSClassmark2.VGCS
MSClassmark2 VGCS notification reception constants.
|
isDecoded
encoded
FIELD_ABSENT, FIELD_UNINITIALISED
Constructor and Description |
---|
MSClassmark.MSClassmark2()
Constructs a new MSClassmark2 object with no fields set.
|
MSClassmark.MSClassmark2(byte[] data)
Constructs a new MSClassmark2 object from network-encoded data.
|
MSClassmark.MSClassmark2(byte[] data,
int start,
int len)
Constructs a new MSClassmark2 object from part of network-encoded data.
|
MSClassmark.MSClassmark2(DataInput in)
Constructs a new MSClassmark2 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.
|
MSClassmark.MSClassmark2 |
clone()
Constructs a copy of this object and everything reachable from it.
|
static MSClassmark.MSClassmark2 |
copyOf(MSClassmark.MSClassmark2 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.
|
MSClassmark.MSClassmark2.A51Algorithm |
getA51Algorithm()
Gets the value of the A5/1 algorithm supported indicator.
|
MSClassmark.MSClassmark2.A52Algorithm |
getA52Algorithm()
Gets the value of the A5/2 algorithm supported indicator.
|
MSClassmark.MSClassmark2.A53Algorithm |
getA53Algorithm()
Gets the value of the A5/3 algorithm supported indicator.
|
MSClassmark.MSClassmark2.CM3 |
getCM3()
Gets the value of the CM3 indicator.
|
MSClassmark.MSClassmark2.CMServicePrompt |
getCMServicePrompt()
Gets the value of the CM service prompt indicator.
|
byte[] |
getEncodedForm()
Gets the encoded form.
|
MSClassmark.MSClassmark2.ESIndicator |
getESIndicator()
Gets the value of the controlled early classmark sending indicator.
|
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.
|
MSClassmark.MSClassmark2.FrequencyCapability |
getFrequencyCapability()
Gets the value of the frequency capability.
|
int |
getIEI()
Gets the value of the Information Element Identifier.
|
MSClassmark.MSClassmark2.LCSVACapability |
getLCSVACapability()
Gets the value of the LCS value added location request notification capability.
|
MSClassmark.MSClassmark2.PSCapability |
getPSCapability()
Gets the value of the PS capability.
|
MSClassmark.MSClassmark2.RevisionLevel |
getRevisionLevel()
Gets the value of the revision level.
|
MSClassmark.MSClassmark2.RFPowerCapability |
getRFPowerCapability()
Gets the value of the RF power capability.
|
MSClassmark.MSClassmark2.SMCapability |
getSMCapability()
Gets the value of the SM capability.
|
MSClassmark.MSClassmark2.SoLSA |
getSoLSA()
Gets the value of the SoLSA indicator.
|
MSClassmark.MSClassmark2.SSScreeningIndicator |
getSSScreeningIndicator()
Gets the value of the SS Screening indicator.
|
MSClassmark.MSClassmark2.UCS2Treatment |
getUCS2Treatment()
Gets the value of the UCS2 indicator; mandatory for R_99 and later RevisionLevel.
|
MSClassmark.MSClassmark2.VBS |
getVBS()
Gets the value of the VBS notification reception indicator.
|
MSClassmark.MSClassmark2.VGCS |
getVGCS()
Gets the value of the VGCS notification reception indicator.
|
boolean |
hasA51Algorithm()
Tests whether the field A51Algorithm has a value.
|
boolean |
hasA52Algorithm()
Tests whether the field A52Algorithm has a value.
|
boolean |
hasA53Algorithm()
Tests whether the field A53Algorithm has a value.
|
boolean |
hasCM3()
Tests whether the field CM3 has a value.
|
boolean |
hasCMServicePrompt()
Tests whether the field CMServicePrompt has a value.
|
boolean |
hasESIndicator()
Tests whether the field ESIndicator has a value.
|
boolean |
hasFrequencyCapability()
Tests whether the field FrequencyCapability has a value.
|
boolean |
hasIEI()
Tests whether the field IEI has a value.
|
boolean |
hasLCSVACapability()
Tests whether the field LCSVACapability has a value.
|
boolean |
hasPSCapability()
Tests whether the field PSCapability has a value.
|
boolean |
hasRevisionLevel()
Tests whether the field RevisionLevel has a value.
|
boolean |
hasRFPowerCapability()
Tests whether the field RFPowerCapability has a value.
|
boolean |
hasSMCapability()
Tests whether the field SMCapability has a value.
|
boolean |
hasSoLSA()
Tests whether the field SoLSA has a value.
|
boolean |
hasSSScreeningIndicator()
Tests whether the field SSScreeningIndicator has a value.
|
boolean |
hasUCS2Treatment()
Tests whether the field UCS2Treatment has a value.
|
boolean |
hasVBS()
Tests whether the field VBS has a value.
|
boolean |
hasVGCS()
Tests whether the field VGCS has a value.
|
MSClassmark.MSClassmark2 |
setA51Algorithm(MSClassmark.MSClassmark2.A51Algorithm value)
Sets the value of the A5/1 algorithm supported indicator.
|
MSClassmark.MSClassmark2 |
setA52Algorithm(MSClassmark.MSClassmark2.A52Algorithm value)
Sets the value of the A5/2 algorithm supported indicator.
|
MSClassmark.MSClassmark2 |
setA53Algorithm(MSClassmark.MSClassmark2.A53Algorithm value)
Sets the value of the A5/3 algorithm supported indicator.
|
MSClassmark.MSClassmark2 |
setCM3(MSClassmark.MSClassmark2.CM3 value)
Sets the value of the CM3 indicator.
|
MSClassmark.MSClassmark2 |
setCMServicePrompt(MSClassmark.MSClassmark2.CMServicePrompt value)
Sets the value of the CM service prompt indicator.
|
MSClassmark.MSClassmark2 |
setESIndicator(MSClassmark.MSClassmark2.ESIndicator value)
Sets the value of the controlled early classmark sending indicator.
|
MSClassmark.MSClassmark2 |
setFrequencyCapability(MSClassmark.MSClassmark2.FrequencyCapability value)
Sets the value of the frequency capability.
|
MSClassmark.MSClassmark2 |
setIEI(int value)
Sets the value of the Information Element Identifier.
|
MSClassmark.MSClassmark2 |
setIEIPresent(boolean flag)
Sets the presence or absence of the field IEI.
|
MSClassmark.MSClassmark2 |
setLCSVACapability(MSClassmark.MSClassmark2.LCSVACapability value)
Sets the value of the LCS value added location request notification capability.
|
MSClassmark.MSClassmark2 |
setPSCapability(MSClassmark.MSClassmark2.PSCapability value)
Sets the value of the PS capability.
|
MSClassmark.MSClassmark2 |
setRevisionLevel(MSClassmark.MSClassmark2.RevisionLevel value)
Sets the value of the revision level.
|
MSClassmark.MSClassmark2 |
setRFPowerCapability(MSClassmark.MSClassmark2.RFPowerCapability value)
Sets the value of the RF power capability.
|
MSClassmark.MSClassmark2 |
setSMCapability(MSClassmark.MSClassmark2.SMCapability value)
Sets the value of the SM capability.
|
MSClassmark.MSClassmark2 |
setSoLSA(MSClassmark.MSClassmark2.SoLSA value)
Sets the value of the SoLSA indicator.
|
MSClassmark.MSClassmark2 |
setSSScreeningIndicator(MSClassmark.MSClassmark2.SSScreeningIndicator value)
Sets the value of the SS Screening indicator.
|
MSClassmark.MSClassmark2 |
setUCS2Treatment(MSClassmark.MSClassmark2.UCS2Treatment value)
Sets the value of the UCS2 indicator; mandatory for R_99 and later RevisionLevel.
|
MSClassmark.MSClassmark2 |
setVBS(MSClassmark.MSClassmark2.VBS value)
Sets the value of the VBS notification reception indicator.
|
MSClassmark.MSClassmark2 |
setVGCS(MSClassmark.MSClassmark2.VGCS value)
Sets the value of the VGCS notification reception indicator.
|
void |
toStream(DataOutput out)
Serializes this object to a stream in a form suitable for reading by
MSClassmark.MSClassmark2(DataInput) . |
checkDecode, checkModifyAndDecode
equals, hashCode, toString
checkModify, isReadOnly, setReadOnly
public MSClassmark.MSClassmark2()
public MSClassmark.MSClassmark2(byte[] data)
data
- network-encoded dataNullPointerException
- if data is nullpublic MSClassmark.MSClassmark2(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 MSClassmark.MSClassmark2(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
MSClassmark.MSClassmark2(DataInput)
.toStream
in interface FastSerializable
out
- the stream to write toIOException
- if an I/O error occurspublic boolean hasIEI() throws DecodeException
DecodeException
- if encoded state cannot be decodedpublic MSClassmark.MSClassmark2 setIEIPresent(boolean flag) throws IllegalStateException
flag
- whether the field should be marked as presentIllegalStateException
- if this instance has been marked as read-onlypublic boolean hasRevisionLevel() throws DecodeException
DecodeException
- if encoded state cannot be decodedpublic boolean hasESIndicator() throws DecodeException
DecodeException
- if encoded state cannot be decodedpublic boolean hasA51Algorithm() throws DecodeException
DecodeException
- if encoded state cannot be decodedpublic boolean hasRFPowerCapability() throws DecodeException
DecodeException
- if encoded state cannot be decodedpublic boolean hasPSCapability() throws DecodeException
DecodeException
- if encoded state cannot be decodedpublic boolean hasSSScreeningIndicator() throws DecodeException
DecodeException
- if encoded state cannot be decodedpublic boolean hasSMCapability() throws DecodeException
DecodeException
- if encoded state cannot be decodedpublic boolean hasVBS() throws DecodeException
DecodeException
- if encoded state cannot be decodedpublic boolean hasVGCS() throws DecodeException
DecodeException
- if encoded state cannot be decodedpublic boolean hasFrequencyCapability() throws DecodeException
DecodeException
- if encoded state cannot be decodedpublic boolean hasCM3() throws DecodeException
DecodeException
- if encoded state cannot be decodedpublic boolean hasLCSVACapability() throws DecodeException
DecodeException
- if encoded state cannot be decodedpublic boolean hasUCS2Treatment() throws DecodeException
DecodeException
- if encoded state cannot be decodedpublic boolean hasSoLSA() throws DecodeException
DecodeException
- if encoded state cannot be decodedpublic boolean hasCMServicePrompt() throws DecodeException
DecodeException
- if encoded state cannot be decodedpublic boolean hasA53Algorithm() throws DecodeException
DecodeException
- if encoded state cannot be decodedpublic boolean hasA52Algorithm() 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 int getIEI() throws DecodeException
DecodeException
- if encoded state cannot be decodedpublic MSClassmark.MSClassmark2.RevisionLevel getRevisionLevel() throws DecodeException
DecodeException
- if encoded state cannot be decodedpublic MSClassmark.MSClassmark2.ESIndicator getESIndicator() throws DecodeException
DecodeException
- if encoded state cannot be decodedpublic MSClassmark.MSClassmark2.A51Algorithm getA51Algorithm() throws DecodeException
DecodeException
- if encoded state cannot be decodedpublic MSClassmark.MSClassmark2.RFPowerCapability getRFPowerCapability() throws DecodeException
DecodeException
- if encoded state cannot be decodedpublic MSClassmark.MSClassmark2.PSCapability getPSCapability() throws DecodeException
DecodeException
- if encoded state cannot be decodedpublic MSClassmark.MSClassmark2.SSScreeningIndicator getSSScreeningIndicator() throws DecodeException
DecodeException
- if encoded state cannot be decodedpublic MSClassmark.MSClassmark2.SMCapability getSMCapability() throws DecodeException
DecodeException
- if encoded state cannot be decodedpublic MSClassmark.MSClassmark2.VBS getVBS() throws DecodeException
DecodeException
- if encoded state cannot be decodedpublic MSClassmark.MSClassmark2.VGCS getVGCS() throws DecodeException
DecodeException
- if encoded state cannot be decodedpublic MSClassmark.MSClassmark2.FrequencyCapability getFrequencyCapability() throws DecodeException
DecodeException
- if encoded state cannot be decodedpublic MSClassmark.MSClassmark2.CM3 getCM3() throws DecodeException
DecodeException
- if encoded state cannot be decodedpublic MSClassmark.MSClassmark2.LCSVACapability getLCSVACapability() throws DecodeException
DecodeException
- if encoded state cannot be decodedpublic MSClassmark.MSClassmark2.UCS2Treatment getUCS2Treatment() throws DecodeException
DecodeException
- if encoded state cannot be decodedpublic MSClassmark.MSClassmark2.SoLSA getSoLSA() throws DecodeException
DecodeException
- if encoded state cannot be decodedpublic MSClassmark.MSClassmark2.CMServicePrompt getCMServicePrompt() throws DecodeException
DecodeException
- if encoded state cannot be decodedpublic MSClassmark.MSClassmark2.A53Algorithm getA53Algorithm() throws DecodeException
DecodeException
- if encoded state cannot be decodedpublic MSClassmark.MSClassmark2.A52Algorithm getA52Algorithm() throws DecodeException
DecodeException
- if encoded state cannot be decodedpublic MSClassmark.MSClassmark2 setIEI(int value) throws IllegalStateException
value
- int representation of the Information Element IdentifierIllegalStateException
public MSClassmark.MSClassmark2 setRevisionLevel(MSClassmark.MSClassmark2.RevisionLevel value) throws IllegalStateException
value
- RevisionLevel representation of the revision levelIllegalStateException
public MSClassmark.MSClassmark2 setESIndicator(MSClassmark.MSClassmark2.ESIndicator value) throws IllegalStateException
value
- ESIndicator representation of the controlled early classmark sending indicatorIllegalStateException
public MSClassmark.MSClassmark2 setA51Algorithm(MSClassmark.MSClassmark2.A51Algorithm value) throws IllegalStateException
value
- A51Algorithm representation of the A5/1 algorithm supported indicatorIllegalStateException
public MSClassmark.MSClassmark2 setRFPowerCapability(MSClassmark.MSClassmark2.RFPowerCapability value) throws IllegalStateException
value
- RFPowerCapability representation of the RF power capabilityIllegalStateException
public MSClassmark.MSClassmark2 setPSCapability(MSClassmark.MSClassmark2.PSCapability value) throws IllegalStateException
value
- PSCapability representation of the PS capabilityIllegalStateException
public MSClassmark.MSClassmark2 setSSScreeningIndicator(MSClassmark.MSClassmark2.SSScreeningIndicator value) throws IllegalStateException
value
- SSScreeningIndicator representation of the SS Screening indicatorIllegalStateException
public MSClassmark.MSClassmark2 setSMCapability(MSClassmark.MSClassmark2.SMCapability value) throws IllegalStateException
value
- SMCapability representation of the SM capabilityIllegalStateException
public MSClassmark.MSClassmark2 setVBS(MSClassmark.MSClassmark2.VBS value) throws IllegalStateException
value
- VBS representation of the VBS notification reception indicatorIllegalStateException
public MSClassmark.MSClassmark2 setVGCS(MSClassmark.MSClassmark2.VGCS value) throws IllegalStateException
value
- VGCS representation of the VGCS notification reception indicatorIllegalStateException
public MSClassmark.MSClassmark2 setFrequencyCapability(MSClassmark.MSClassmark2.FrequencyCapability value) throws IllegalStateException
value
- FrequencyCapability representation of the frequency capabilityIllegalStateException
public MSClassmark.MSClassmark2 setCM3(MSClassmark.MSClassmark2.CM3 value) throws IllegalStateException
value
- CM3 representation of the CM3 indicatorIllegalStateException
public MSClassmark.MSClassmark2 setLCSVACapability(MSClassmark.MSClassmark2.LCSVACapability value) throws IllegalStateException
value
- LCSVACapability representation of the LCS value added location request notification capabilityIllegalStateException
public MSClassmark.MSClassmark2 setUCS2Treatment(MSClassmark.MSClassmark2.UCS2Treatment value) throws IllegalStateException
value
- UCS2Treatment representation of the UCS2 indicator; mandatory for R_99 and later RevisionLevelIllegalStateException
public MSClassmark.MSClassmark2 setSoLSA(MSClassmark.MSClassmark2.SoLSA value) throws IllegalStateException
value
- SoLSA representation of the SoLSA indicatorIllegalStateException
public MSClassmark.MSClassmark2 setCMServicePrompt(MSClassmark.MSClassmark2.CMServicePrompt value) throws IllegalStateException
value
- CMServicePrompt representation of the CM service prompt indicatorIllegalStateException
public MSClassmark.MSClassmark2 setA53Algorithm(MSClassmark.MSClassmark2.A53Algorithm value) throws IllegalStateException
value
- A53Algorithm representation of the A5/3 algorithm supported indicatorIllegalStateException
public MSClassmark.MSClassmark2 setA52Algorithm(MSClassmark.MSClassmark2.A52Algorithm value) throws IllegalStateException
value
- A52Algorithm representation of the A5/2 algorithm supported indicatorIllegalStateException
public static MSClassmark.MSClassmark2 copyOf(MSClassmark.MSClassmark2 from)
from
- the object from which to copypublic MSClassmark.MSClassmark2 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 few or too many octets to be decoded