public final class SSCode extends AbstractLazyEncodedNamedInteger<SSCode.EncodedValue> implements FastSerializable
The API offered by this class is as if the type were specified in ASN.1 as follows.
SSCode ::= SEQUENCE { encodedValue EncodedValue }
EncodedValue is a NamedInteger.
For each named value of the type, n
, the API defines three Java static fields:
a DataObject n
,
a NamedInteger EncodedValue.n
,
and an int EncodedValue._n
.
The encoding is based on the value definitions in ASN.1 module MAP-SS-Code in 3GPP TS 29.002 V10.0.0 (2010-09) pp405-407.
Modifier and Type | Class and Description |
---|---|
static class |
SSCode.EncodedValue
SSCode constants.
|
Modifier and Type | Field and Description |
---|---|
static SSCode |
ALL_ADDITIONAL_INFO_TRANSFER_SS
all additional information transfer SS
|
static SSCode |
ALL_BARRING_SS
all barring SS
|
static SSCode |
ALL_CALL_COMPLETION_SS
all Call completion SS
|
static SSCode |
ALL_CALL_OFFERING_SS
all call offering SS includes also all forwarding SS
|
static SSCode |
ALL_CALL_PRIORITY_SS
all call priority SS
|
static SSCode |
ALL_CHARGING_SS
all charging SS
|
static SSCode |
ALL_COMMUNITY_OF_INTEREST_SS
all community of interest SS
|
static SSCode |
ALL_COND_FORWARDING_SS
all conditional forwarding SS
|
static SSCode |
ALL_FORWARDING_SS
all forwarding SS
|
static SSCode |
ALL_LCS_PRIVACY_EXCEPTION
all LCS Privacy Exception Classes
|
static SSCode |
ALL_LINE_IDENTIFICATION_SS
all line identification SS
|
static SSCode |
ALL_MOLR_SS
all Mobile Originating Location Request Classes
|
static SSCode |
ALL_MULTIPARTY_SS
all multiparty SS
|
static SSCode |
ALL_NAME_IDENTIFICATION_SS
all name identification SS
|
static SSCode |
ALL_PLMN_SPECIFIC_SS |
static SSCode |
ALL_SS
all SS
|
static SSCode |
AOCC
advice of charge charging
|
static SSCode |
AOCI
advice of charge information
|
static SSCode |
AUTONOMOUS_SELF_LOCATION
allow an MS to perform self location without interaction with the PLMN for a predetermined period of time
|
static SSCode |
BAC_ROAM
barring of incoming calls when roaming outside home PLMN Country
|
static SSCode |
BAIC
barring of all incoming calls
|
static SSCode |
BAOC
barring of all outgoing calls
|
static SSCode |
BARRING_OF_INCOMING_CALLS
barring of incoming calls
|
static SSCode |
BARRING_OF_OUTGOING_CALLS
barring of outgoing calls
|
static SSCode |
BASIC_SELF_LOCATION
allow an MS to request its own location
|
static SSCode |
BOIC
barring of outgoing international calls
|
static SSCode |
BOIC_EX_HC
barring of outgoing international calls except those directed to the home PLMN
|
static SSCode |
CALL_SESSION_RELATED
allow location by any value added LCS client to which a call/session is established from the target MS
|
static SSCode |
CALL_SESSION_UNRELATED
allow location by designated external value added LCS clients
|
static SSCode |
CCBS_A
completion of call to busy subscribers, originating side
|
static SSCode |
CCBS_B
completion of call to busy subscribers, destination side
|
static SSCode |
CD
call deflection
|
static SSCode |
CFB
call forwarding on mobile subscriber busy
|
static SSCode |
CFNRC
call forwarding on mobile subscriber not reachable
|
static SSCode |
CFNRY
call forwarding on no reply
|
static SSCode |
CFU
call forwarding unconditional
|
static SSCode |
CLIP
calling line identification presentation
|
static SSCode |
CLIR
calling line identification restriction
|
static SSCode |
CNAP
calling name presentation
|
static SSCode |
COLP
connected line identification presentation
|
static SSCode |
COLR
connected line identification restriction
|
static SSCode |
CUG
closed user group
|
static SSCode |
CW
call waiting
|
static SSCode |
ECT
explicit call transfer
|
static SSCode |
EMLPP
enhanced Multilevel Precedence Pre-emption (EMLPP) service
|
static SSCode |
HOLD
call hold
|
static SSCode |
MAH
mobile access hunting
|
static SSCode |
MC
multicall
|
static SSCode |
MCI
malicious call identification
|
static SSCode |
MULTIPTY
multiparty
|
static SSCode |
PLMN_OPERATOR
allow location by designated PLMN operator LCS clients
|
static SSCode |
PLMN_SPECIFIC_SS_1 |
static SSCode |
PLMN_SPECIFIC_SS_2 |
static SSCode |
PLMN_SPECIFIC_SS_3 |
static SSCode |
PLMN_SPECIFIC_SS_4 |
static SSCode |
PLMN_SPECIFIC_SS_5 |
static SSCode |
PLMN_SPECIFIC_SS_6 |
static SSCode |
PLMN_SPECIFIC_SS_7 |
static SSCode |
PLMN_SPECIFIC_SS_8 |
static SSCode |
PLMN_SPECIFIC_SS_9 |
static SSCode |
PLMN_SPECIFIC_SS_A |
static SSCode |
PLMN_SPECIFIC_SS_B |
static SSCode |
PLMN_SPECIFIC_SS_C |
static SSCode |
PLMN_SPECIFIC_SS_D |
static SSCode |
PLMN_SPECIFIC_SS_E |
static SSCode |
PLMN_SPECIFIC_SS_F |
static SSCode |
TRANSFER_TOP_THIRD_PARTY
allow an MS to request transfer of its location to another LCS client
|
static SSCode |
UNIVERSAL
allow location by any LCS client
|
static SSCode |
UUS1
UUS1 user-to-user signalling
|
static SSCode |
UUS2
UUS2 user-to-user signalling
|
static SSCode |
UUS3
UUS3 user-to-user signalling
|
isDecoded
encoded
FIELD_ABSENT, FIELD_UNINITIALISED
Constructor and Description |
---|
SSCode()
Constructs a new SSCode object with no fields set.
|
SSCode(byte[] data)
Constructs a new SSCode object from network-encoded data.
|
SSCode(byte[] data,
int start,
int len)
Constructs a new SSCode object from part of network-encoded data.
|
SSCode(DataInput in)
Constructs a new SSCode object from data deserialized from a stream that was written by
toStream(DataOutput) . |
SSCode(int arg)
Constructs a new SSCode object from the given int,
making it be read-only (immutable).
|
SSCode(SSCode.EncodedValue encodedValue)
Constructs a new SSCode object from given values for all fields.
|
Modifier and Type | Method and Description |
---|---|
void |
checkFieldsSet()
Checks that all mandatory fields are present.
|
SSCode |
clone()
Constructs a copy of this object and everything reachable from it.
|
static SSCode |
copyOf(SSCode 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 SSCode.EncodedValue |
fromValue(int value)
Converts an int to a NamedInteger.
|
byte[] |
getByteArrayForm()
Gets the byte array encoded form.
|
SSCode.EncodedValue |
getEncodedForm()
Gets the encoded form.
|
SSCode.EncodedValue |
getEncodedValue()
Gets the value of the SSCode value.
|
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.
|
boolean |
hasEncodedValue()
Tests whether the field EncodedValue has a value.
|
SSCode |
setEncodedValue(SSCode.EncodedValue value)
Sets the value of the SSCode value.
|
void |
toStream(DataOutput out)
Serializes this object to a stream in a form suitable for reading by
SSCode(DataInput) . |
checkDecode, checkModifyAndDecode
equals, hashCode, toString
checkModify, isReadOnly, setReadOnly
public static final SSCode ALL_SS
public static final SSCode ALL_LINE_IDENTIFICATION_SS
public static final SSCode CLIP
public static final SSCode CLIR
public static final SSCode COLP
public static final SSCode COLR
public static final SSCode MCI
public static final SSCode ALL_NAME_IDENTIFICATION_SS
public static final SSCode CNAP
public static final SSCode ALL_FORWARDING_SS
public static final SSCode CFU
public static final SSCode ALL_COND_FORWARDING_SS
public static final SSCode CFB
public static final SSCode CFNRY
public static final SSCode CFNRC
public static final SSCode CD
public static final SSCode ALL_CALL_OFFERING_SS
public static final SSCode ECT
public static final SSCode MAH
public static final SSCode ALL_CALL_COMPLETION_SS
public static final SSCode CW
public static final SSCode HOLD
public static final SSCode CCBS_A
public static final SSCode CCBS_B
public static final SSCode MC
public static final SSCode ALL_MULTIPARTY_SS
public static final SSCode MULTIPTY
public static final SSCode ALL_COMMUNITY_OF_INTEREST_SS
public static final SSCode CUG
public static final SSCode ALL_CHARGING_SS
public static final SSCode AOCI
public static final SSCode AOCC
public static final SSCode ALL_ADDITIONAL_INFO_TRANSFER_SS
public static final SSCode UUS1
public static final SSCode UUS2
public static final SSCode UUS3
public static final SSCode ALL_BARRING_SS
public static final SSCode BARRING_OF_OUTGOING_CALLS
public static final SSCode BAOC
public static final SSCode BOIC
public static final SSCode BOIC_EX_HC
public static final SSCode BARRING_OF_INCOMING_CALLS
public static final SSCode BAIC
public static final SSCode BAC_ROAM
public static final SSCode ALL_CALL_PRIORITY_SS
public static final SSCode EMLPP
public static final SSCode ALL_LCS_PRIVACY_EXCEPTION
public static final SSCode UNIVERSAL
public static final SSCode CALL_SESSION_RELATED
public static final SSCode CALL_SESSION_UNRELATED
public static final SSCode PLMN_OPERATOR
public static final SSCode ALL_MOLR_SS
public static final SSCode BASIC_SELF_LOCATION
public static final SSCode AUTONOMOUS_SELF_LOCATION
public static final SSCode TRANSFER_TOP_THIRD_PARTY
public static final SSCode ALL_PLMN_SPECIFIC_SS
public static final SSCode PLMN_SPECIFIC_SS_1
public static final SSCode PLMN_SPECIFIC_SS_2
public static final SSCode PLMN_SPECIFIC_SS_3
public static final SSCode PLMN_SPECIFIC_SS_4
public static final SSCode PLMN_SPECIFIC_SS_5
public static final SSCode PLMN_SPECIFIC_SS_6
public static final SSCode PLMN_SPECIFIC_SS_7
public static final SSCode PLMN_SPECIFIC_SS_8
public static final SSCode PLMN_SPECIFIC_SS_9
public static final SSCode PLMN_SPECIFIC_SS_A
public static final SSCode PLMN_SPECIFIC_SS_B
public static final SSCode PLMN_SPECIFIC_SS_C
public static final SSCode PLMN_SPECIFIC_SS_D
public static final SSCode PLMN_SPECIFIC_SS_E
public static final SSCode PLMN_SPECIFIC_SS_F
public SSCode()
public SSCode(byte[] data)
data
- network-encoded dataNullPointerException
- if data is nullpublic SSCode(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 SSCode(SSCode.EncodedValue encodedValue)
encodedValue
- the SSCode valuepublic SSCode(int arg)
arg
- intpublic SSCode(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
SSCode(DataInput)
.toStream
in interface FastSerializable
out
- the stream to write toIOException
- if an I/O error occurspublic boolean hasEncodedValue() throws DecodeException
DecodeException
- if encoded state cannot be decodedpublic void checkFieldsSet() throws EncodeException
checkFieldsSet
in class AbstractLazyEncodedDataObject<SSCode.EncodedValue>
EncodeException
- if any mandatory field is not presentpublic SSCode.EncodedValue getEncodedValue() throws DecodeException
DecodeException
- if encoded state cannot be decodedpublic SSCode setEncodedValue(SSCode.EncodedValue value) throws IllegalStateException
value
- EncodedValue representation of the SSCode valueIllegalStateException
public static SSCode copyOf(SSCode from)
from
- the object from which to copypublic SSCode 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 SSCode.EncodedValue getEncodedForm() throws EncodeException
EncodeException
- if encoding failspublic byte[] getByteArrayForm() throws EncodeException
EncodeException
- if encoding failsprotected SSCode.EncodedValue fromValue(int value)
fromValue
in class AbstractLazyEncodedNamedInteger<SSCode.EncodedValue>
value
- intprotected void encode() throws EncodeException
encode
in class AbstractLazyEncodedDataObject<SSCode.EncodedValue>
EncodeException
- if EncodedValue is not in range [0,255]protected void decode() throws DecodeException
decode
in class AbstractLazyEncodedDataObject<SSCode.EncodedValue>
DecodeException
- if decoding fails