public final class ForwardCallIndicators extends AbstractLazyEncodedByteArray implements FastSerializable
The API offered by this class is as if the type were specified in ASN.1 as follows.
ForwardCallIndicators ::= SEQUENCE { international BOOLEAN, endToEndMethod EndToEndMethod, interworkingEncountered BOOLEAN, endToEndInfoAvailable BOOLEAN, iSDNUserPartUsedAllTheWay BOOLEAN, iSDNUserPartPreference ISDNUserPartPreference, originatingAccessISDN BOOLEAN, sCCPMethod SCCPMethod }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.763 (12/1999) §3.23 p32 | ||||||||
---|---|---|---|---|---|---|---|---|
8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | |
Octet 1 | ISDN user part preference | ISDN user part used all the way? | End-to-end info available? | Interworking encountered? | End-to-end method | International? | ||
Octet 2 | Reserved for national use | Spare | SCCP method | Originating access ISDN? |
Modifier and Type | Class and Description |
---|---|
static class |
ForwardCallIndicators.EndToEndMethod
End-to-end method indicator constants.
|
static class |
ForwardCallIndicators.ISDNUserPartPreference
ISDN user part preference indicator constants.
|
static class |
ForwardCallIndicators.SCCPMethod
Enumeration of SCCP method indicator constants.
|
isDecoded
encoded
FIELD_ABSENT, FIELD_UNINITIALISED
Constructor and Description |
---|
ForwardCallIndicators()
Constructs a new ForwardCallIndicators object with no fields set.
|
ForwardCallIndicators(boolean international,
ForwardCallIndicators.EndToEndMethod endToEndMethod,
boolean interworkingEncountered,
boolean endToEndInfoAvailable,
boolean iSDNUserPartUsedAllTheWay,
ForwardCallIndicators.ISDNUserPartPreference iSDNUserPartPreference,
boolean originatingAccessISDN,
ForwardCallIndicators.SCCPMethod sCCPMethod)
Constructs a new ForwardCallIndicators object from given values for all fields.
|
ForwardCallIndicators(byte[] data)
Constructs a new ForwardCallIndicators object from network-encoded data.
|
ForwardCallIndicators(byte[] data,
int start,
int len)
Constructs a new ForwardCallIndicators object from part of network-encoded data.
|
ForwardCallIndicators(DataInput in)
Constructs a new ForwardCallIndicators 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.
|
ForwardCallIndicators |
clone()
Constructs a copy of this object and everything reachable from it.
|
static ForwardCallIndicators |
copyOf(ForwardCallIndicators 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.
|
boolean |
getEndToEndInfoAvailable()
Gets the value of whether end-to-end information is available.
|
ForwardCallIndicators.EndToEndMethod |
getEndToEndMethod()
Gets the value of the end-to-end method 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.
|
boolean |
getInternational()
Gets the value of the national/international call indicator.
|
boolean |
getInterworkingEncountered()
Gets the value of the interworking indicator.
|
ForwardCallIndicators.ISDNUserPartPreference |
getISDNUserPartPreference()
Gets the value of the ISDN user part preference indicator.
|
boolean |
getISDNUserPartUsedAllTheWay()
Gets the value of whether ISDN user part is used all the way.
|
boolean |
getOriginatingAccessISDN()
Gets the value of the ISDN access indicator.
|
ForwardCallIndicators.SCCPMethod |
getSCCPMethod()
Gets the value of the SCCP method indicator.
|
boolean |
hasEndToEndInfoAvailable()
Tests whether the field EndToEndInfoAvailable has a value.
|
boolean |
hasEndToEndMethod()
Tests whether the field EndToEndMethod has a value.
|
boolean |
hasInternational()
Tests whether the field International has a value.
|
boolean |
hasInterworkingEncountered()
Tests whether the field InterworkingEncountered has a value.
|
boolean |
hasISDNUserPartPreference()
Tests whether the field ISDNUserPartPreference has a value.
|
boolean |
hasISDNUserPartUsedAllTheWay()
Tests whether the field ISDNUserPartUsedAllTheWay has a value.
|
boolean |
hasOriginatingAccessISDN()
Tests whether the field OriginatingAccessISDN has a value.
|
boolean |
hasSCCPMethod()
Tests whether the field SCCPMethod has a value.
|
ForwardCallIndicators |
setEndToEndInfoAvailable(boolean value)
Sets the value of whether end-to-end information is available.
|
ForwardCallIndicators |
setEndToEndInfoAvailablePresent(boolean flag)
Sets the presence or absence of the field EndToEndInfoAvailable.
|
ForwardCallIndicators |
setEndToEndMethod(ForwardCallIndicators.EndToEndMethod value)
Sets the value of the end-to-end method indicator.
|
ForwardCallIndicators |
setInternational(boolean value)
Sets the value of the national/international call indicator.
|
ForwardCallIndicators |
setInternationalPresent(boolean flag)
Sets the presence or absence of the field International.
|
ForwardCallIndicators |
setInterworkingEncountered(boolean value)
Sets the value of the interworking indicator.
|
ForwardCallIndicators |
setInterworkingEncounteredPresent(boolean flag)
Sets the presence or absence of the field InterworkingEncountered.
|
ForwardCallIndicators |
setISDNUserPartPreference(ForwardCallIndicators.ISDNUserPartPreference value)
Sets the value of the ISDN user part preference indicator.
|
ForwardCallIndicators |
setISDNUserPartUsedAllTheWay(boolean value)
Sets the value of whether ISDN user part is used all the way.
|
ForwardCallIndicators |
setISDNUserPartUsedAllTheWayPresent(boolean flag)
Sets the presence or absence of the field ISDNUserPartUsedAllTheWay.
|
ForwardCallIndicators |
setOriginatingAccessISDN(boolean value)
Sets the value of the ISDN access indicator.
|
ForwardCallIndicators |
setOriginatingAccessISDNPresent(boolean flag)
Sets the presence or absence of the field OriginatingAccessISDN.
|
ForwardCallIndicators |
setSCCPMethod(ForwardCallIndicators.SCCPMethod value)
Sets the value of the SCCP method indicator.
|
void |
toStream(DataOutput out)
Serializes this object to a stream in a form suitable for reading by
ForwardCallIndicators(DataInput) . |
checkDecode, checkModifyAndDecode
equals, hashCode, toString
checkModify, isReadOnly, setReadOnly
public ForwardCallIndicators()
public ForwardCallIndicators(byte[] data)
data
- network-encoded dataNullPointerException
- if data is nullpublic ForwardCallIndicators(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 ForwardCallIndicators(boolean international, ForwardCallIndicators.EndToEndMethod endToEndMethod, boolean interworkingEncountered, boolean endToEndInfoAvailable, boolean iSDNUserPartUsedAllTheWay, ForwardCallIndicators.ISDNUserPartPreference iSDNUserPartPreference, boolean originatingAccessISDN, ForwardCallIndicators.SCCPMethod sCCPMethod)
international
- the national/international call indicatorendToEndMethod
- the end-to-end method indicatorinterworkingEncountered
- the interworking indicatorendToEndInfoAvailable
- whether end-to-end information is availableiSDNUserPartUsedAllTheWay
- whether ISDN user part is used all the wayiSDNUserPartPreference
- the ISDN user part preference indicatororiginatingAccessISDN
- the ISDN access indicatorsCCPMethod
- the SCCP method indicatorpublic ForwardCallIndicators(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
ForwardCallIndicators(DataInput)
.toStream
in interface FastSerializable
out
- the stream to write toIOException
- if an I/O error occurspublic boolean hasInternational() throws DecodeException
DecodeException
- if encoded state cannot be decodedpublic ForwardCallIndicators setInternationalPresent(boolean flag) throws IllegalStateException
flag
- whether the field should be marked as presentIllegalStateException
- if this instance has been marked as read-onlypublic boolean hasEndToEndMethod() throws DecodeException
DecodeException
- if encoded state cannot be decodedpublic boolean hasInterworkingEncountered() throws DecodeException
DecodeException
- if encoded state cannot be decodedpublic ForwardCallIndicators setInterworkingEncounteredPresent(boolean flag) throws IllegalStateException
flag
- whether the field should be marked as presentIllegalStateException
- if this instance has been marked as read-onlypublic boolean hasEndToEndInfoAvailable() throws DecodeException
DecodeException
- if encoded state cannot be decodedpublic ForwardCallIndicators setEndToEndInfoAvailablePresent(boolean flag) throws IllegalStateException
flag
- whether the field should be marked as presentIllegalStateException
- if this instance has been marked as read-onlypublic boolean hasISDNUserPartUsedAllTheWay() throws DecodeException
DecodeException
- if encoded state cannot be decodedpublic ForwardCallIndicators setISDNUserPartUsedAllTheWayPresent(boolean flag) throws IllegalStateException
flag
- whether the field should be marked as presentIllegalStateException
- if this instance has been marked as read-onlypublic boolean hasISDNUserPartPreference() throws DecodeException
DecodeException
- if encoded state cannot be decodedpublic boolean hasOriginatingAccessISDN() throws DecodeException
DecodeException
- if encoded state cannot be decodedpublic ForwardCallIndicators setOriginatingAccessISDNPresent(boolean flag) throws IllegalStateException
flag
- whether the field should be marked as presentIllegalStateException
- if this instance has been marked as read-onlypublic boolean hasSCCPMethod() 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 boolean getInternational() throws DecodeException
DecodeException
- if encoded state cannot be decodedpublic ForwardCallIndicators.EndToEndMethod getEndToEndMethod() throws DecodeException
DecodeException
- if encoded state cannot be decodedpublic boolean getInterworkingEncountered() throws DecodeException
DecodeException
- if encoded state cannot be decodedpublic boolean getEndToEndInfoAvailable() throws DecodeException
DecodeException
- if encoded state cannot be decodedpublic boolean getISDNUserPartUsedAllTheWay() throws DecodeException
DecodeException
- if encoded state cannot be decodedpublic ForwardCallIndicators.ISDNUserPartPreference getISDNUserPartPreference() throws DecodeException
DecodeException
- if encoded state cannot be decodedpublic boolean getOriginatingAccessISDN() throws DecodeException
DecodeException
- if encoded state cannot be decodedpublic ForwardCallIndicators.SCCPMethod getSCCPMethod() throws DecodeException
DecodeException
- if encoded state cannot be decodedpublic ForwardCallIndicators setInternational(boolean value) throws IllegalStateException
value
- boolean representation of the national/international call indicatorIllegalStateException
public ForwardCallIndicators setEndToEndMethod(ForwardCallIndicators.EndToEndMethod value) throws IllegalStateException
value
- EndToEndMethod representation of the end-to-end method indicatorIllegalStateException
public ForwardCallIndicators setInterworkingEncountered(boolean value) throws IllegalStateException
value
- boolean representation of the interworking indicatorIllegalStateException
public ForwardCallIndicators setEndToEndInfoAvailable(boolean value) throws IllegalStateException
value
- boolean representation of whether end-to-end information is availableIllegalStateException
public ForwardCallIndicators setISDNUserPartUsedAllTheWay(boolean value) throws IllegalStateException
value
- boolean representation of whether ISDN user part is used all the wayIllegalStateException
public ForwardCallIndicators setISDNUserPartPreference(ForwardCallIndicators.ISDNUserPartPreference value) throws IllegalStateException
value
- ISDNUserPartPreference representation of the ISDN user part preference indicatorIllegalStateException
public ForwardCallIndicators setOriginatingAccessISDN(boolean value) throws IllegalStateException
value
- boolean representation of the ISDN access indicatorIllegalStateException
public ForwardCallIndicators setSCCPMethod(ForwardCallIndicators.SCCPMethod value) throws IllegalStateException
value
- SCCPMethod representation of the SCCP method indicatorIllegalStateException
public static ForwardCallIndicators copyOf(ForwardCallIndicators from)
from
- the object from which to copypublic ForwardCallIndicators 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 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.
Values of this type are of a fixed length, so that length
is returned if the data is long enough, otherwise 0 is returned.data
- network-encoded datastart
- index into data where value commenceslen
- length in data to be consideredprotected void encode() throws EncodeException
encode
in class AbstractLazyEncodedDataObject<byte[]>
EncodeException
- if EndToEndMethod is not in range [0,3] or ISDNUserPartPreference is not in range [0,3]protected void decode() throws DecodeException
decode
in class AbstractLazyEncodedDataObject<byte[]>
DecodeException
- if not 2 octets to be decoded