Package org.netxms.base
Class NXCPMessage
java.lang.Object
org.netxms.base.NXCPMessage
NXCP (NetXMS Communication Protocol) message
- 
Field SummaryFieldsModifier and TypeFieldDescriptionstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final int
- 
Constructor SummaryConstructorsConstructorDescriptionNXCPMessage(byte[] nxcpMessage, EncryptionContext ectx) Create NXCPMessage from binary NXCP messageNXCPMessage(int msgCode) Create new message with given code and ID 0.NXCPMessage(int msgCode, long msgId) Create new message with given code and ID.
- 
Method SummaryModifier and TypeMethodDescriptionbyte[]createNXCPMessage(boolean allowCompression) Create binary NXCP messagefindField(long fieldId) Find field by IDbyte[]Get data of raw message.longbyte[]getFieldAsBinary(long fieldId) Get field as byte arraybooleangetFieldAsBoolean(long fieldId) Get field as booleangetFieldAsDate(long fieldId) Get field as dategetFieldAsDouble(long fieldId) Get field as doublegetFieldAsInetAddress(long fieldId) Get field as InetAddressgetFieldAsInetAddressEx(long fieldId) Get field as InetAddressExshortgetFieldAsInt16(long fieldId) Get field as 16 bit integerintgetFieldAsInt32(long fieldId) Get field as 32 bit integerint[]getFieldAsInt32Array(long fieldId) Get field as array of 32 bit integersInteger[]getFieldAsInt32ArrayEx(long fieldId) Get field as array of 32 bit integerslonggetFieldAsInt64(long fieldId) Get field as 64 bit integergetFieldAsMacAddress(long fieldId) Get field as MacAddressgetFieldAsString(long fieldId) Get field as stringString[]getFieldAsStringArrayEx(long fieldId) Get field as array of 32 bit integerslong[]getFieldAsUInt32Array(long fieldId) Get field as array of 32 bit integersLong[]getFieldAsUInt32ArrayEx(long fieldId) Get field as array of 32 bit integersgetFieldAsUUID(long fieldId) Get field as UUID (GUID)intGet this message's codelongGet this message's IDgetStringListFromField(long fieldId) Get string list from fieldgetStringListFromFields(long baseId, long countId) Get string list from fieldsgetStringMapFromFields(long baseId, long countId) Get string map from fieldslongGet message timestampbooleanReturn true if message contains raw (binary) databooleanReturn true if message has "compressed" and "stream" flags setbooleanReturn true if message is a control messagebooleanReturn true if message has "don't encrypt" flag setbooleanReturn true if message has "end of file" flag setbooleanReturn true if message has "end of sequence" flag setbooleanisFieldPresent(long fieldId) Check if field with given ID present in the messagebooleanisStream()Return true if message has "stream" flags setvoidsetBinaryData(byte[] binaryData) Set data for raw message.voidsetBinaryMessage(boolean isRaw) Set or clear raw (binary) message flagvoidsetControl(boolean isControl) Set or clear control message flagvoidsetControlData(long controlData) voidsetEncryptionDisabled(boolean disabled) Set "don't encrypt" message flagvoidsetEndOfFile(boolean isEOF) Set end of file message flagvoidsetEndOfSequence(boolean isEOS) Set end of sequence message flagvoidsetField(long fieldId, boolean value) Set field of type INT16 to 1 if value is true and 0 otherwise.voidsetField(long fieldId, byte[] value) Set binary field from given byte arrayvoidsetField(long fieldId, int[] value) Set binary field from array of long integers.voidsetField(long fieldId, long[] value) Set binary field from array of long integers.voidSet field of DOUBLE typevoidSet binary field from array of integers.voidSet binary field from array of long integers.voidSet field of UTF8-STRING typevoidSet binary field from array of Strings.voidSet field of STRING or UTF8-STRING typevoidsetField(long fieldId, InetAddress value) Set field of INETADDR type<T extends Number>
 voidsetField(long fieldId, Collection<T> value) Set binary field from collection of integers.voidSet INT64 field from Date object to number of seconds since epoch.voidSet field of BINARY type to GUID value (byte array of length 16).voidsetField(long fieldId, InetAddressEx value) Set field of INETADDR typevoidsetField(long fieldId, MacAddress value) Set byte field from MacAddress object value.voidsetField(NXCPMessageField src) Set field as copy of another fieldvoidsetFieldInt16(long fieldId, int value) Set field of type INT16voidsetFieldInt32(long fieldId, int value) Set field of type INT32voidsetFieldInt64(long fieldId, long value) Set field of type INT64voidsetFieldJson(long fieldId, Object value) Set field of UTF8-STRING typevoidsetFieldsFromStringCollection(Collection<String> strings, long baseId, long countId) Set fields in message from string collectionvoidsetFieldsFromStringMap(Map<String, String> strings, long baseId, long countId) Set fields in message from string mapvoidsetFieldStringCollection(long fieldId, Collection<String> value) Set binary field from Strings collection.voidsetFieldUInt32(long fieldId, long value) Set field of type INT32 (unsigned)voidsetMessageCode(int msgCode) Set new message codevoidsetMessageId(long msgId) Set new message IDvoidsetStream(boolean isStream, boolean isCompressed) Set stream related message flagsvoidsetTimestamp(long timestamp) Set message timestamptoString()
- 
Field Details- 
HEADER_SIZEpublic static final int HEADER_SIZE- See Also:
 
- 
ENCRYPTION_HEADER_SIZEpublic static final int ENCRYPTION_HEADER_SIZE- See Also:
 
- 
MF_BINARYpublic static final int MF_BINARY- See Also:
 
- 
MF_END_OF_FILEpublic static final int MF_END_OF_FILE- See Also:
 
- 
MF_DONT_ENCRYPTpublic static final int MF_DONT_ENCRYPT- See Also:
 
- 
MF_END_OF_SEQUENCEpublic static final int MF_END_OF_SEQUENCE- See Also:
 
- 
MF_REVERSE_ORDERpublic static final int MF_REVERSE_ORDER- See Also:
 
- 
MF_CONTROLpublic static final int MF_CONTROL- See Also:
 
- 
MF_COMPRESSEDpublic static final int MF_COMPRESSED- See Also:
 
- 
MF_STREAMpublic static final int MF_STREAM- See Also:
 
 
- 
- 
Constructor Details- 
NXCPMessagepublic NXCPMessage(int msgCode) Create new message with given code and ID 0.- Parameters:
- msgCode- message code
 
- 
NXCPMessagepublic NXCPMessage(int msgCode, long msgId) Create new message with given code and ID.- Parameters:
- msgCode- message code
- msgId- message ID
 
- 
NXCPMessageCreate NXCPMessage from binary NXCP message- Parameters:
- nxcpMessage- NXCP message
- ectx- encryption context
- Throws:
- IOException- if internal byte stream error occurs (normally should not happen)
- NXCPException- if message cannot be parsed
 
 
- 
- 
Method Details- 
getMessageCodepublic int getMessageCode()Get this message's code- Returns:
- this message's code
 
- 
setMessageCodepublic void setMessageCode(int msgCode) Set new message code- Parameters:
- msgCode- new message code
 
- 
getMessageIdpublic long getMessageId()Get this message's ID- Returns:
- this message's ID
 
- 
setMessageIdpublic void setMessageId(long msgId) Set new message ID- Parameters:
- msgId- new message ID
 
- 
getTimestamppublic long getTimestamp()Get message timestamp- Returns:
- the timestamp
 
- 
setTimestamppublic void setTimestamp(long timestamp) Set message timestamp- Parameters:
- timestamp- new timestamp
 
- 
findFieldFind field by ID- Parameters:
- fieldId- field ID to find
- Returns:
- field with given ID or null
 
- 
isFieldPresentpublic boolean isFieldPresent(long fieldId) Check if field with given ID present in the message- Parameters:
- fieldId- field ID
- Returns:
- true if field with given ID present in the message
 
- 
setFieldSet field as copy of another field- Parameters:
- src- source field
 
- 
setFieldpublic void setField(long fieldId, byte[] value) Set binary field from given byte array- Parameters:
- fieldId- field ID
- value- binary value
 
- 
setFieldpublic void setField(long fieldId, long[] value) Set binary field from array of long integers. Each element will be converted to network byte order and then array will be serialized as array of bytes.- Parameters:
- fieldId- field ID
- value- value to be encoded
 
- 
setFieldpublic void setField(long fieldId, int[] value) Set binary field from array of long integers. Each element will be converted to network byte order and then array will be serialized as array of bytes.- Parameters:
- fieldId- field ID
- value- value to be encoded
 
- 
setFieldSet binary field from array of long integers. Each element will be converted to network byte order and then array will be serialized as array of bytes.- Parameters:
- fieldId- field ID
- value- value to be encoded
 
- 
setFieldSet binary field from array of integers. Each element will be converted to network byte order and then array will be serialized as array of bytes.- Parameters:
- fieldId- field ID
- value- value to be encoded
 
- 
setFieldSet binary field from collection of integers. Each element will be converted to 32 bit integer in network byte order and then array will be serialized as array of bytes.- Parameters:
- fieldId- field ID
- value- value to be encoded
 
- 
setFieldSet field of UTF8-STRING type- Parameters:
- fieldId- field ID
- value- string value
 
- 
setFieldSet field of STRING or UTF8-STRING type- Parameters:
- fieldId- field ID
- value- string value
- forceUcsEncoding- if true, UCS2 encoding will be used (STRING type)
 
- 
setFieldSet field of DOUBLE type- Parameters:
- fieldId- field ID
- value- floating point number value
 
- 
setFieldSet field of INETADDR type- Parameters:
- fieldId- field ID
- value- value to encode
 
- 
setFieldSet field of INETADDR type- Parameters:
- fieldId- field ID
- value- value to encode
 
- 
setFieldSet field of BINARY type to GUID value (byte array of length 16).- Parameters:
- fieldId- field ID
- value- value to encode
 
- 
setFieldInt64public void setFieldInt64(long fieldId, long value) Set field of type INT64- Parameters:
- fieldId- field ID
- value- integer value to encode
 
- 
setFieldInt32public void setFieldInt32(long fieldId, int value) Set field of type INT32- Parameters:
- fieldId- field ID
- value- integer value to encode
 
- 
setFieldUInt32public void setFieldUInt32(long fieldId, long value) Set field of type INT32 (unsigned)- Parameters:
- fieldId- field ID
- value- integer value to encode
 
- 
setFieldInt16public void setFieldInt16(long fieldId, int value) Set field of type INT16- Parameters:
- fieldId- field ID
- value- integer value to encode
 
- 
setFieldpublic void setField(long fieldId, boolean value) Set field of type INT16 to 1 if value is true and 0 otherwise.- Parameters:
- fieldId- field ID
- value- boolean value to encode
 
- 
setFieldSet INT64 field from Date object to number of seconds since epoch. If value is null, field will be set to 0.- Parameters:
- fieldId- field ID
- value- Date object (can be null)
 
- 
setFieldSet binary field from array of Strings.- Parameters:
- fieldId- field ID
- value- value to be encoded
 
- 
setFieldSet byte field from MacAddress object value. If value is null, field will not be set.- Parameters:
- fieldId- field ID
- value- MacAddress object (can be null)
 
- 
setFieldJsonSet field of UTF8-STRING type- Parameters:
- fieldId- field ID
- value- string value
 
- 
getFieldAsBinarypublic byte[] getFieldAsBinary(long fieldId) Get field as byte array- Parameters:
- fieldId- field ID
- Returns:
- field value as byte array
 
- 
getFieldAsStringGet field as string- Parameters:
- fieldId- field ID
- Returns:
- field value as string
 
- 
getFieldAsDoubleGet field as double- Parameters:
- fieldId- field id
- Returns:
- field value as double
 
- 
getFieldAsInt16public short getFieldAsInt16(long fieldId) Get field as 16 bit integer- Parameters:
- fieldId- field id
- Returns:
- field value as 16 bit integer
 
- 
getFieldAsInt32public int getFieldAsInt32(long fieldId) Get field as 32 bit integer- Parameters:
- fieldId- field id
- Returns:
- field value as 32 bit integer
 
- 
getFieldAsInt64public long getFieldAsInt64(long fieldId) Get field as 64 bit integer- Parameters:
- fieldId- field id
- Returns:
- field value as 64 bit integer
 
- 
getFieldAsInetAddressGet field as InetAddress- Parameters:
- fieldId- field id
- Returns:
- field value as IP address
 
- 
getFieldAsMacAddressGet field as MacAddress- Parameters:
- fieldId- field id
- Returns:
- field value as MAC address
 
- 
getFieldAsInetAddressExGet field as InetAddressEx- Parameters:
- fieldId- field ID
- Returns:
- field value as IP address
 
- 
getFieldAsUUIDGet field as UUID (GUID)- Parameters:
- fieldId- field ID
- Returns:
- field value as UUID
 
- 
getFieldAsUInt32Arraypublic long[] getFieldAsUInt32Array(long fieldId) Get field as array of 32 bit integers- Parameters:
- fieldId- field ID
- Returns:
- field value as array of long integers
 
- 
getFieldAsUInt32ArrayExGet field as array of 32 bit integers- Parameters:
- fieldId- field ID
- Returns:
- field value as array of Long objects
 
- 
getFieldAsInt32Arraypublic int[] getFieldAsInt32Array(long fieldId) Get field as array of 32 bit integers- Parameters:
- fieldId- field ID
- Returns:
- field value as array of long integers
 
- 
getFieldAsInt32ArrayExGet field as array of 32 bit integers- Parameters:
- fieldId- field ID
- Returns:
- field value as array of Long objects
 
- 
getFieldAsBooleanpublic boolean getFieldAsBoolean(long fieldId) Get field as boolean- Parameters:
- fieldId- field ID
- Returns:
- field value as boolean
 
- 
getFieldAsDateGet field as date- Parameters:
- fieldId- field ID
- Returns:
- field value as Date object
 
- 
createNXCPMessageCreate binary NXCP message- Parameters:
- allowCompression- true if message compression is allowed
- Returns:
- byte stream ready to send
- Throws:
- IOException- if write to underlying data output stream fails
 
- 
getBinaryDatapublic byte[] getBinaryData()Get data of raw message. Will return null if message is not a raw message.- Returns:
- Binary data of raw message
 
- 
setBinaryDatapublic void setBinaryData(byte[] binaryData) Set data for raw message.- Parameters:
- binaryData- data to set
 
- 
isBinaryMessagepublic boolean isBinaryMessage()Return true if message contains raw (binary) data- Returns:
- raw message flag
 
- 
setBinaryMessagepublic void setBinaryMessage(boolean isRaw) Set or clear raw (binary) message flag- Parameters:
- isRaw- true if message contains raw (binary) data
 
- 
isControlMessagepublic boolean isControlMessage()Return true if message is a control message- Returns:
- control message flag
 
- 
setControlpublic void setControl(boolean isControl) Set or clear control message flag- Parameters:
- isControl- true to set control message flag
 
- 
isEndOfFilepublic boolean isEndOfFile()Return true if message has "end of file" flag set- Returns:
- "end of file" flag
 
- 
setEndOfFilepublic void setEndOfFile(boolean isEOF) Set end of file message flag- Parameters:
- isEOF- true to set end of file message flag
 
- 
isEndOfSequencepublic boolean isEndOfSequence()Return true if message has "end of sequence" flag set- Returns:
- "end of file" flag
 
- 
setEndOfSequencepublic void setEndOfSequence(boolean isEOS) Set end of sequence message flag- Parameters:
- isEOS- true to set end of sequence message flag
 
- 
isEncryptionDisabledpublic boolean isEncryptionDisabled()Return true if message has "don't encrypt" flag set- Returns:
- "don't encrypr" flag
 
- 
setEncryptionDisabledpublic void setEncryptionDisabled(boolean disabled) Set "don't encrypt" message flag- Parameters:
- disabled- true to set "don't encrypt" message flag
 
- 
getControlDatapublic long getControlData()- Returns:
- the controlData
 
- 
setControlDatapublic void setControlData(long controlData) - Parameters:
- controlData- the controlData to set
 
- 
isStreampublic boolean isStream()Return true if message has "stream" flags set- Returns:
- "compressed stream" flag
 
- 
isCompressedStreampublic boolean isCompressedStream()Return true if message has "compressed" and "stream" flags set- Returns:
- "compressed stream" flag
 
- 
setStreampublic void setStream(boolean isStream, boolean isCompressed) Set stream related message flags- Parameters:
- isStream- true to set "stream" message flag
- isCompressed- true to set "compressed" message flag (ignored if isStream is false)
 
- 
setFieldsFromStringCollectionSet fields in message from string collection- Parameters:
- strings- strings collection
- baseId- base (first element) field ID
- countId- ID of field containing number of elements
 
- 
setFieldStringCollectionSet binary field from Strings collection.- Parameters:
- fieldId- field ID
- value- value to be encoded
 
- 
setFieldsFromStringMapSet fields in message from string map- Parameters:
- strings- string map
- baseId- base (first element) field ID
- countId- ID of field containing number of elements
 
- 
getStringListFromFieldsGet string list from fields- Parameters:
- baseId- base (first element) field ID
- countId- ID of field containing number of elements
- Returns:
- list of strings
 
- 
getStringListFromFieldGet string list from field- Parameters:
- fieldId- field ID
- Returns:
- list of strings
 
- 
getFieldAsStringArrayExGet field as array of 32 bit integers- Parameters:
- fieldId- field ID
- Returns:
- field value as array of Long objects
 
- 
getStringMapFromFieldsGet string map from fields- Parameters:
- baseId- base (first element) field ID
- countId- ID of field containing number of elements
- Returns:
- map of strings
 
- 
toString
 
-