public final class HighLayerCompatibility extends AbstractLazyEncodedByteArray implements FastSerializable
The API offered by this class is as if the type were specified in ASN.1 as follows.
HighLayerCompatibility ::= SEQUENCE { codingStandard CodingStandard, interpretation Interpretation, presentation Presentation, characteristics Characteristics }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.17 p78 | ||||||||
---|---|---|---|---|---|---|---|---|
8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | |
Octet 3 | ext. 1 | Coding standard | Interpretation | Presentation method of protocol profile | ||||
Octet 4 | ext. 0/1 | High layer characteristics identification |
Modifier and Type | Class and Description |
---|---|
static class |
HighLayerCompatibility.Characteristics
Characteristics constants.
|
static class |
HighLayerCompatibility.CodingStandard
Coding standard constants.
|
static class |
HighLayerCompatibility.Interpretation
Interpretation constants.
|
static class |
HighLayerCompatibility.Presentation
Presentation constants.
|
isDecoded
encoded
FIELD_ABSENT, FIELD_UNINITIALISED
Constructor and Description |
---|
HighLayerCompatibility()
Constructs a new HighLayerCompatibility object with no fields set.
|
HighLayerCompatibility(byte[] data)
Constructs a new HighLayerCompatibility object from network-encoded data.
|
HighLayerCompatibility(byte[] data,
int start,
int len)
Constructs a new HighLayerCompatibility object from part of network-encoded data.
|
HighLayerCompatibility(DataInput in)
Constructs a new HighLayerCompatibility object from data deserialized from a stream that was written by
toStream(DataOutput) . |
HighLayerCompatibility(HighLayerCompatibility.CodingStandard codingStandard,
HighLayerCompatibility.Interpretation interpretation,
HighLayerCompatibility.Presentation presentation,
HighLayerCompatibility.Characteristics characteristics)
Constructs a new HighLayerCompatibility object from given values for all fields.
|
Modifier and Type | Method and Description |
---|---|
void |
checkFieldsSet()
Checks that all mandatory fields are present.
|
HighLayerCompatibility |
clone()
Constructs a copy of this object and everything reachable from it.
|
static HighLayerCompatibility |
copyOf(HighLayerCompatibility 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.
|
HighLayerCompatibility.Characteristics |
getCharacteristics()
Gets the value of the high layer characteristics identification.
|
HighLayerCompatibility.CodingStandard |
getCodingStandard()
Gets the value of the coding standard.
|
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.
|
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.
|
HighLayerCompatibility.Interpretation |
getInterpretation()
Gets the value of the interpretation.
|
HighLayerCompatibility.Presentation |
getPresentation()
Gets the value of the presentation method of protocol profile.
|
boolean |
hasCharacteristics()
Tests whether the field Characteristics has a value.
|
boolean |
hasCodingStandard()
Tests whether the field CodingStandard has a value.
|
boolean |
hasInterpretation()
Tests whether the field Interpretation has a value.
|
boolean |
hasPresentation()
Tests whether the field Presentation has a value.
|
HighLayerCompatibility |
setCharacteristics(HighLayerCompatibility.Characteristics value)
Sets the value of the high layer characteristics identification.
|
HighLayerCompatibility |
setCodingStandard(HighLayerCompatibility.CodingStandard value)
Sets the value of the coding standard.
|
HighLayerCompatibility |
setInterpretation(HighLayerCompatibility.Interpretation value)
Sets the value of the interpretation.
|
HighLayerCompatibility |
setPresentation(HighLayerCompatibility.Presentation value)
Sets the value of the presentation method of protocol profile.
|
void |
toStream(DataOutput out)
Serializes this object to a stream in a form suitable for reading by
HighLayerCompatibility(DataInput) . |
checkDecode, checkModifyAndDecode
equals, hashCode, toString
checkModify, isReadOnly, setReadOnly
public HighLayerCompatibility()
public HighLayerCompatibility(byte[] data)
data
- network-encoded dataNullPointerException
- if data is nullpublic HighLayerCompatibility(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 HighLayerCompatibility(HighLayerCompatibility.CodingStandard codingStandard, HighLayerCompatibility.Interpretation interpretation, HighLayerCompatibility.Presentation presentation, HighLayerCompatibility.Characteristics characteristics)
codingStandard
- the coding standardinterpretation
- the interpretationpresentation
- the presentation method of protocol profilecharacteristics
- the high layer characteristics identificationpublic HighLayerCompatibility(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
HighLayerCompatibility(DataInput)
.toStream
in interface FastSerializable
out
- the stream to write toIOException
- if an I/O error occurspublic boolean hasCodingStandard() throws DecodeException
DecodeException
- if encoded state cannot be decodedpublic boolean hasInterpretation() throws DecodeException
DecodeException
- if encoded state cannot be decodedpublic boolean hasPresentation() throws DecodeException
DecodeException
- if encoded state cannot be decodedpublic boolean hasCharacteristics() 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 HighLayerCompatibility.CodingStandard getCodingStandard() throws DecodeException
DecodeException
- if encoded state cannot be decodedpublic HighLayerCompatibility.Interpretation getInterpretation() throws DecodeException
DecodeException
- if encoded state cannot be decodedpublic HighLayerCompatibility.Presentation getPresentation() throws DecodeException
DecodeException
- if encoded state cannot be decodedpublic HighLayerCompatibility.Characteristics getCharacteristics() throws DecodeException
DecodeException
- if encoded state cannot be decodedpublic HighLayerCompatibility setCodingStandard(HighLayerCompatibility.CodingStandard value) throws IllegalStateException
value
- CodingStandard representation of the coding standardIllegalStateException
public HighLayerCompatibility setInterpretation(HighLayerCompatibility.Interpretation value) throws IllegalStateException
value
- Interpretation representation of the interpretationIllegalStateException
public HighLayerCompatibility setPresentation(HighLayerCompatibility.Presentation value) throws IllegalStateException
value
- Presentation representation of the presentation method of protocol profileIllegalStateException
public HighLayerCompatibility setCharacteristics(HighLayerCompatibility.Characteristics value) throws IllegalStateException
value
- Characteristics representation of the high layer characteristics identificationIllegalStateException
public static HighLayerCompatibility copyOf(HighLayerCompatibility from)
from
- the object from which to copypublic HighLayerCompatibility 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 CodingStandard is not in range [0,3] or Interpretation is not in range [0,7] or Presentation is not in range [0,3] or Characteristics is not in range [0,127]protected void decode() throws DecodeException
decode
in class AbstractLazyEncodedDataObject<byte[]>
DecodeException
- if not 2 octets to be decoded