This branch adds a couple of features which allow using the RDS Surveyor JAR as a backend library for TMC applications (and possibly other RDS applications):
Most TMC message data is exposed as public members (final fields or getter methods; some previously existing getter methods were dropped in favor of public final fields)
If LTN and SID for a message are known (because they have previously been received), they can be injected into messages
Unknown events (with undefined event codes) are assigned a “special” update class so they don’t override other messages with valid codes
Destination and diversion locations in information blocks can be parsed
TMC Other Network (ON) information is stored in parseable form
Cancellation messages can optionally be stored
Encrypted TMC services are now detected and the correct LTN (LTNBE) is reported (decryption is not supported yet, though)
LocationComparator to sort TMC locations by their order along a linear feature
MessageVisitor which can be used e.g. for persistent storage of messages
Messages are now constructed via a public MessageBuilder, which can be used to reconstruct messages from persistent storage
Message duration type and nature are now stored with the message, rather than manipulating its constituent events
Location-related members were renamed for consistency: location or a synonym thereof to refer to resolved locations, lcid or fooLcid for location codes
TMCEvent and SupplementaryInfo instances are now immutable
This branch adds a couple of features which allow using the RDS Surveyor JAR as a backend library for TMC applications (and possibly other RDS applications):
LocationComparator
to sort TMC locations by their order along a linear featureMessageVisitor
which can be used e.g. for persistent storage of messagesMessageBuilder
, which can be used to reconstruct messages from persistent storagelocation
or a synonym thereof to refer to resolved locations,lcid
orfooLcid
for location codesTMCEvent
andSupplementaryInfo
instances are now immutableFor an example of an application which uses RDS Surveyor in this manner, look at https://gitlab.com/mvglasow/qz.